假期学习javaWeb每日笔记

学习视频:https://www.bilibili.com/video/BV12J411M7Sj?p=10

servlet 中的ServletContext接口

1.ServletContext可以用来实现两个功能:

​ 1.获取web.xml的信息。(基本不用)
​ 2.实现两个servlet的数据共享。

2.下面来实现用servlet实现数据的共享

//hello.java
public class hello extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        ServletContext context = this.getServletContext();
        String username = "郭浩";
        context.setAttribute("username",username);              //将变量username的值保存在context的空间中
    }
}


//Get.java
public class GetServlet extends HttpServlet{
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //获取servlet对象
        ServletContext context = this.getServletContext();

        String username = (String) context.getAttribute("username");

        //实现支持中文
        resp.setContentType("text/html");
        resp.setCharacterEncoding("utf-8");

        resp.getWriter().print("名字"+username);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doGet(req, resp);
    }
}

将网站地址映射写入web.xml

  <servlet>
    <servlet-name>hello</servlet-name>
    <servlet-class>com.hao.servlet.hello</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>hello</servlet-name>
    <url-pattern>/he</url-pattern>
  </servlet-mapping>

  <servlet>
    <servlet-name>Get</servlet-name>
    <servlet-class>com.hao.servlet.GetServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>Get</servlet-name>
    <url-pattern>/Get</url-pattern>
  </servlet-mapping>

首先,在tomcat服务器上运行hello.java,然后再运行Get.java,即可展现出servlet的资源共享功能。如下图所示。

原文地址:https://www.cnblogs.com/habit2021/p/14300474.html