HttpSession的简单使用

来源:互联网 发布:如何评价周杰伦知乎 编辑:程序博客网 时间:2024/05/05 23:39

HttpSession常用方法

voidsetAttribute(String name, Object value)

设置属性值
ObjectgetAttribute(String name)
获取上面设定的值,注意反回的是Object,需要进行(强制转化)
voidinvalidate()
解除session的绑定

代码


<body><p>请输入用户名和密码:</p> <form id="login" method="post" action="./abc/LoginServlet">用户名:<input type="text" name="username" width="100"/><br/>密码:<input type="password" name="password" width="100"/> <br/><input type="submit" name="登录" value="上交表单"></form></body>


protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stubString encoding;ServletConfig config=this.getServletConfig();encoding=config.getInitParameter("encoding");request.setCharacterEncoding(encoding);response.setContentType("text/html;charset="+encoding);//设置编码PrintWriter out=response.getWriter();//获取输出到网页的对象HttpServletRequest requ=(HttpServletRequest)request;HttpSession session=requ.getSession();//获得sessionString uesrValue=(String)session.getAttribute("user");//获取session存储的属性值String params[]=session.getValueNames();//获得session里所有的属性名out.println("session中参数的个数:"+params.length+"<br/>");if(uesrValue==null){//还没有登录过String username=request.getParameter("username");//从表单中获取用户名String password=request.getParameter("password");//从表单中获取密码out.println("你还未登录<br/>");session.setAttribute("user", username);//设定session中的用户名session.setAttribute("password",password);//设定session中的密码out.println(session.getId());//打印session ID}else{String username=(String)session.getAttribute("user");//从session中获取用户名String password=(String)session.getAttribute("password");//从session获取密码out.println("用户名:"+username+"<br/>");out.println("密 码:"+password+"<br/>");session.invalidate();//使session无效}out.close();//Cookie里不能有中文//Cookie cookie1=new Cookie("usrname","bcd");//Cookie cookie2=new Cookie("password","buzhidao");//response.addCookie(cookie1);//response.addCookie(cookie2);//response.sendRedirect("/JavaEEDemo/first.jsp");}



运行结果

登录界面 


第一次登录

第二次登录


由于在第二次登录后,使session无效了,所以第三次与第一次登录session的id不同。

更多方法介绍请参阅http://docs.oracle.com/javaee/7/api/


0 0
原创粉丝点击