servlet原理图
ServletContext
web容器在启动的时候,它会为每个web程序都创建了一个对应的ServletContext对象,它代表了当前的web应用
-
共享数据
我们在这个Servlet中保存的数据,可以在另外一个Servlet中拿到
public class HelloServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { ServletContext servletContext = this.getServletContext(); String name = "王铁丸"; servletContext.setAttribute("name",name); } }
public class Getc extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { ServletContext servletContext = this.getServletContext(); String name = (String) servletContext.getAttribute("name"); resp.setCharacterEncoding("utf-8"); resp.setContentType("text/html"); PrintWriter writer = resp.getWriter(); writer.println(name); } }
- web.xml的配置
<!--注册Servlet--> <servlet> <servlet-name>hello</servlet-name> <servlet-class>com.kuang.servlet.HelloServlet</servlet-class> </servlet> <!--Servlet的请求路径--> <servlet-mapping> <servlet-name>hello</servlet-name> <url-pattern>/hello</url-pattern> </servlet-mapping> <!--注册Servlet--> <servlet> <servlet-name>getc</servlet-name> <servlet-class>com.kuang.servlet.Getc</servlet-class> </servlet> <!--Servlet的请求路径--> <servlet-mapping> <servlet-name>getc</servlet-name> <url-pattern>/getc</url-pattern> </servlet-mapping>
测试访问结果