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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

ServletContextListener

發布時間:2025/3/15 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ServletContextListener 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?<context-param>標簽,

比如

?<context-param>
?? ??? ?<param-name>breed</param-name>
?? ??? ?<param-value>test</param-value>

??? </context-param>

應用在容器中啟動之后,整個應用任何一個servlet都可以通過getContextConfig獲取breed的值。

但是如果我們需要在項目啟動的時候獲取一個對象呢,而不僅僅是一個字符串呢?

我們可以通過寫一個類實現ServletContextListener接口實現這一點。


package javax.servlet;import java.util.EventListener;public abstract interface ServletContextListener extends EventListener {public abstract void contextInitialized(ServletContextEvent paramServletContextEvent);public abstract void contextDestroyed(ServletContextEvent paramServletContextEvent); } 在web.xml中配置


?<listener>
?? ??? ?<listener-class>
?? ??? ??? ?servlet.ServletContextListenerTest
?? ??? ?</listener-class>
? </listener>

ServletContextListenerTest實現一個ServletContextListener的接口


package servlet;import javax.servlet.ServletContext; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener;public class ServletContextListenerTest implements ServletContextListener {@Overridepublic void contextDestroyed(ServletContextEvent event) {}@Overridepublic void contextInitialized(ServletContextEvent event) {System.out.println("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");ServletContext sc = event.getServletContext();String dogBreed = sc.getInitParameter("breed");System.out.println("aaaaaaaaaaaaaa"+dogBreed);Dog dog = new Dog(dogBreed);event.getServletContext().setAttribute("dog", dog);}} 上面的代碼主要是實現了在應用啟動的時候,將一個dog對象塞進ServletContext的attribute屬性中,


這樣應用的所有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();}}



轉載于:https://my.oschina.net/liangzhenghui/blog/184468

總結

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

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