1、ServletContext共享数据
2、简单使用案例
存入数据的访问页面控制器:
package com.wxl.servlet;
import javax.servlet.ServletContext;
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 HelloServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
ServletContext context=this.getServletContext();
String username="大表哥";
context.setAttribute("username",username);//将数据保存到servletContext中以键值对形式保存
}
}
读取并显示的访问页面控制器:
package com.wxl.servlet;
import javax.servlet.ServletContext;
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 GetServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
ServletContext context=this.getServletContext();
String username= (String) context.getAttribute("username");
resp.setContentType("text/html");
resp.setCharacterEncoding("utf-8");
resp.getWriter().print(username);
}
}
web.xml配置:
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<!--注册-->
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>com.wxl.servlet.HelloServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>name</servlet-name>
<servlet-class>com.wxl.servlet.GetServlet</servlet-class>
</servlet>
<!--映射-->
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>name</servlet-name>
<url-pattern>/name</url-pattern>
</servlet-mapping>
</web-app>
先访问root/hello写入数据,再访问root/name获取并显示存储的数据。