码迷,mamicode.com
首页 > 其他好文 > 详细

使用Servlet技术~登录-02

时间:2015-01-26 15:02:21      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:

      为了更简洁的讲解,我只书写关键代码,只写思路。

      场景:对一个人的信息进行录入,然后展示出来。

      思路:

  1、登录信息录入<录入页面>  

       username,      [text]

       gender,          [radio]    (female/male男女,必须保证name一致,默认选中请设置:checked="checked")

       isAccept,        [checkbox] (保证name属性值一致)

       date birthday; [text]        (一般readonly,有专门的js文件) 例如:2014-01-26

       favorite          [checkbox] (保证name属性值一致)

 

  以上信息通过表单post提交给servlet.

 

  2、登录信息收集<Servlet的服务方法 doGet 或者 doPost方法>

          doGet方法内引用doPost方法,实现同样的代码功能。

          设置请求编码:request.setCharacterEncoding("utf-8");

          A、获取一般的页面所填的值。

      通过request.getParameter("name");其中name为页面中的name的属性名。

                 如:获取用户名:String username = request.getParameter("username");

          B、获取页面多个值的值。

                 通过request.getParameterValues("favorite");

                 如:获取爱好 String[] favorites = request.getParameterValues("favorite");

          C、针对日期,由于获取的是字符串,所以必须通过格式化来转成 java.util.Date类型。转换如下:

              SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

     Date birthday = sdf.parse(request.getParameter("birthday"));

 

              一般而言对于一个对象的信息,会建立一个对象,比如,此处为 Users对象,并提供 getter和setter方法。

             并将User对象设置到session当中。

      如:request.getSession().setAttribute("regUser", u);

             执行完成,页面转发:request.getRequestDispatcher("../userinfo.jsp").forward(request,response);

 

  3、展示收集信息<展示页面>

          由于,我已经录入的信息存入了一个名为regUser的session中,接下来就是取值展示出来。

         采用jsp标签:

         <jsp:useBean  id="regUser" class="entity.Users" scope="session"/>  (id为存入session中的键,class为是什么样的类型,scope是这个对象的作用域)

         然后根据 beanId 下的 属性来取出属性值:

         例如:取出用户名:<jsp:getProperty name="regUser" property="username"/>

         对于日期仍需要使用格式化:

         

    <%
      SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
      String date = sdf.format(regUser.getBirthday());

     %>
    <%=date%>

         对于爱好就需要遍历:

    <% 

      String[] favorites = regUser.getFavorites();
      for(String f:favorites)
      {%>
      <%=f%> 
      <%
      }
    %>

 

          相关扩展:

          

    <%
      String path = request.getContextPath();
      String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>

           <base href="<%=basePath%>"> basePath为访问路径,例如:http://localhost:8080/demo

 

          到此,完毕!

 

使用Servlet技术~登录-02

标签:

原文地址:http://www.cnblogs.com/wangdi0827/p/4250287.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!