A. jsp中如何获取session的值 (第三方获取session的值)
<form action="Appear.jsp" method="get" name="form1">
<%
Object sessionValues=sessions.getAttribute("values1");
%>
从Session中取出值:<%=sessionValues %>
<br />
<input type="submit" name="submit" value="超链接" >
</form>
首先你要搞懂session 是什么东西,它的作用范围是什么!
Request 是在回一次答请求范围
Session 是在一次会话中,也就是说,你从一开始进入页面到你离开页面时,都属于一次会话当中,也就是说它的作用范围比Request要广,你在任何页面都可以用session.getAttribute("values");得到values的值!
所以若要会使用就要先知道是什么意思!
B. jsp 中设置session中 某一值的过期时间
jsp中设置session的超时时间是固定的,不能针对某一变量设置。
方法一:在web.xml中配置超时时内间:
<web-app ...>
容<session-config>
<session-timeout>20</session-timeout>
</session-config>
</web-app>
方法二:在应用程序中用setMaxInactiveInterval()方法设置:
HttpSession session = request.getSession();
session.setMaxInactiveInterval(20*60);
C. jsp页面上怎样获取message的值
message放在session 就可以用以下方法取:
D. jsp中session有哪些方法,都怎么用
Jsp的session是使用bean的一个生存期限,一般为page,session意思是在这个用户没有离开网站之前一直有效,如果无法判断用户何时离开,一般依据系统设定,tomcat中设定为30分钟.
我们使用seesion功能,可以达到多个jsp程序从操作同一个java bean, 那么这个java bean可以作为我们传统意义上的"全局变量池".(在java中我们可以使用static静态化一个变量和方法,使用singleton唯一化对象.)
在项目实践中,我们Jsp程序中很多参数需要从数据库中读取,有的参数实际读取一次就可以,如果设计成每个用户每产生一个页面都要读取数据库,很显然,数据库的负载很大,同时也浪费时间,虽然可能有数据库连接池优化,但是尽量少使用数据库是我们编程的原则.
比如,我们的test.jsp 和test1.jsp都需要得到一个参数userdir,这个userdir是从数据库中得知,使用session将大大优化性能,程序如下:
设计一个javabean 存储userdir.
public class UserEnv {
private String userdir = "";
private String userurl = "";
public UserEnv(){
//构建方法初始化userdir,可以从数据库中读取,这里简单给值ppp
userdir="pppp";
System.out.println("init userdir, one time");
}
public String getUserdir() throws Exception{
return userdir;
}
}
test1.jsp程序:
this is test1.jsp:
test2.jsp程序:
this is test2.jsp:
无论用户先调用test1.jsp还是test2.jsp, java bean UserEnv总是先初始化一次, 由于这个bean存在周期是seesion,因此该用户第二次以后只要在seesion有效期内再调用,myenv.getUserdir()将直接从bean内存中读取变量,不必再初始化.这样提高速度,又减少数据库访问量.
这样,我们就有了一个jsp程序之间共享变量或方法 的实现办法
E. jsp session 中属性的设置与数据填充
在你的jsp页面中就可以设置阿setAttribute("username",username);
在servlet,也可以设置,或者过滤器!专
一个sesstion存活于你正个属访问过程!
关闭浏览器,它会自动消亡!
当然你可以手动让它挂了,比如"退出系统"功能的设置