getServletContext是凌驾于所有Servlet之上的,所以里面的数据可以实现共享,存储数据的形式使用键值对的形式。
HelloServlet.java中的代码
@Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String username="胡汉三"; ServletContext context = this.getServletContext(); //ServletContext 通过键值对的形式存储数据 多个servlet调用的ServletContext是同一个 context.setAttribute("username",username); }
GetHello.java中的代码
@Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { ServletContext context = this.getServletContext(); //返回值是object类型 高转低需要进行强转 String username = (String) context.getAttribute("username"); //设置响应的编码格式 resp.setContentType("text/html"); //设置响应的编码字符集 resp.setCharacterEncoding("utf-8"); resp.getWriter().print("汉奸"+username); }
配置web.xml
hello com.zhang.servlet.HelloServlet hello /hello getHello com.zhang.servlet.GetHello getHello /getHello
启动Tomcat访问
如果直接访问getHello,返回的结果是null,因为此时的getServletContext还没有存放数据!
先访问hello,然后在此访问getHello,就可以了
自己的理解!!!!!!!1
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)