Chinaunix首页 | 论坛 | 博客
  • 博客访问: 681787
  • 博文数量: 845
  • 博客积分: 5000
  • 博客等级: 大校
  • 技术积分: 5015
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-15 16:22
文章分类

全部博文(845)

文章存档

2011年(1)

2008年(844)

我的朋友

分类:

2008-10-15 16:32:19

    Servlet的会话管理技术主要有4种:URL重写,Cookie,隐藏表单域以及HttpSession。下面的例子通过一个动态验证码的实例详细说明了这4种技术的具体应用方式。为了简单起见,动态验证码没有采用图片生成技术,其原理和效果与本例中相同。另外,为了代码结构的清晰性,在登录表单生成和登录验证部分都没有采用统一的代码。对这些代码稍作修改,就可以实现单一的表单生成Servlet和验证Servlet,感兴趣的朋友可以与我联系()。
    //**************************************   index.jsp代码:
    <%@ page contentType="text/html;charset=gb2312" %>
   
     
        Servlet会话管理实例
     

     
       

Servlet会话管理实例



        本实例通过实现用户登录过程中的动态验证码校验功能,说明4种Session管理方法的特点。

       


     
   

    //**************************************   web.xml内容:
   
   
     
        UrlRedirect
        UrlRedirect
     

     
        Login
        LoginWithUrlRedirect
     

     
        HiddenField
        HiddenField
     

     
        Cookie
        CookieManagement
     

     
        LoginWithCookie
        LoginWithCookie
     

     
        HttpSessionManagement
        HttpSessionManagement
     

     
        LoginWithSession
        LoginWithSession
     

     
        UrlRedirect
        /UrlRedirect
     

     
        Login
        /Login
     

     
        HiddenField
        /HiddenField
     

     
        Cookie
        /Cookie
     

     
        LoginWithCookie
        /LoginWithCookie
     

     
        HttpSessionManagement
        /HttpSessionManagement
     

     
        LoginWithSession
        /LoginWithSession
     

     
        index.jsp
     

   

    //**************************************   URL重写技术的登录表单生成Servlet
    import java.io.IOException;
    import java.io.PrintWriter;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;

    public class UrlRedirect extends HttpServlet {
     public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {

      response.setContentType("text/html;charset=gb2312");
      PrintWriter out = response.getWriter();
      int validationCode=(int)(Math.random()*1000);
      out.println("");
      out.println("URL重写");
      out.println("

通过URL重写实现会话管理


");
      out.println("
");
      out.println("用户名:
");
      out.println("密码: 
");
      out.println("验证码:"+validationCode);
      out.println("
");
      out.println("
");
      out.println("");
      out.println("");
      out.flush();
      out.close();
     }
    }

[1]   

【责编:Ken】

--------------------next---------------------

阅读(311) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~