麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

ServletContext 與application的異同

2019-11-14 10:08:21
字體:
來源:轉載
供稿:網友

servletContext接口是Servlet中最大的一個接口,呈現了web應用的Servlet視圖。ServletContext實例是通過getServletContext()方法獲得的,由于HttpServlet繼承Servlet的關系GenericServlet類和HttpServlet類同時具有該方法。

條件:假設說我們有一個WEB應用,這個WEB應用中有10個SERVLET 在這里,這個WEB應用就擁有一個它自己的倉庫-ServletContext,而這10個Servlet則共享這個大倉庫,并且各自擁有屬于他們自己的小倉庫-ServletConfig。 ServletContext就是一個全局的概念,它屬于應用,但我們有時候不想讓某些參數被其他Servlet應用,僅僅想在自己的Servlet中被共享,這時候就需要把它保存在ServletConfig中,換句話說,從【一個Servlet】來看,ServletConfig是它的全局,而從一個【Servlet集合(Web應用)】來看,ServletContext是它的全局。 個人觀點,僅供參考。

是這樣的,假設現在要運行一個應用。 1.Tomcat啟動→讀入xml文件 2.容器為這個應用建立一個新的ServletContext實例,應用的所有部分都共享這個上下文 3.如果xml中有定義上下文的初始參數,則容器首先創建初始參數實例(應該就像一個Bean一樣) 4.把初始化參數實例的引用交給ServletContext 5.容器建立一個新的servlet,這時建立一個新的ServletConfig對象,并且為這個ServletConfig對象提供一個ServletContext的引用 6.調用servlet的init()方法初始化servlet 由第5步可以看出,每個servlet中都有一個上下文(ServletContext)的引用,因此,servlet都知道這個上下文。 但是ServletContext的實例比Servlet先誕生,所以ServletContext誕生的時候并不知道Servlet的存在。 在java EE API文檔中 ServlectContext擁有獲得Servlet的方法 例如:Servlet getServlet(String name) 但是,這一類的方法已經廢棄了,從注釋中可以看出,原先的這些方法返回的值是null,也就是無法獲得servlet 因此,ServlectContext誕生的時候并不知道Servlet的存在,它的誕生僅僅是因為容器誕生了~~ 我個人感覺,ServletContext中并沒有Servlet的信息,相反,每個Servlet中都持有ServletContext的引用。

在HeadFirstjsp中有一個說法我覺得不錯,ServletContext就像一塊布告欄,你可以往上貼布告,走過的人都可以看到它!

servlet上下文,是針對servletconfig而提出來的,因為容器在配置文件中提取的初始化參數保存在了servletconfig對象中,但由于初始化參數只針對某個具體的servlet而言,別的servlet是訪問不到這個參數的,所以為了提供一個可以供全體servlet使用的對象--這個對象也可以從配置文件中獲取參數,哪個老外就弄出了一個servletcontext對象,并把它稱為上下文或者應用上下文,其實就這么簡單。只不過大家現在所聽到的所看到的上下文被形態化了,經典話了而已。追起本質,還是很好理解的。

ServletContext 與application的異同 

相同:其實servletContext和application 是一樣的,就相當于一個類創建了兩個不同名稱的變量。在 

      servlet中ServletContext就是application對象。大家只要打開jsp編譯過后生成的Servlet中的

      _jspService()方法就可以看到如下的聲明:            ServletContextapplication = null;

            application= pageContext.getServletContext(); 

不同:兩者的區別就是application用在jsp中,servletContext用在servlet中。application和page  

      requestsession 都是JSP中的內置對象,在后臺用ServletContext存儲的屬性數據可以用  

      application對象獲得。   

而且application的作用域是整個Tomcat啟動的過程。例如:ServletContext.setAttribute("username",username);則在JSP網頁中可以使用  application.getAttribute("username");

來得到這個用戶名。

轉載自

http://tianxingzhe.blog.51cto.com/3390077/1659348/


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 成人在线高清视频 | 福利在线小视频 | 色a综合| 国产一级毛片高清视频完整版 | 久久国产精品系列 | 性爱视频免费 | 91精品福利视频 | 在线看一级片 | 国产一区二区三区欧美 | 国产手机国产手机在线 | 在线视频观看国产 | 性爱视频在线免费 | 91社区电影 | 永久免费不卡在线观看黄网站 | 丰满年轻岳中文字幕一区二区 | 成年人黄色片视频 | 特级黄一级播放 | 亚洲第一成人在线观看 | 免费午夜视频 | 欧美特一级片 | 久久中文免费 | 亚洲黑人在线观看 | 久久久国产精品电影 | 国产一国产一级毛片视频 | 中文字幕在线观看视频www | 久久久久久免费 | 日韩在线播放中文字幕 | 日本高清一级片 | www.com超碰 | 黄色片网站在线免费观看 | 91av在线影院 | 国产精品99久久久久久久女警 | 99riav国产在线观看 | 黄色免费小网站 | 国产高潮国产高潮久久久91 | 精品免费国产一区二区三区 | 精品国产91一区二区三区 | 欧美一级毛片大片免费播放 | 美女视频黄a视频免费全过程 | 视屏一区 | 亚洲日本欧美 |