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
相关文档:
index.jsp
<%@ page language="java" import="java.sql.*" import="java.lang.*" import="java.util.*" pageEncoding="GB2312"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%!
& ......
JSP中的COOKIE操作
Cookie概念:
Cookie的格式实际上是一段纯文本信息, 由服务器随着网页一起发送到客户端, 并保存在客户端硬盘中指定的目录的. 大家都传说Cookie会造成严重的安全威胁什么的, 其实不是这么回事情. 服务器读取Cookie的时候, 只能够读取到这个服务 ......
在访问JSP文件或者Servlet的时候,如果提示下载并保存,如下图所示:
同样的程序有的浏览器出错,有的浏览器不出错。错误的原因是设置MIME类型的代码有误。
如果是JSP文件,查看文件头:
<%@ page contentType="text/html;charset=gb2312"%>
如果是Servlet文件,查看:
response.setContentType("text/html;char ......
我先说明一下配置环境的大概情况:
* FreeBSD 7.0-RELEASE
* apache-2.2.9
* mod_jk-ap2-1.2.26
* diablo-jdk-1.6.0.07.02
* tomcat-6.0.16
具体的版本信息显示如下:
freebsd# pkg_info
apache-2.2.9_5 Version 2.2.x of Apache web server&nbs ......
在项目中,我们经常遇到需要在jsp页面切换中传递中文字符。这主要有两种方式。
URL方式,例如:http://website/test1.jsp?act=add&type=苹果¶m=%20D%20B
FORM方式,例如:
<form name=test mehtod="post">
<input type=hidden name=text2 value="中文">
<input type=t ......