jsp之session
session就是一个全局变量,是浏览器线程在服务器端的代理。web服务程序只要打开,session就会存在,当你第一次访问时,session会自动为你分配一个session ID,所以session为新建立的,所以session.isNew()为true。当你刷新页面时,这个session ID一直存在(session.getId()不变),不会消失,所以session.isNew()为false。除非你关闭你要访问的web站点,或则关闭session(session.invalidate()),这个session ID才会消失(session.getId()变了),isNew()为true。
两个方法 session.isNew() 判断是否是一个新session
session.getId() 得到这个session id
当关闭所有的浏览器,再重新登录的时候session.isNew()才会是true
当每次都新打开一个浏览器用不同的用户登录,session.isNew() 是为false。session.getId()是不变的,。
即:session id相当是打开一个浏览器进程(不是线程)时web服务器为本浏览器进程分配的id
常用方法:
long create_time = session.getCreationTime(); //session创建时间
long access_time = session.getLastAccessedTime();//session最后访问时间
//打印session里面的attribute值
Enumeration elements = session.getAttributeNames();
while (elements.hasMoreElements()) {
String id = (String)elements.nextElement();
}
response.setHeader("Refresh","5;url=/session_filter_listener/index.jsp");//每5秒钟刷新,然后定位到index.jsp
相关文档:
1.必须继承自HttpServlet
2.必须实现doGet()或者doPost()
3.必须在web.xml中配置Servlet
<servlet>
<servlet-name> </servlet-name>
<servlet-class> </servlet-class>
</servlet>
<servlet-mapping>
......
JSP中的COOKIE操作
Cookie概念:
Cookie的格式实际上是一段纯文本信息, 由服务器随着网页一起发送到客户端, 并保存在客户端硬盘中指定的目录的. 大家都传说Cookie会造成严重的安全威胁什么的, 其实不是这么回事情. 服务器读取Cookie的时候, 只能够读取到这个服务 ......
在网上看到一些帖子,总结了一些区别,可以从以下几个方面来看:
1.从地址栏显示来说
forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容
再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址.
redirect是服务端根据逻辑,发送一个状 ......
(1)利用<jsp:param name="paramName" value="paramValue"></jsp:param>其中name为与属性相关联的关键词,value为属性的值。
示例:传常量字符串<param name="userName" value="shilei"/>
示例:传变量 User user=new User("shilei");//User是一个类
&n ......