栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JavaWeb——ServerletContext对象

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JavaWeb——ServerletContext对象

项目搭建参照 : JavaWeb——HelloServlet ServletContext

web容器在启动的时候,它会为每个web程序都创建一个对应的ServletContext对象,它代表了当前的web应用。

  • 共享数据
    • 我在这个Servlet中保存的数据,可以在另外一个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;
import java.nio.charset.StandardCharsets;

public class HelloServlet extends HttpServlet {

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



//        this.getServletContext()      Servlet上下文
        ServletContext context = this.getServletContext();

        String name = "秦疆";//数据
        //将一个数据保存在了ServletContext中,名字为(键为):username;值为:上面创建的name
        context.setAttribute("username",name);

        System.out.println("Hello");
    }
}

  • 读取数据的类
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);
    }

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

  • web.xml

    hello
    com.kuang.servlet.HelloServlet
  
  
    hello
    /hello
  

  
    getc
    com.kuang.servlet.GetServlet
  
  
    getc
    /getc
  
  • 测试访问结果

先访问:http://localhost:8080/s3/hello
HelloServlet 设置了ServletContext的参数

后访问:http://localhost:8080/s3/getc
GetServlet 获取到HelloServlet 设置的ServletContext的参数

如果直接访问http://localhost:8080/s3/getc时,ServletContex中还没有设置参数,因此值为null

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/874111.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号