您好,登錄后才能下訂單哦!
本篇內容主要講解“Java中JSP的session對象和config對象怎么使用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Java中JSP的session對象和config對象怎么使用”吧!
JSP session 是 javax.servlet.http.HttpSession 的實例對象,主要用來訪問用戶數據,記錄客戶的連接信息。
HTTP 協議是一種無狀態的協議(即不保存連接狀態的協議)。每次用戶向服務器發出請求,且服務器接收請求并返回響應后,該連接就被關閉了,服務器端與客戶端的連接被斷開。此時,服務器端不保留連接的有關信息,要想記住客戶的連接信息,就用到了 session 對象。
在 login.jsp 頁面登錄,并跳轉到 index.jsp。login.jsp 代碼如下:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> </head> <body> <h3>用戶登錄</h3> <form action="index.jsp"> 用戶名: <input type="text" name="username" /> <br> <br> 密碼: <input type="text" name="pass" /> <br> <br> <input type="submit" value="登錄" /> </form> </body> </html>
在 index.jsp 中,使用 session.setAttribute() 方法將用戶名存儲到 session 對象中,代碼如下:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> </head> <body> <% String username = request.getParameter("username"); out.print("歡迎" + username + "登錄"); session.setAttribute("sessname", username); %> <a href="success.jsp" rel="external nofollow" >跳轉成功頁面</a> </body> </html>
在 success.jsp 中,使用 session.getAttribute() 方法獲取 session 對象中的用戶名,并顯示。success.jsp 代碼如下:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> </head> <body> <% String name = (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 是 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 代碼如下:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.util.*"%> <!DOCTYPE html> <html> <head> </head> <body> <% Integer count = (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 是 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 代碼如下:
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://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 名稱以及初始化參數,代碼如下:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> </head> <body> <% String sname = config.getServletName(); String url = config.getInitParameter("url"); out.print("Servlet名稱為:" + sname + "<br>"); out.print("初始化參數為:" + url + "<br>"); %> </body> </html>
運行結果如下:
注意:因為 JSP 頁面的實質是 Servlet,所以一般很少在 JSP 頁面中使用 config 對象。
到此,相信大家對“Java中JSP的session對象和config對象怎么使用”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。