如何查看http session
第一次和服务器发起POST或是GET请求以后,通过getHeaderField方法获得SessionID,具体方法为:
String?session_value=getHeaderField("Set-Cookie");
这里得到的session_value可能不全是sessionId,还包含其他内容,用正则或者其他方法获得session_value中的sessionId的值就可以了
??第二次发起POST或是GET请求的时候需要把刚才获得的SessionID放置在请求的头部然后再提交,这样就能服务器就会认为是同一个Session请求了,具体方法为:setRequestProperty("Cookie",?session_value);这样就实现了保存session向服务器提交请求
实例代码:
URL?url?=?new?URL(link);
HttpURLConnection?urlConnection?=?(HttpURLConnection)?url.openConnection();
//get?session?info
session_value?=?urlConnection.getHeaderField("Set-Cookie");
String[]?sessionId?=?session_value.split(";");
//save?session?info
urlConnection.setRequestProperty("Cookie",?sessionId[0])
HttpSession是干什么用的啊?能实现哪些功能?
你听说过Session吗?
它是保存在服务器的一个标识,就想客户电脑上的Cookie。
我们常见的网站管理员和普通用户之间就是用Session来区分的。
你所说的HttpSession是JSP中经常使用的一个方法,准确的说,是Request中的一个方法,比如。
Session = request.getSession(true);
用于获取Session.
HttpSession session = ((HttpServletRequest) servletRequest).getSession(false);什么意思?为什么是false??
那个flase也可以空着,是一样的作用。
意思就是先检测Session是否存在,如果存在就返回当前Session,如果不存在就创建一个。
如果在后面那个括号中写上ture,它就不会去检测,不管当前是否存在Session都会去新创建一个。
java web! httpsession失效的三种方式是什么?
(1)在主页面或者公共页面中加入:session.setMaxInactiveInterval(900);参数900单位是秒,即在没有活动15分钟后,session将失效。
这里要注意这个session设置的时间是根据服务器来计算的,而不是客户端。
所以如果是在调试程序,应该是修改服务器端时间来测试,而不是客户端。
(2)也是比较通用的设置session失效时间的方法,就是在项目的web.xml中设置
<!-- 设置session失效,单位分 -->
<session-config>
<session-timeout>1</session-timeout>
</session-config>
(3)直接在应用服务器中设置,如果是tomcat,可以在tomcat目录下conf/web.xml中找到<session-config>元素,tomcat默认设置是30分钟,只要修改这个值就可以了。
httpsession中的SessionID是如何生成的?
//excel.java
.oicp.jing31;
import java.io.File;
import javax.servlet.http.HttpSessionListener;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSession;
public class excel implements HttpSessionListener
{
public void sessionCreated(HttpSessionEvent se)
{
}
public void sessionDestroyed(HttpSessionEvent se)
{
System.out.println("The session has been destoryed!!");
}
}
如何获得?
如何在JSP工程中填加自己的listener
我把web.xml文件里添加如下内容:
<listener>
<listener-class&.oicp.jing31.excel</listener-class>
</listener>
public void sessionDestroyed(HttpSessionEvent se)
{
System.out.println("sessionid: "+se.getSession().getId());
}