小仙女 快速学会登陆注册

来源:互联网 发布:安徽航天信息开票软件 编辑:程序博客网 时间:2024/06/10 03:36

简单登陆注册的实现


public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {request.setCharacterEncoding("UTF-8");//字符String username = request.getParameter("username");//获取用户输入的名字String password = request.getParameter("password");//获取用户输入的密码request.setAttribute("username", username);//把输入的名字存在request里request.setAttribute("password", password);//第一次请求有效HttpSession session = request.getSession();session.setAttribute("m_username",username);//回话期间有效session.setAttribute("m_password",password);request.getRequestDispatcher("/success.jsp").forward(request, response);


这是第一次登陆效果




这是第二次登陆效果 



  request.setAttribute("result",username);
在request对象中加入名为result的属性并附值为username,因为request对象是可以更改的,
你可以在同一个请求中象这样访问这个属性。

虽然类似session,但与session是有所区别的,request.setAttribute设置的属性只能在当
前request只使用,比如你在Action中设置result属性,
需要到jsp页面中读取: 
  request.setAttribute("result",username);
requests.getRequestDispatcher("result.jsp").forward(request, respoe);
jsp页面获取该值:
request.getAttribute( "result");

因为一同将当前action的request与response对象都发送过来,相当于直接操作自身页面。 




session.invalidate();退出 登陆                  
<session-config>
<session-timeout>10</session-timeout>
</session-config>
设置时间退出                



  浏览器发送一次请求到服务器,服务器首先判断,该请求是否携带一个SessionID值
如果这次请求没有携带一个SessionID值,服务器就知道了,这是第一次来访问该服务器
浏览器与该服务器开始建立会话
服务器会在相应请求的同时,将产生一个SessionID,作为该次会话的标识
再把这个SessionID发给浏览器,浏览器就拥有一个SessionID了
当再次访问该服务器时,浏览器会携带那个SessionID,被传到服务器
服务器首先判断该请求是否携带一个SessionID值,此时有了,代表这不是一个新的会话的请求
如果浏览器两个请求之间的时间太长,超出服务器等待的时间,服务器会删除这个session对象
删除后,再次发送到该服务器,因为服务器里没有这个session对象了,就不能判断请求是否携带SessionID值
也就是说判断不出来,就认为这是一个新的会话开始,又会产生一个SessionID,作为这次新会话的标识
又把这个SessionID发给浏览器,浏览器就拥有一个新的SessionID了
在会话开始时,服务器会自动分配一个空间(session对象),SessionID就在session对象里 

(我就是标题党)

原创粉丝点击