程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> JSP內置對象介紹

JSP內置對象介紹

編輯:關於JSP

 

一、內置對象介紹

 

JSP的內置對象在JSP中非常重要,這些內置對象是由WEB容器創建出來的,所以用戶不用自己創建。

主要的幾個內置對象有:

(1)request  :    javax.servlet.http.HttpServletRequest,表示客戶請求。

        具體用法:request.getParameter("name")等。

(2)response:javax.servlet.http.HttpServletResponse,表示服務器回應。

(3)pageContext:javax.servlet.jsp.pageContext,表示JSP頁面。

(4)session:javax.servlet.http.HttpSession,表示一次會話。

(5)application:javax.servlet.servletContext,表示所有用戶共享信息。

(6)out:javax.servlet.jsp.jspWriter,寫入頁面內容。

(7)page:表示一個頁面的實例。

(8)config:javax.servlet.servletConfig,表示配置文件信息。

 

二、4種屬性范圍

 

(1)page范圍:一頁中有效,跳轉即無效。

(2)request范圍:服務器跳轉有效,客戶端跳轉無效。

(3)session范圍:跳轉有效,新開浏覽器無效。

(4)application范圍:所有用戶有效,重啟服務器無效。

這四個對象有3個方法:

(1) void setAttribute(String key,Object o);

(2) Object getAttribute(String key):取得後要向下轉型。

(3) void removeAttribute(String key);

 

三、request對象

 

request對象是接收客戶端發來的信息,而客戶端發來了頭信息、內容、傳遞方式、cookie。

常用方法:

(1)request.getParameter(String name):取得name元素的值。

(2)Enumeration enu = request.getParameterNames():取得全部的參數的名稱,通過迭代器遍歷。

(3)String[] strs = request.getParameterValues(String name):用於取得比如checkbox的多項選擇。

(4)Enumeration enu = request.getHeaderNames():獲得全部頭信息的名字。

(5)String str = request.getHeader(String name):獲得名字為name的頭信息的內容。

(6)String str = request.getMethod():獲得是post或get.

(7)request.setCharacterEncoding(String ):統一request的編碼。

(8)request.isUserInRole(String name)

(9)Cookie[] c = request.getCookies():獲得全部的cookie。

tomcat增加新用戶和新權限的方法:

(1)在tomcat/conf/tomcat-users.xml可以設置,參照admin配置即可,然後重啟tomcat服務器,完成新用戶和權限的載入。

(2)在web.xml進行設置,使得成為登錄網頁前會跳出窗口輸入用戶名、密碼。

 

四、post和get的區別

 

最明顯的區別是地址欄的區別,post傳遞時,地址欄沒有任何變化,而get傳遞,地址欄會顯示傳遞的信息,因此get傳遞的信息有限。

 

五、response對象

 

表示回應客戶端的對象。

 

1.常用方法:

 

(1)addCookie(Cookie):添加cookie

(2)setHeader(String name,String value):設置頭信息。

(3)sendRedirect():重定向,類似於客戶端跳轉。

常用應用:

(1)定時刷新:response.setHeader("refresh","seconds"):幾秒刷新一次。

(2)定時跳轉:response.setHeader("refresh","2;URL=hello.jsp");2秒後跳轉到hello.jsp。

(3)直接跳轉:response.sendRedirect("hello.jsp");

 

2.操縱Cookie:

 

將用戶的信息保存為一個cookie,存儲在客戶端,每次request時,都會把cookie發送到服務器端。

response.addCookie(Cookie e);添加cookie。

Cookie位於javax.servlet.http.cookie中。

常用方法:

(1)Cookie c = new Cookie("name","value"):創建一個新cookie。

(2)c.setMaxAge(int seconds):設置cookie最長壽命,因為原本cookie保存在浏覽器中,如果浏覽器關閉,cookie丟失。

(3)c.getName():獲得名字。

(4)c.getValue():獲得值。

 

六、session對象

 

session常用方法:

(1)String getId():獲得session id。

(2)session.setAttribute("",""):設置屬性。

(3)session.getCreationTime():獲得創建時間。

(4)session.getLastAccessedTime():獲得最後訪問時間。

(5)session.isNew():這個session是否是新的。

(6)session.invalidate():把session的記錄全部清空。

登錄-注銷頁面:

(1)使用session.setAttribute()注冊。

(2)使用session.isNew()判斷是否已經注冊。

 

七、application對象

 

常用方法:

(1)getRealPath(path):獲得真實路徑。

(2)getContextPath():獲得虛擬路徑。

application==this.getServletContext()

 

八、config對象

 

先從配置文件談起,在每個web應用中,都有一個WEB-INF文件夾,這個文件夾是很安全的,不能被其他人看到。

如果將一個hello.jsp文件放到WEB-INF中,如果能夠讓其能夠被訪問。

答案就是在WEB-INF/web.xml設置即可,內容如下:

<servlet>

    <servlet-name>he</servlet-name>

    <jsp-file>/WEB-INF/hello.jsp</jsp-file>

</servlet>

<servlet-mapping>

    <servlet-name>he</servlet-name>

    <url-pattern>hello</url-pattern>

</sevlet-mapping>

重啟服務器後,則在地址欄輸入http://localhost:8080/test/hello即可。

config常用方法:

(1)getInitParameterNames();

(2)getInitParameter(String name);

什麼是初始化參數呢?

初始化參數在web.xml中進行配置,形式如下:

<init-param>

    <param-name>name</param-name>

    <param-value>value</param-value>

</init-param>

 

九、pageContext對象

 

表示JSP上下文,可以通過這個實例,取得request\response\session\<jsp:forward>等

摘自:xiazdong的專欄

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved