session 对象
http 是一个无状态协议,每次客户端打开一个网页的时候,都会单独地打开一个服务器链接,服务器本身不会记录客户端之前的任何信息,使用 session 对象进行辅助,可以记录用户之前的请求信息,从而保证用户访问的连续状态,session 对象可以看作服务器上的保管箱,服务器可以通过 JSESSIONID 来区分不同的客户端,第一次通过客户端访问浏览器的时候,服务器会把 JSESSIONID 发送到客户端浏览器,以后每次客户端向服务器发送数据的时候都会将 JSESSIONID 发送到服务器,从而将服务器获取权限访问 session。
注意:可以通过查看 cookie 来找到 JSESSIONID。
下面我们完成一个利用 session 的小例子:
在一个 register.jsp 页面利用表单输入用户名和数据,接着在 do_register.jsp 利用 response.setAttribute 设置参数,然后在 welcome 页面通过 response.setAttribute 设置用户名,添加了注销功能,利用 session.invalidate() 消除 session 重新登录。
下面给出代码:
register.jsp:
- <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"
- %>
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>
- 注册
- </title>
- </head>
- <body>
- <form action="do_register.jsp" method="post">
- userName:
- <input type="text" name="userName" />
- <br/>
- password:
- <input type="password" name="password" />
- <br/>
- <input type="submit" value="submit" />
- <input type="reset" value="reset" />
- </form>
- </body>
- </html>
do_register.jsp:
- <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"
- %>
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <% String userName=r equest.getParameter( "userName"); String password=r
- equest.getParameter( "password"); if(userName !=n ull && password !=n ull)
- { session.setAttribute( "userName", userName); response.setHeader(
- "refresh", "2;URL=welcome.jsp"); } %>
welcome.jsp:
- <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"
- %>
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>
- 欢迎页面
- </title>
- </head>
- <body>
- <%if(session.getAttribute( "userName") !=n ull) { %>
- 欢迎:
- <%=session.getAttribute( "userName") %>
- <a href="logout.jsp">
- 注销
- </a>
- <br/>
- <% } else { %>
- 请先登陆
- <a href="register.jsp">
- 登陆
- </a>
- <% } %>
- <%if(session.isNew()) { %>
- <br/>
- 欢迎新用户!
- <% } else { %>
- 欢迎老用户!
- <% } %>
- </body>
- </html>
logout.jsp:
- <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"
- %>
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <% session.invalidate(); response.setHeader( "refresh",
- "2;URL=welcome.jsp"); %>
结果:
就爱阅读 www.92to.com 网友整理上传, 为您提供最全的知识大全, 期待您的分享,转载请注明出处。
来源: