使用ServletContext对象可以实现数据共享的功能。
第1步:首先向ServletContext对象中输入数据
package com.java.demo
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 AddDemo extends HttpServlet{
@Override
protected void doGet(HttpServletRequest req,HttpServletResponse resp) throws ServletException,IOException{
//向ServletContext中存储一个字符串
String name="mingzi";
//获取ServletContext对象
ServletContext context=this.getServletContext();
//向ServletContext对象中添加信息,以键值对方式
context.setAttribute("username",name);
}
}
第2步:将此Servlet在web.xml中进行注册
<servlet>
<sertvlet-name>addData</servlet-name>
<servlet-class>com.java.demo.AddDemo</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>addData</servlet-name>
<url-pattern>/addData</url-pattern>
</servlet-mapping>
第3步:新建一个类,用于获取第1步中存储在ServletContext中的数据
package com.java.demo
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 getData extends HttpServlet{
@Override
protected void doGet(HttpServletRequest req,HttpServletResponse resp) throws ServletException,IOException{
//首先获取ServletContext对象
ServletContext context=this.getServletContext();
//获取ServletContext对象中存储的数据
String data=(String)context.getAttribute("username");
//设置返回数据编码,防止返回乱码
resp.setCharacterEncoding("utf-8");
resp.setContentType("utf-8");
//在网页中显示数据
resp.getWrite().print("名字"+data);
}
}
第4步:在web.xml中注册第三步的Servlet
<servlet>
<servlet-name>getData</servlet-name>
<servlet-class>com.java.demo.GetData</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>getData<servlet-name>
<url-pattern>/getData</url-pattern>
</servlet-mapping>
第5步:配置好Tomcat,运行。