javaweb:ServletContext对象()

  本篇文章为你整理了javaweb:ServletContext对象()的详细内容,包含有 javaweb:ServletContext对象,希望能帮助你了解 javaweb:ServletContext对象。

  在每个web容器中,都会有一个对应的ServletContext对象,它代表着这个web应用。

  利用ServletContext对象实现数据的共享,也就是说我们在一个servlet中存放的数据,可以在另外一个servlet中拿到。

  

  1.建立数据存放的类 PutServlet

  

 1 package com.jms.servlet;

 

   3 import java.io.IOException;

   5 import javax.servlet.ServletContext;

   6 import javax.servlet.ServletException;

   7 import javax.servlet.http.HttpServlet;

   8 import javax.servlet.http.HttpServletRequest;

   9 import javax.servlet.http.HttpServletResponse;

  11 public class PutServlet extends HttpServlet{

  13 @Override

  14 protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

  16 ServletContext context = this.getServletContext();//获取这个web的ServletContext对象

  17 context.setAttribute("username", "金木三");//将一个数据存放到这个ServletContext中,其中名为“username”,值为“金木三”

  20 @Override

  21 protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

  22 doGet(req, resp);

  25 }

 

  

  2.建立一个数据读取的类 GetServlet

  

 1 package com.jms.servlet;

 

   3 import java.io.IOException;

   5 import javax.servlet.ServletContext;

   6 import javax.servlet.ServletException;

   7 import javax.servlet.http.HttpServlet;

   8 import javax.servlet.http.HttpServletRequest;

   9 import javax.servlet.http.HttpServletResponse;

  11 public class GetServlet extends HttpServlet{

  13 @Override

  14 protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

  16 ServletContext context = this.getServletContext();//获取这个web的ServletContext对象

  17 String name = (String)context.getAttribute("username");//通过名找到对应的值

  18 resp.setCharacterEncoding("utf-8");//设置响应编码

  19 resp.setContentType("text/html");//设置格式

  20 resp.getWriter().print(name);

  23 @Override

  24 protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

  25 doGet(req, resp);

  28 }

 

  

  

  3.修改web.xml文件,添加以下内容

  

 !--注册Servlet-- 

 

   servlet

   servlet-name gets /servlet-name

   servlet-class com.jms.servlet.GetServlet /servlet-class

   /servlet

   !--Servlet的请求路径--

   servlet-mapping

   servlet-name gets /servlet-name

   url-pattern /gets /url-pattern

   /servlet-mapping

   !--注册Servlet--

   servlet

   servlet-name puts /servlet-name

   servlet-class com.jms.servlet.PutServlet /servlet-class

   /servlet

   !--Servlet的请求路径--

   servlet-mapping

   servlet-name puts /servlet-name

   url-pattern /puts /url-pattern

   /servlet-mapping

 

  

  4.进行测试

  我们首先直接访问gets进行数据的读取,看能否读到数据

  

  此时我们读的数据为null,因为我们还没有存放数据

  那么我们尝试一下先访问puts,再访问gets尝试一下

  

  

  

  此时成功的读取到了ServletContext中的数据

  

  (本文仅作个人学习记录用,如有纰漏,敬请指正)

  

  以上就是javaweb:ServletContext对象()的详细内容,想要了解更多 javaweb:ServletContext对象的内容,请持续关注盛行IT软件开发工作室。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: