zoukankan      html  css  js  c++  java
  • Servlet传递表单信息小案例的一些注意问题

    项目简介:

      包含登录界面(reg.jsp)、表单显示界面(userinfo.jsp)、用户属性封装包(entity.Users)、servlet获取表单数据包(servlet.RegServlet)。

    登录界面输入获得的信息,通过servlet获取表单数据,利用userinfo.jsp显示获得的用户信息。

    在此记录调试过程中出现的问题:

      在eclipse中自动配置servlet时:  @WebServlet(name = "RegServlet", asyncSupported = true, urlPatterns = { "/servlet/RegServlet" })   注意urlPatterns内容为{/包名/servlet类名}

    当不加包名时页面报错。

      用户类中:对于boolean类型的变量不要以is开头,会导致封装的方法出现一些问题。

      登录界面:主要就是form标签中的action属性,使用格式:<form action="servlet/RegServlet"></form>注意为包名加类名

      servlet获取表单:利用request.getParameter()方法对单个表单数据进行保存,利用用户类封装的方法对各个属性进行赋值,之后将所有保存的数据利用

    request.getSession().setAttribute("regUser", u);保存到session中。/*regUser为自定义的用户名*/,最后跳转到userinfo.jsp页面输出信息(方法:request.getRequestDispatcher("/userinfo.jsp").forward(req,resp);)

      表单显示:<jsp:useBean  id="regUser" class="entity.Users" scope="session"/>   //声明一个JavaBean

           <jsp:getProperty name="regUser" property="username"/>//获取信息

    补充语法:

    <jsp:useBean> 标签可以在JSP中声明一个JavaBean,然后使用。声明后,JavaBean对象就成了脚本变量,可以通过脚本元素或其他自定义标签来访问。<jsp:useBean>标签的语法格式如下:

    <jsp:useBean id="bean 的名字" scope="bean 的作用域" typeSpec/>


    下面插入RegServlet的代码以供参考
     1 package servlet;
     2 
     3 import java.io.IOException;
     4 
     5 import javax.servlet.ServletException;
     6 import javax.servlet.annotation.WebServlet;
     7 import javax.servlet.http.HttpServlet;
     8 import javax.servlet.http.HttpServletRequest;
     9 import javax.servlet.http.HttpServletResponse;
    10 
    11 import entity.Users;
    12 
    13 /**
    14  * Servlet implementation class RegServlet
    15  */
    16 @WebServlet(name = "RegServlet", asyncSupported = true, urlPatterns = { "/servlet/RegServlet" })
    17 public class RegServlet extends HttpServlet {
    18     private static final long serialVersionUID = 1L;
    19        
    20     /**
    21      * @see HttpServlet#HttpServlet()
    22      */
    23     public RegServlet() {
    24         super();
    25     }
    26 
    27     /**
    28      * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
    29      */
    30     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    31         doPost(request, response);
    32     }
    33 
    34     /**
    35      * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
    36      */
    37     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    38         request.setCharacterEncoding("utf-8");
    39         
    40         System.out.println("1");
    41         Users u = new Users();
    42         String username,mypassword,gender,email,introduce,isAccept;
    43         try 
    44         {
    45             username = request.getParameter("username");
    46             mypassword = request.getParameter("mypassword");
    47             gender = request.getParameter("gender");
    48             email = request.getParameter("email");
    49             introduce = request.getParameter("introduce");
    50             if(request.getParameter("isAccept")!=null)
    51             {
    52                 isAccept = "true";
    53             }
    54             else
    55             {
    56                 isAccept = "false";
    57             }
    58             System.out.println("2");
    59             u.setUsername(username);
    60             u.setMypassword(mypassword);
    61             u.setEmail(email);
    62             u.setGender(gender);
    63             u.setIntroduce(introduce);
    64             if(isAccept.equals("true"))
    65             {
    66                 u.setFlag(true);
    67             }
    68             else
    69             {
    70                 u.setFlag(false);
    71             }
    72             //把注册成功的用户信息保存到session中
    73             request.getSession().setAttribute("regUser", u);
    74             
    75             
    76             System.out.println("3");
    77             request.getRequestDispatcher("/userinfo.jsp").forward(request,response);
    78         }catch(Exception e)
    79         {
    80             e.printStackTrace();
    81         }
    82         
    83     }
    84 
    85 }
  • 相关阅读:
    产品开发协作流程
    iOS性能优化
    iOS地图国内和国外的偏差
    Apple技术支持
    iOS应用架构谈 网络层设计方案
    form表单重复被提交
    SpringBoot+filter+listener+拦截器
    SpringBoot中的异常处理
    谷歌浏览器突然不能使用,并且出现报错码"STATUS_INVALID_IMAGE_HASH"解决方法
    form提交(图片,excel其他文件)
  • 原文地址:https://www.cnblogs.com/haq123/p/9486654.html
Copyright © 2011-2022 走看看