关于session JSP/SERVLET编程的书里面有讲。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://www.csdn.net/develop/Read_Article.asp?Id=19191 servlet里http://java.sun.com/products/servlet/2.2/javadoc/javax/servlet/http/HttpSession.htmljsp里直接用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程序:<%@ page contentType="text/html;charset=ISO8859_1" %> <jsp:useBean id="myenv" scope="session" class="mysite.UserEnv"/><html><head><title>Untitled</title><meta http-equiv="Content-Type" content="text/html; charset=gb2312"></head><body>this is test1.jsp:<%=myenv.getUserdir()%></body></html>test2.jsp程序:<%@ page contentType="text/html;charset=ISO8859_1" %> <jsp:useBean id="myenv" scope="session" class="mysite.UserEnv"/><html><head><title>Untitled</title><meta http-equiv="Content-Type" content="text/html; charset=gb2312"></head><body>this is test2.jsp:<%=myenv.getUserdir()%></body></html> 无论用户先调用test1.jsp还是test2.jsp, java bean UserEnv总是先初始化一次, 由于这个bean存在周期是seesion,因此该用户第二次以后只要在seesion有效期内再调用,myenv.getUserdir()将直接从bean内存中读取变量,不必再初始化.这样提高速度,又减少数据库访问量.这样,我们就有了一个jsp程序之间共享变量或方法 的实现办法. 1、session是jsp的内建变量,你不用创建,可以直接使用。<%session.setAttribute("user","wingerd");String userName=(String)session.getAttribute("user");%><%=userName%>就会在页面中得到wingerd这个字符串2、在servlet中使用是,当然要先得到这个session.HttpSession session=servlet.getSession(); 请问,在上面的代码中,在servlet中如何得到session对象呢,我的servlet是:public class Login extends HttpServlet {......}我要在这个servlet中利用session记录一些内容的话,应该使用一个什么语句呢,谢谢 session.setAttribute("session变量名","变量值"); 我在servlet中应该如何得到session呢是下面这条语句么HttpSession session=servlet.getSession();这里面的servlet是什么? 绘制图形问题 hibernate 标注 中外键的问题 散分,请教一个关于draw2d以及gis的问题。 关于AWT事件和图形 数值传递问题 一段字符串,求其中单词的个数。求大神 请问:this是什么? 取值? java 类的引用 两个java题不会,帮帮忙 [Good News]随着IBM WSAD 5.1的推出,eclipse 2.1.x的多语言包也有了! 为什么最简单的applet小程序在IE里运行没结果???
http://java.sun.com/products/servlet/2.2/javadoc/javax/servlet/http/HttpSession.html
jsp里直接
用session.方法名。
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程序:
<%@ page contentType="text/html;charset=ISO8859_1" %> <jsp:useBean id="myenv" scope="session" class="mysite.UserEnv"/>
<html>
<head>
<title>Untitled</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head><body>this is test1.jsp:<%=myenv.getUserdir()%>
</body>
</html>
test2.jsp程序:
<%@ page contentType="text/html;charset=ISO8859_1" %> <jsp:useBean id="myenv" scope="session" class="mysite.UserEnv"/>
<html>
<head>
<title>Untitled</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head><body>this is test2.jsp:<%=myenv.getUserdir()%>
</body>
</html> 无论用户先调用test1.jsp还是test2.jsp, java bean UserEnv总是先初始化一次, 由于这个bean存在周期是seesion,因此该用户第二次以后只要在seesion有效期内再调用,myenv.getUserdir()将直接从bean内存中读取变量,不必再初始化.这样提高速度,又减少数据库访问量.这样,我们就有了一个jsp程序之间共享变量或方法 的实现办法.
<%
session.setAttribute("user","wingerd");
String userName=(String)session.getAttribute("user");
%><%=userName%>
就会在页面中得到wingerd这个字符串2、在servlet中使用是,当然要先得到这个session.
HttpSession session=servlet.getSession();
public class Login extends HttpServlet {......}
我要在这个servlet中利用session记录一些内容的话,应该使用一个什么语句呢,谢谢
是下面这条语句么
HttpSession session=servlet.getSession();
这里面的servlet是什么?