Jsp 中的getServletContext全局数据共享

servletContext作用于不同用户之上

1. 一个用户将数据保存到了servletContext中,

// getcontext的servlet程序
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
ServletContext context = this.getServletContext();  //通过全局变量servletcontext 拿到另一个servlet 不同url中username
        String username = (String) context.getAttribute("username");
        resp.setContentType("text/html");  // 这里set浏览器的数据格式后可以拿到其username ,非则会null
        resp.setCharacterEncoding("utf-8");   // 这里是修改数据格式适应浏览器编码,使得文本内容可以正常显示
        System.out.println("岗位"+username);  // 后台显示打印
        resp.getWriter().println("岗位"+username);  // 浏览器页面显示

通过不同的servlet来实现彼此之间的数据共享

每一个web程序都会创建一个对应的servletContext 对象, 它表示当前的web应用,做到了共享数据, 在一个servlet中保存数据, 在另一个servlet 中拿数据

// setcontext的servlet的java程序
@Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setContentType("text/html");
        resp.setCharacterEncoding("utf-8");

        ServletContext context = this.getServletContext();
        String username = "数据开发";
        context.setAttribute("username",username); // 将数据保存到servletcontext中,名字为username , 值为username

写完servlet程序后去注册servlet

web.xml  对servlet 的注册配置以及servlet——mapping 配置
    <servlet>
        <servlet-name>hello</servlet-name>
        <servlet-class>com.rong.servlet.servletHello</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>hello</servlet-name>
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>

    <servlet>
        <servlet-name>getc</servlet-name>
        <servlet-class>com.rong.servlet.dogetc</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>getc</servlet-name>
        <url-pattern>/getc</url-pattern>
    </servlet-mapping>

 eg: 如何servlet 没有先保存数据就去get username数据是获取不到的

eg :先去保存数据,然后在去拿数据即可

上述中的username保存的样式是数据开发的str 

这样就实现了servletContext 的数据共享在不同的servlet 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值