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. 机器学习web服务化实战:一次吐血的服务化之路

    背景 在公司内部,我负责帮助研究院的小伙伴搭建机器学习web服务,研究院的小伙伴提供一个机器学习本地接口,我负责提供一个对外服务的HTTP接口. 说起人工智能和机器学习,python是最擅长的,其以开 ...

  2. 用Python学分析:集中与分散

    散点图进阶,结合箱体图与直方图对数据形成全面的认识 描述数据集中趋势的分析量: 均值 - 全部数据的算术平均值 众数 - 一组数据中出现次数最多的变量值 中位数 - 一组数据经过顺序排列后处于中间位置 ...

  3. sun.misc.Unsafe 详解

    原文地址 译者:许巧辉 校对:梁海舰 Java是一门安全的编程语言,防止程序员犯很多愚蠢的错误,它们大部分是基于内存管理的.但是,有一种方式可以有意的执行一些不安全.容易犯错的操作,那就是使用Unsa ...

  4. appium-desktop录制脚本二次开发,生成我司自动化脚本

    目的 通过对appium-desktop脚本录制功能进行二次开发,使录制的java脚本符合我司自动化框架要求. 实现步骤 1.增加元素名称的输入框 由于ATK(我司自动化测试框架)脚本中元素是以“ap ...

  5. Word页眉、页码的使用:利用分隔符设置指定页显示页眉,解决页码显示{PAGE \* MERGEFORMAT}问题

    不常编辑对文档有格式要求的朋友来说,偶尔需要编辑指定格式页眉页码的word文档时,会一时不记得如何使用,在网上搜索半天,异常烦躁. 特整理一下,记录下来,备不时只需. 以下操作环境为word2016. ...

  6. HTTP网络协议与手写Web服务容器

    Http协议 1.深入概念 Http:HyperText Transfer Protocol,即是超文本传输协议. 2.浅出概念(使用浏览器访问服务器端网页时需要遵循的一系列规则) Http:将各种不 ...

  7. ajax异步请求302分析

    1.前言 遇到这样一种情况,打开网页两个窗口a,b(都是已经登录授权的),在a页面中退出登录,然后在b页面执行增删改查,这个时候因为授权原因,b页面后端的请求肯定出现异常(对这个异常的处理,进行内部跳 ...

  8. 学习 JavaScript(二)在 HTML 中使用 JS

    基本用法 在 HTML 中使用 <script> 元素引入 Javascript , <script> 有以下 4 个常用属性: async: 异步加载,只对外部脚步有效. d ...

  9. Docker最全教程之使用TeamCity来完成内部CI、CD流程(十六)

    本篇教程主要讲解基于容器服务搭建TeamCity服务,并且完成内部项目的CI流程配置.教程中也分享了一个简单的CI.CD流程,仅作探讨.不过由于篇幅有限,完整的DevOps,我们后续独立探讨. 为了降 ...

  10. asp.net core 系列之并发冲突

    本文介绍如何处理多个用户并发更新同一实体(同时)时出现的冲突 . 主要是两种:一种,检查属性并发冲突,使用 [ConcurrencyCheck] ;另一种,检测行的并发冲突,使用 rowversion ...