Java中JSP的session对象和config对象怎么使用
导读:本文共4348.5字符,通常情况下阅读需要14分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: JSP session对象JSP session 是 javax.servlet.http.HttpSession 的实例对象,主要用来访问用户数据,记录客户的连接信息。HTTP 协议是一种无状态的协议(即不保存连接状态的协议)。每次用户向服务器发出请求,且服务器接收请求并返回响应后,该连接就被关闭了,服务器端与客户端的连接被断开。此时,服务器端不保留连接的有关... ...
目录
(为您整理了一些要点),点击可以直达。JSP session对象
JSP session 是 javax.servlet.http.HttpSession 的实例对象,主要用来访问用户数据,记录客户的连接信息。
HTTP 协议是一种无状态的协议(即不保存连接状态的协议)。每次用户向服务器发出请求,且服务器接收请求并返回响应后,该连接就被关闭了,服务器端与客户端的连接被断开。此时,服务器端不保留连接的有关信息,要想记住客户的连接信息,就用到了 session 对象。
在 login.jsp 页面登录,并跳转到 index.jsp。login.jsp 代码如下:
<%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPEhtml><html><head></head><body><h3>用户登录</h3><formaction="index.jsp">用户名:<inputtype="text"name="username"/><br><br>密码:<inputtype="text"name="pass"/><br><br><inputtype="submit"value="登录"/></form></body></html>
在 index.jsp 中,使用 session.setAttribute() 方法将用户名存储到 session 对象中,代码如下:
<%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPEhtml><html><head></head><body><%Stringusername=request.getParameter("username");out.print("欢迎"+username+"登录");session.setAttribute("sessname",username);%><ahref="success.jsp"rel="externalnofollow">跳转成功页面</a></body></html>
在 success.jsp 中,使用 session.getAttribute() 方法获取 session 对象中的用户名,并显示。success.jsp 代码如下:
<%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPEhtml><html><head></head><body><%Stringname=(String)session.getAttribute("sessname");out.print("您好,您的用户名为:"+name);%></body></html>
运行结果如下图所示:
login.jsp运行结果
index.jsp运行结果
index.jsp运行结果
拓展
如果使用的是 Tomcat 服务器,可以在 web.xml 文件中添加以下内容来设置 session 的有效时间:
<session-config><session-timeout>15</session-timeout></session-config>
这里单位是分钟,即表示 session 对象的有效时间为 15 分钟,Tomcat 默认有效时间为 30 分钟。
如果在 web.xml 中配置的是15分钟,则 getMaxInactiveInterval( ) 方法返回 900。
JSP application对象
JSP application 是 javax.servlet.ServletContext 的实例对象。
在服务器部署应用和项目时,Web 容器仅创建一次 ServletContext 实例,也就是说 application 设置的任何属性和值可以用于整个应用(所有 JSP 页面)。
可以将 application 对象看作 Web 应用的全局变量。一
般用于保存应用程序的公用数据。
application 对象在 Web 应用运行时一直存在于服务器中,非常占用资源,因此在实际开发中不推荐使用,否则容易造成内存不足等情况。
application 对象常用方法如下:
Object getAttribute(String attributeName):获取 attributeName(属性名称)对应的 object
void setAttribute(String attributeName, Object object):设置attributeName对应的属性值
Enumeration getAttributeNames():返回 application 对象中所有的 attributeName
void removeAttribute(String objectName):删除 application 对象中指定 attributeName 的属性
String getServerInfo():获取当前 Servlet 的版本信息
String getRealPath(String value):获取指定文件的实际路径
示例
可以使用 application 对象来保存 JSP 页面的访问人数,也就是我们常说的网站计数器,下面通过一个例子来演示。
index.jsp 代码如下:
<%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%><%@pageimport="java.util.*"%><!DOCTYPEhtml><html><head></head><body><%Integercount=(Integer)application.getAttribute("count");if(count==null){count=1;}else{count++;}application.setAttribute("count",count);%><h3>编程帮网站计数器</h3>欢迎访问编程帮,您是第<%=count%>位访问客户!</body></html>
运行结果如下:
首次访问count为1
连续刷新页面count增加
JSP config对象
JSP config 是 javax.servlet.ServletConfig 的实例对象,一般用于获取页面和 Servlet 的初始化参数。
config 对象的常用方法如下:
String getInitParameter(String paramname):获取指定的初始化参数值
Enumeration getInitParameterNames():获取当前页面所有的初始化参数值
ServletContext getServletContext():获取当前执行 Servlet 的 servletContext(Servlet 上下文)的值
String getServletName():获取当前执行 Servlet 的名称
示例
在 web.xml 文件中定义 Servlet 名称和映射,然后使用 config 对象获取信息。
web.xml 代码如下:
<?xmlversion="1.0"encoding="UTF-8"?><web-appxmlns="http://java.sun.com/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"version="2.5"><servlet><servlet-name>BianChengBangServlet</servlet-name><jsp-file>/index.jsp</jsp-file><init-param><param-name>url</param-name><param-value>http://www.biancheng.net</param-value></init-param></servlet><servlet-mapping><servlet-name>BianChengBangServlet</servlet-name><url-pattern>/index</url-pattern></servlet-mapping></web-app>
在 index.jsp 页面获取 Servlet 名称以及初始化参数,代码如下:
<%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPEhtml><html><head></head><body><%Stringsname=config.getServletName();Stringurl=config.getInitParameter("url");out.print("Servlet名称为:"+sname+"<br>");out.print("初始化参数为:"+url+"<br>");%></body></html>
运行结果如下:
注意:因为 JSP 页面的实质是 Servlet,所以一般很少在 JSP 页面中使用 config 对象。
</div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
Java中JSP的session对象和config对象怎么使用的详细内容,希望对您有所帮助,信息来源于网络。