web.xml配置
1、web.xml配置
配置全局变量,可由Servlet通过servletContext.getInitParameter(“contextConfigLocation”)获取到
<!-- 向servletContext中加入变量-->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>applicationContext.xml</param-value>
</context-param>
配置监听器,监听器需要实现ServletContextListener接口,可重写初始化和销毁方法
<listener>
<listener-class>com.listener.ContextLoaderListener</listener-class>
</listener>
配置servlet,类需要继承HttpServlet方法
<servlet>
<servlet-name>userServlet</servlet-name>
<servlet-class>com.web.UserServlet</servlet-class>
</servlet>
配置映射,指定servlet,指定访问路径
<servlet-mapping>
<servlet-name>userServlet</servlet-name>
<url-pattern>/userServlet</url-pattern>
</servlet-mapping>
web.xml文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="3.0">
<display-name>db</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<!-- 向servletContext中加入变量-->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>com.listener.ContextLoaderListener</listener-class>
</listener>
<!-- 配置servlet-->
<servlet>
<servlet-name>userServlet</servlet-name>
<servlet-class>com.web.UserServlet</servlet-class>
</servlet>
<!-- 配置映射-->
<servlet-mapping>
<servlet-name>userServlet</servlet-name>
<url-pattern>/userServlet</url-pattern>
</servlet-mapping>
</web-app>
ContextLoaderListener类,监听器:
package com.listener;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class ContextLoaderListener implements ServletContextListener {
@Override
public void contextInitialized(ServletContextEvent sce) {
ServletContext servletContext = sce.getServletContext();
// 从servletContext中取值,在web.xml中赋的值
String contextConfigLocation = servletContext.getInitParameter("contextConfigLocation");
ApplicationContext app = new ClassPathXmlApplicationContext("applicationContext.xml");
// 将app加入到最大的域 ServletContext 中
servletContext.setAttribute(contextConfigLocation, app);
System.out.println("servletContext初始化。。。");
}
@Override
public void contextDestroyed(ServletContextEvent sce) {
}
}
UserServlet类:
package com.web;
import com.service.UserService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class UserServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// ApplicationContext app = new ClassPathXmlApplicationContext("applicationContext.xml");
ApplicationContext app = (ApplicationContext) req.getServletContext().getAttribute("app");
UserService userService = (UserService) app.getBean("userService");
userService.save();
}
}