web程序启动时执行一段代码
2016-08-06 16:44
453 查看
有两种方法,一种是监听(Listener),第二种是配置随项目启动而启动的Servlet。
监听(Listener)
首先,我们创建一个监听的类,继承ServletContextListener,如下
然后,在web.xml中配置如下:
然后,在web.xml中配置
监听(Listener)
首先,我们创建一个监听的类,继承ServletContextListener,如下
package com.excellence.exportal.portal.common.listener; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; import com.excellence.exportal.portal.common.util.ThemeUtil; public class DataInitListener implements ServletContextListener{ public void contextInitialized(ServletContextEvent sce) { ThemeUtil.unZipAllTheme(sce.getServletContext()); System.out.println("===================DataInitListener启动!!!"); } public void contextDestroyed(ServletContextEvent sce) { System.out.println("===================DataInitListener销毁!!!"); } }
然后,在web.xml中配置如下:
<listener> <listener-class> com.excellence.exportal.portal.common.listener.DataInitListener </listener-class> </listener>
2·使用Servlet,在项目启动的时候启动它。 首先,创建一个Servlet,继承HttpServlet
package com.excellence.exportal.portal.common.listener; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.excellence.exportal.portal.common.util.ThemeUtil; public class MyListener extends HttpServlet{ private static final long serialVersionUID = 1L; public MyListener(){ } public void init(){ System.out.println("===================MyListener启动!!!"); } public void doGet(HttpServletRequest httpservletrequest, HttpServletResponse httpservletresponse) throws ServletException, IOException{ } public void destory(){ } }
然后,在web.xml中配置
<servlet> <servlet-name>MyListener</servlet-name> <servlet-class>com.excellence.exportal.portal.common.listener.MyListener</servlet-class> <load-on-startup>9</load-on-startup><!-- 数字越小,启动的优先级越高,必须大于0 --> </servlet> <servlet-mapping> <servlet-name>MyListener</servlet-name> <url-pattern>/test</url-pattern> </servlet-mapping>
其中,Listener的方式比任何一个Servlet都要先启动。而Servlet的方式可以设置与其它Servlet启动的顺序。如果有时候需要首先启动一个Servlet或者它们之间的启动顺序有特殊要求的时候就可以用Servlet了。
相关文章推荐
- 关于在android程序执行过程中使用Intent启动另一个活动后,同个方法未执行的代码是否会继续执行。
- java 多线程同步--多个线程启动执行同一段代码
- web容器启动后自动执行程序的几种方式比较
- web 服务启动时自动执行某类的代码
- Spring MVC让Web容器启动时自动执行代码
- java Web 启动时自动执行代码的几种方式
- java Web 启动时自动执行代码的几种方式
- Java Web应用启动间隔执行的程序
- JavaWeb项目启动时,自动执行代码的三种方式(包含不占用tomcat启动时长的方式)
- 【Java】—— java Web 启动时自动执行代码的几种方式(总有些代码需要在虚拟机启动时执行)
- SpringBoot程序启动时执行初始化代码
- web 服务启动时自动执行某类的代码
- web应用每晚12点定时执行程序代码实例
- 【asp.net 】使用js结合hidden控件实现在后台运行一段程序后提示确认,确认通过后继续执行后台代码~~~
- web项目启动时,自动执行代码的几种方式
- java Web 启动时自动执行代码的几种方式
- JavaWeb项目启动时,自动执行代码的三种方式(包含不占用tomcat启动时长的方式)
- 启动(程序还没执行生成dump文件的代码)就崩溃的处理流程
- Java Web应用启动间隔执行的程序
- Windows编程 - 启动可执行(exe)程序 代码(C++)