日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

jsp 隐含对象

發布時間:2023/12/31 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jsp 隐含对象 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.引言

為了方便程序員對常用對象的訪問,在JSP中規范了就中隱含對象,這些對象不用聲明可以直接拿來使用,在從JSP轉換為servlet時,他們會轉換為對應的servlet類型。

out:表示輸出,相當于servlet中的PrintWriter,對應的類型是javax.servlet.jsp.JspWriter

request:表示請求信息,對用的類型是javax.servlet.http.HttpServletRequest

response:表示響應信息,對應的類型是javax.servlet.http.HttpServletResponse

session:和servlet中的HttpSession一樣。對應的類型是javax.servlet.http.HttpSession

application:表示整個應用的上下文,和getServletConfig().getServletContext()等效。對應類型為javax..servlet.jsp.PageContext

exception:頁面異常,可以通過它獲得異常的信息,對應的類型是java.lang.Throwable;

page:表示此JSP頁面,和java類中的this含義一樣

pageContext:表示此JSP的上下文,對應的類型是javax.servlet.jsp.PageContext

config:表示此JSP的servletconfig,對應的類型是javax.servlet.ServletConfig

其中pageContext, request, session, application為四個作用域對象。

2.request對象

這里說說用他來傳值。

request.setAttribute("name","guo");
request.getRequestDispatcher("地址").forward(request,response);

在另外的頁子中可以接收:request.getAttribute("name");


3.session對象

session對象對應于HttpSession對象,在JSP中,page指令有一個屬性和session相關,這個屬性的名字也叫做session,倘若他的值被設置為false,
那么在這個JSP頁面中就不能使用session。

注意這里因為是內置對象,所以不用再生成,直接使用即可。

setAttribute(java.lang.String name, java.lang.Object value)

getAttribute(java.lang.String name) 返回值為object

4.application

application對象時一個對web應用有效的全局變量,他實現了ServletContext接口,注意他是全局的,也就是說所有的客戶端訪問的都是同一對象

setAttribute(java.lang.String name, java.lang.Object value)

getAttribute(java.lang.String name) 返回值為object

5.四個作用域對象的總結

如果把變量放到pageContext里,就說明它的作用域是page,它的有效范圍只在當前jsp頁面里,從把變量放到pageContext開始,到jsp頁面結束,你都可以使用這個變量。

如果把變量放到request里,就說明它的作用域是request,它的有效范圍是當前請求周期。 所謂請求周期,就是指從http請求發起,到服務器處理結束,返回響應的整個過程。在這個過程中可能使

用forward的方式跳轉了多個jsp頁面,在這些頁面里你都可以使用這個變量。


如果把變量放到session里,就說明它的作用域是session,它的有效范圍是當前會話。 所謂當前會話,就是指從用戶打開瀏覽器開始,到用戶關閉瀏覽器這中間的過程。這個過程可能包含多個
請求響應。也就是說,只要用戶不關瀏覽器,服務器就有辦法知道這些請求是一個人發起的,整個過程被稱為一個會話(session),而放到會話中的變量,就可以在當前會話的所有請求里使用。

如果把變量放到application里,就說明它的作用域是application,它的有效范圍是整個應用,整個應用是指從應用啟動,到應用結束,可以簡單理解為從服務器啟動,到服務器關閉 。

?

6.exception

exception對象是Throwable的實例,他表示的是JSP中的異常信息,注意exception這個隱含對象并非在所有的JSP頁面中都可以用,如果要使用
這個對象,必須將此JSP的page指令的isErrorPage屬性值設置為true。

他的使用我舉個例子:

error.jsp中:

設置他為錯誤頁面:<%@ page isErrorPage="true" %>

jsp代碼:<%
? Date date=new Date();
? SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日HH時mm分ss秒");
? String s=sdf.format(date);
? out.println("您出錯了,請您檢查");
? out.println("錯誤時間:"+s+"<br>");
? out.println("錯誤類型:"+exception);
? %>

web.xml文件中:

<error-page>
? <exception-type>java.lang.Throwable</exception-type>
? <location>/error.jsp</location>>
? </error-page>

通過上面的設置,整個網站的錯誤信息都可以集中到error.jsp中取處理。自己試著弄一個錯誤頁面:index.jsp

? <%
??? int a=3;
??? out.println(a/0);
??? %>

?

總結

以上是生活随笔為你收集整理的jsp 隐含对象的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。