前提:
操作之前首先需要在pom.xml里面配置
<dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <scope>provided</scope> </dependency>
配置:
可以在web.xml里面配置servlet,或者用注解配置@WebServlet
一次请求只会执行一个servlet
一、Listener(这个使用是需要在web.xml里面配置listener)
1、ServletContextListener(servlet全局监听器):
首先这是一个接口,实现了这个接口,就需要实现两个方法:
@Override public void contextInitialized(ServletContextEvent sce) { // TODO Auto-generated method stub } @Override public void contextDestroyed(ServletContextEvent sce) { // TODO Auto-generated method stub }
contextInitialized
当Servlet 容器启动Web 应用时调用该方法。在调用完该方法之后,容器再对Filter 初始化, 并且对那些在Web 应用启动时就需要被初始化的Servlet 进行初始化。
contextDestroyed
当Servlet 容器终止Web 应用时调用该方法。在调用该方法之前,容器会先销毁所有的Servlet 和Filter 过滤器。
二、ServletContext(as ctx)
例如项目目录是:webapps/app1/WEB-INF/classes
String str = servletContext.getRealPath(""); //返回/root/tomcat/webapps/app1/ String str2 = servletContext.getRealPath("/"); //返回/root/tomcat/webapps/app1/ InputStream is = servletContext.getResourceAsStream("aai.txt"); //返回/root/tomcat/webapps/app1/aai.txt InputStream is2 = servletContext.getResourceAsStream("/bbi.txt"); //返回/root/tomcat/webapps/app1/bbi.txt