##Sessionhtml
Session用于区分不一样的用户,每个session就表示一个用户。 在jsp中javax.servlet.http.HttpSession对象。 Session在实际的操做中主要的功能是判断用户是否登录。经常使用方法:java
No | 方法 | 描述 |
---|---|---|
1 | Public void setAttribute(String name,Object value) | 设置属性 |
2 | Public Object getAttribute(String name) | 取得属性 |
3 | Public void removeAttribute(String name) | 删除属性 |
4 | Public Boolean isNew() | 判断是不是新的session |
5 | Public String getId() | 返回sessionID |
6 | Public void invalidate() | 让session失效 |
7 | Public void setValue(String name),Object value) | 设置属性 |
8 | Public Object getValue(String name) | 取得属性 |
9 | Public void removeValue(String name) | 删除属性 |
setValue()之类的方法,是session最先的操做,若是在一些比较旧的书上可能会发现这样的用法,由于后来为了强调JSP中四种属性范围,因此将方法修改了。服务器
##2.session中的主要操做方法session
###1.1.取得sessionIDjsp
<%=session.getId()%>
###1.2.让session失效:注销spa
每次执行invalidate方法的时候,就表示session失效。 例子:code
<%=session.getId()%> //取得sessionID <% session.invalidate(); //让session失效 %>
###1.三、session的主要功能在于系统登陆上orm
在全部的系统之中,session对象中使用最多的操做就是设置和取得属性。 范例:login.jsphtm
<%@page contentType="text/html;charset=gbk"%> <center> <form action="login.jsp" method="get" > <table border="1" > <tr> <td colspan="2"><h1>登录界面</h1></td> </tr> <tr> <td>用户名:</td> <td><input type="text" name="name" /></td> </tr> <tr> <td>密 码:</td> <td><input type="password" name="pwd" /></td> </tr> <tr> <td colspan="2" align="center"> <input type="submit" value="提交" /> </td> </tr> </table> </form> <% String name=request.getParameter("name"); String pwd=request.getParameter("pwd"); if(!(("".equals(name) || name==null) &&( "".equals(pwd) || pwd==null ))){ if(name.length()>5 && pwd.length()>5){ session.setAttribute("name",name); response.sendRedirect("welcome.jsp"); } else{ %> <h2><%="用户名或密码错误"%></h2> <% } } %> </center>
范例:welcom.jsp对象
<%@ page contentType="text/html;charset=gbk"%> <% if(session.getAttribute("name")!=null){ %> <h1>欢迎光临!</h1> <h1><a href="loginout.jsp">注销</a></h1> <% }else{ %> <h1>请先<a href="login.jsp">登陆</a>!</h1> <% } %>
为程序加入注销功能的页面 范例:loginout.jsp
<% //注销session, session.invalidate(); %>
一个好的程序,应该加入验证码的操做。
###1.4判断是不是新的session
当用户第一次链接到服务器的时候,能够经过isNew()方法来判断此用户是不是新用户。 范例:判断新用户
<%@page contentType="text/html;charset=gbk"%> <h1> <% if(session.isNew()){ %> <%="欢迎新用户"%> <% }else{ %> <%="您是老用户了!"%> <% } %> </h1>
此方法的原理其实是在于Cookie的设置上,回顾一下 若是用户第一次访问服务器的话,Cookie中并不会存在JSESSIONID 而若是用户第二次访问的话,Cookie中已经存在了JSESSIONID,因此就不认为他是新用户了。
##SESSION与Cookie的关系