Tomcat的常用内置对象

1.request内置对象

    所谓内置对象就是容器已经创建好了的对象,如果收到一个用户的请求就会自动创建一个对象来处理客户端发送的一些信息,这个内置对象就是request。类型是javax.servlet.http.HttpServletRequest。

     request内置对象包含了用户发送的一些信息,我们可以使用对应的成员方法进行操作,下面举一些常见的方法。

      

         System.out.println("浏览器信息:"+req.getHeader("User-Agent"));
System.out.println("额外路径:"+req.getPathInfo());
System.out.println("请求上下文路径:"+req.getContentType());
System.out.println("传递的参数:"+req.getQueryString());
System.out.println("uri地址:"+req.getRequestURI());
System.out.println("url地址:"+req.getRequestURL());
System.out.println("servlet映射路径:"+req.getServerName());
System.out.println("项目的真实路径:"+req.getRealPath("/"));
System.out.println("主机名:"+req.getLocalName());

2.response内置对象

    response内置对象则是服务器产生的信息数据,需要返回给客户端时所用的内置对象。类型是javax.servlet.http.HttpServletResponse。常用方法有:

    

 void addCookie(Cookie cookie)给客户端添加一个Cookie对象,以保存客户端的信息
void addDateHeader(String name,long value) 添加一个日期类型的HTTP首部信息,覆盖同名的HTTP首部
void addIntHeader(String name,int value) 添加一个整型的HTTP首部,并覆盖旧的HTTP首部
String encodeRedirectURL(String url)对使用的URL进行编译
String encodeURL(String url)封装URL并返回到客户端,实现URL重写
void flushBuffer() 清空缓冲区
int getCharacterEncoding() 取得字符编码类型
String getContentType() 取得MIME类型
Locale getLocale() 取得本地化信息
ServletOutputStream getOutputStream() 返回一个二进制输出字节流
PrintWriter getWriter() 返回一个输出字符流
void reset() 重设response对象
void resetBuffer()重设缓冲区
void sendError(int sc) 向客户端发送HTTP状态码的出错信息
void sendRedirect() 重定向客户的请求到指定页面
void setBufferSize(int size) 设置缓冲区的大小为size
void setCharacterEncoding(String encoding) 设置字符编码类型为encoding
void setContentLength(int length)设置响应数据的大小为size
void setContentType(String type) 设置MIME类型
void setDateHeader(String s1,long l) 设置日期类型的HTPP首部信息
void setLocale(Locale locale) 设置本地化为locale
void setStatus(int status)  设置状态码为status

    这里简单说一下cookie。

    cookie是客户端与服务端第一次建立连接时,就会自动创建的一个存储一些这个服务器端发送给客户的信息,方便后续访问使用。cookie是服务器端产生,保存在客户端,默认生命周期是关闭浏览器,也可以自定义生命周期。

3.session内置对象

    session内置对象主要是用来保存用户信息的,就算客户端多次跳转,只要session保存的用户属性存在,就不用进行频繁的验证用户信息了。

     session内置对象类型是javax.servlet.http.HttSession。常见的方法有

    

 void setAttribute(String name,Object value) 以键值对的方式保存数据
Object getAttribute(String name)获取指定键的值数据
void removeValue(String name)删除指定键值对数据
boolean isNew()判断当前用户是否是第一次访问
void invalidate()销毁session一般用来实现用户注销

4.config内置对象

      config内置对象主要是用来获取配置文件中的初始化参数,config内置对象类型是javax.servlet.ServletConfig。

    配置文件web.xml

 <!-- 在容器中配置出路径对应的servlet -->
<servlet>
<!-- 配置名称-->
<servlet-name>empServlet</servlet-name>
<!-- 配置指定的路径,对应的servlet实现类的文件所在位置 -->
<servlet-class>com.testmvc.pro.empServlet.EmpServlet</servlet-class>
<init-param>
<param-name>name</param-name>
<param-value>smith</param-value>
</init-param>
</servlet>

    测试代码:

public void config(HttpServletRequest req,HttpServletResponse resp){
//取得Config内置对象
ServletConfig config = super.getServletConfig();
//取得初始化参数
String initName = config.getInitParameter("name");
System.out.println(initName);
}

5.application内置对象

    application内置对象是一个表示在服务器范围的内置对象,该对象是多个用户共享的内置对象,比如说要监听当前用户的人数,就需要用到改对象。

    application内置对象的类型是javax.servlet.ServletContext。

    application内置对象最大的特点是保存在该对象中的属性,就算你关闭了浏览器,也依旧有效,用其他浏览器也能访问到保存在application对象中的属性。

Tomcat的常用内置对象的更多相关文章

  1. request.setCharacterEncoding 和常用内置对象 跳转

    1.直接转码 new String(name.getBytes("ISO8859_1"),"GBK") 2. request.setCharactorEncod ...

  2. JavaScript常用内置对象(window、document、form对象)

    由于刚开始学习B/S编程,下面对各种脚本语言有一个宏观的简单认识. 脚本语言(JavaScript,Vbscript,JScript等)介于HTML和C,C++,Java,C#等编程语言之间.它的优势 ...

  3. ASP.NET常用内置对象

    ASP.NET 常用内置对象:Response对象.Request对象.Session对象.Server对象.Application对象 1.Response对象: (1) 用于向浏览器输出信息 常用 ...

  4. 07-JavaScript之常用内置对象

    JavaScript之常用内置对象 1.数组Array 1.1数组的创建方式 // 直接创建数组 var colors = ['red', 'blue', 'green']; console.log( ...

  5. python 全栈开发,Day51(常用内置对象,函数,伪数组 arguments,关于DOM的事件操作,DOM介绍)

    昨日内容回顾 1.三种引入方式 1.行内js <div onclick = 'add(3,4)'></div> //声明一个函数 function add(a,b){ } 2. ...

  6. Unit05: JavaScript对象概述 、 常用内置对象一 、 常用内置对象二 、 常用内置对象三

    Unit05: JavaScript对象概述 . 常用内置对象一 . 常用内置对象二 . 常用内置对象三 常用内置对象使用演示: <!DOCTYPE html> <html> ...

  7. js流程控制;常用内置对象

    一.流程控制 1.if .if-else.if-else if-else var ji = 20; if(ji >= 20){ console.log('大吉大利,晚上吃鸡') } alert( ...

  8. 前端JavaScript(2) --常用内置对象,函数,伪数组 arguments,关于DOM的事件操作,DOM介绍

    昨日内容回顾 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 ...

  9. C#构造方法(函数) C#方法重载 C#字段和属性 MUI实现上拉加载和下拉刷新 SVN常用功能介绍(二) SVN常用功能介绍(一) ASP.NET常用内置对象之——Server sql server——子查询 C#接口 字符串的本质 AJAX原生JavaScript写法

    C#构造方法(函数)   一.概括 1.通常创建一个对象的方法如图: 通过  Student tom = new Student(); 创建tom对象,这种创建实例的形式被称为构造方法. 简述:用来初 ...

随机推荐

  1. PwnAuth——一个可以揭露OAuth滥用的利器

    一.简介 鱼叉式网络钓鱼攻击被视为企业最大的网络威胁之一.只需要一名员工输入自己的凭证或运行一些恶意软件,整个企业都会受到威胁.因此,公司投入大量资源来防止凭证收集和有效载荷驱动的社会工程攻击.然而, ...

  2. python 小练习题做起来

    1# 有两个磁盘文件A和B,各存放一行字母,要求把这两个文件中的信息合并# (按字母顺序排列), 输出到一个新文件C中.with open('a') as f1: a=f1.read()with op ...

  3. 分析Class类和ClassLoader类下的同名方法getResourceAsStream

    在读取本地资源的时候我们经常需要用到输入流,典型的场景就是使用Druid连接池时读取连接池的配置文件.Java为我们提供了读取资源的方法getResourceAsStream(),该方法有三种: Cl ...

  4. Spring Boot 2.0 WebFlux 教程 (一) | 入门篇

    目录 一.什么是 Spring WebFlux 二.WebFlux 的优势&提升性能? 三.WebFlux 应用场景 四.选 WebFlux 还是 Spring MVC? 五.异同点 六.简单 ...

  5. 浏览器插件使用socks5代理

    服务端测试,经常会遇到需要通过代理访问的情景,比如公司内网不能访问测试环境,这时可以通过socks5代理来解决. 一.使用Chrome浏览器访问   1. 下载并安装SwitchyOmega插件   ...

  6. [翻译 EF Core in Action 1.9] 掀开EF Core的引擎盖看看EF Core内部是如何工作的

    Entity Framework Core in Action Entityframework Core in action是 Jon P smith 所著的关于Entityframework Cor ...

  7. 程序猿必知必会Linux命令之awk

    前言 对于一名专业的程序员来说,Linux相关知识是必须要掌握的,其中对于文本的处理更是我们常见的操作,比如格式化输出我们需要的数据,这些数据可能会来源于文本文件或管道符,或者统计文本里面我们需要的数 ...

  8. RFID和QRCODE对比

    1.技术介绍 1.1 RFID 射频识别,RFID(Radio Frequency Identification)技术,又称无线射频识别,是一种通信技术,可通过无线电讯号识别特定目标并读写相关数据,而 ...

  9. WebSocket整合SSM(Spring,Struts2,Maven)

    一.WebSocket与HTTP长轮询 WebSocket 属于HTML5 规范的一部分,提供的一种在单个 TCP 连接上进行全双工通讯的协议.允许服务端主动向客户端推送数据.在 WebSocket ...

  10. C# 字符串转byte数组

    public static byte[] HexstringToByte(string InString) { string[] ByteStrings; ByteStrings = InString ...