首页 > 其他分享 >10 ServletContext 对象

10 ServletContext 对象

时间:2023-10-05 10:22:05浏览次数:36  
标签:10 http 对象 resp ServletContext import servlet javax

ServletContext 对象:一个模板中只定义一个,可以使得不同的页面之间进行数据交流

执行三部曲:
1.SetServletContext.java
2.GetServletContext.java
3.web.xml


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 SetServletContext extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        ServletContext context = this.getServletContext();   // 获得ServletContext对象
        resp.setContentType("text/html");
        resp.setCharacterEncoding("utf-8");
        String userName="詹";
        context.setAttribute("userName",userName);    // 设置,添加
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doGet(req, resp);
    }
}
package com.zhan.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.io.PrintWriter;

public class GetServletContext extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        ServletContext context = this.getServletContext();
        resp.setContentType("text/html");
        resp.setCharacterEncoding("utf-8");
        String userName=(String) context.getAttribute("userName");   // 强制转换
        resp.getWriter().println("名字:"+userName);


    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doGet(req, resp);
    }
}
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
  <display-name>Archetype Created Web Application</display-name>

  <servlet>
    <servlet-name>set</servlet-name>
    <servlet-class>com.zhan.servlet.SetServletContext</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>set</servlet-name>
    <url-pattern>/set</url-pattern>
  </servlet-mapping>
<!--  -->
  <servlet>
    <servlet-name>get</servlet-name>
    <servlet-class>com.zhan.servlet.GetServletContext</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>get</servlet-name>
    <url-pattern>/get</url-pattern>
  </servlet-mapping>



</web-app>

标签:10,http,对象,resp,ServletContext,import,servlet,javax
From: https://www.cnblogs.com/zhanjianhai/p/17743123.html

相关文章

  • 题解 accoders::NOI 5510【飞翔的胖鸟(fly)】
    题解accoders::NOI5510【飞翔的胖鸟(fly)】problem求\(f(x)=\frac{ah}{\sin(x)}+bx\)在\((0,\frac\pi2]\)上的最小值。solution\(\sin'(x)=cos(x);\cos'(x)=-\sin(x)\)。\((f(x)\cdotg(x))'=f'(x)g(x)+f(x)g'(x)\)。\(\left(\dfrac{f......
  • 2023-10-4 使用Arduino为esp8266烧录ps4 5.05适合的固件
    2023-10-4使用Arduino为esp8266烧录ps45.05适合的固件其实这是个伪需求,但都在我琢磨所有之后才发现,goldhen2.1之后的大版本对于505来说都是没什么实质意义,反而会引起死机等情况。想玩的游戏等降级补丁即可。当然本文记录如何通过arduino烧录你想要的插件1.解决:1-1.A......
  • gym102331B Bitwise Xor
    gym102331BBitwiseXor和我找到的题解都不同的做法。感觉简单一些。首先将\(a\)排序,从高位往低位考虑,假设考虑第\(p\)位,不难发现这时序列按照第\(p\)位取值被划分为两部分,我们注意到如果\(x\)的这一位是\(0\)那么这两部分各取两个数异或起来一定满足限制,故两部分互互......
  • 2023.10.4
    今天没做多少,就做了一题,主要是因为下午去医院看牙,花了不少时间,人太多,在那里等了挺久做题目的时候遇到了一些和libc库有关的问题,本来问了学长,后来突然有了想法去查了些东西,自己把问题解决了,学到了不少东西明天预计要忙学校的作业,可能会学的比较少......
  • 2023.10.4——每日总结
    学习所花时间(包括上课):0h代码量(行):0行博客量(篇):1篇今天,上午学习+休息,下午学习+休息;我了解到的知识点:1.休息明日计划:学习+休息......
  • 231004.md
    2023/10/04模拟赛总结时间安排07:40-08:20看题,写A,B,感觉会C。08:20-08:40写C暴力。08:40-09:10写换根部分,思考怎么不用平衡树。09:10-10:10写平衡树,调代码。拍C。10:10-10:20写D暴力。10:20-10:40拍A,B。10:40-11:20写D40分。11:20-1......
  • 10.03
    注:这个顺序是T3,T2,T1,T4我再用\(ifstreamf,ofstream\)我就抽死自己我再不先把所有题看一遍,我就抽死自己顺带一提2023flagT1我再用\(ifstreamf,ofstream\)我就抽死自己给你一个序列,保证最多只有两个相同数,表示\(2^{a_i}\),求有几种方法可以构成\(2^{max(a_i)+1}\)先......
  • 10.03总结
    注:这个顺序是T3,T2,T1,T4我再用\(ifstreamf,ofstream\)我就抽死自己我再不先把所有题看一遍,我就抽死自己顺带一提2023flagT1我再用\(ifstreamf,ofstream\)我就抽死自己给你一个序列,保证最多只有两个相同数,表示\(2^{a_i}\),求有几种方法可以构成\(2^{max(a_i)+1}\)先......
  • 2023-10-03-周二
    吾日三省吾身titlecontent简单评价这一天只能说差强人意今天运动了吗?0,woc,还没运动学习还满意否0.5会不会又emo了0今日学习任务titlecontent学习ELF文件格式0.8安卓开发0.1突然想起来了我一上午感觉萎靡不振,像吸毒了一样......
  • 20231004
    20231004NOIP#15总结时间安排7:40~8:00看题,\(A,B\)会第一档爆搜,别的不会。8:00~9:30写完\(A,B\)的爆搜。9:30~11:00会了\(C\)的暴力还加了点优化,一下写了\(1.5h\),不过有点难写。(我是真没想到连个菊花图都没有直接\(AC\)了11:00~11:40\(D\)能看出是线段树但一点......