ServletContextListener
生活随笔
收集整理的這篇文章主要介紹了
ServletContextListener
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
?<context-param>標簽,
比如
?<context-param>?? ??? ?<param-name>breed</param-name>
?? ??? ?<param-value>test</param-value>
??? </context-param>
應(yīng)用在容器中啟動之后,整個應(yīng)用任何一個servlet都可以通過getContextConfig獲取breed的值。
但是如果我們需要在項目啟動的時候獲取一個對象呢,而不僅僅是一個字符串呢?
我們可以通過寫一個類實現(xiàn)ServletContextListener接口實現(xiàn)這一點。
?<listener>
?? ??? ?<listener-class>
?? ??? ??? ?servlet.ServletContextListenerTest
?? ??? ?</listener-class>
? </listener>
ServletContextListenerTest實現(xiàn)一個ServletContextListener的接口
這樣應(yīng)用的所有servlet就可以通過getAttribute共享這個dog對象了。
Dog類
package servlet;public class Dog {public String breed;public String getBreed() {return breed;}public void setBreed(String breed) {this.breed = breed;}public Dog(String breed) {this.breed=breed;}public void getDogBreed() {System.out.println("the breed of the dog is"+breed);} }
寫一個情景類
package servlet;import java.io.IOException;import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet(urlPatterns={"/servletContextListenerTestClient"}) public class ServletContextListenerTestClient extends HttpServlet{private static final long serialVersionUID = -5169172101637034615L;@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {doPost(req, resp);}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {Dog dog = (Dog)this.getServletContext().getAttribute("dog");dog.getDogBreed();}}
轉(zhuǎn)載于:https://my.oschina.net/liangzhenghui/blog/184468
總結(jié)
以上是生活随笔為你收集整理的ServletContextListener的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么获得ajax中data中的某个字段,
- 下一篇: 有一个3x4的矩阵,输出最大值,且输出对