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. 计算机17-3,4作业F

    F.complete number problem with formatted output   Description 同题目E Input N Output complete numbers w ...

  2. Python-常用 Linux 命令的基本使用

    常用 Linux 命令的基本使用 操作系统 作用:管理好硬件设备,让软件可以和硬件发生交互类型 桌面操作系统 Windows macos linux 服务器操作系统 linux Windows ser ...

  3. Redis详解(二)------ redis的配置文件介绍

    上一篇博客我们介绍了如何安装Redis,在Redis的解压目录下有个很重要的配置文件 redis.conf (/opt/redis-4.0.9目录下),关于Redis的很多功能的配置都在此文件中完成的 ...

  4. 『动态』动态JSON万能转换函数 + .Net40 dynamic动态数据绑定

    不废话,调用代码: static void Main(string[] args) { string json = File.ReadAllText("2.txt", Encodi ...

  5. mysql 多实例部署

    Centos7.6 部署3个Mariadb 实例 [root@localhost ~]# yum install mariadb-server -y # 创建对应的目录文件 [root@localho ...

  6. 一条SQL生成数据字典

    有个字典表并定期维护,对DBA和开发很重要,终于把他们整合在一起了,看有没问题? 一条SQL生成数据字典,包含所有OPEN用户.表名.字段名.字段序号.字段属性.默认值.是否非空.字段意思.主键标识. ...

  7. windows update error 0x8024401c

    Error 0x8024401c 以管理员身份运行-命令提示符 执行以下3条命令 net stop wuauserv reg delete HKEY_LOCAL_MACHINE\SOFTWARE\Po ...

  8. Jmeter接口测试-断言

    JMeter接口测试-断言  对应qq群号:616961231 一个http请求发出,怎么判断执行的是否正确呢? 通过检查服务器响应数据,是否符合预期的数据, 如果是,任务成功,  如果否, 任务失败 ...

  9. 数据库MySQL(课下作业)

    一.作业要求 下载附件中的world.sql.zip, 参考http://www.cnblogs.com/rocedu/p/6371315.html#SECDB,导入world.sql,提交导入成功截 ...

  10. iOS可视化动态绘制连通图(Swift版)

    上篇博客<iOS可视化动态绘制八种排序过程>可视化了一下一些排序的过程,本篇博客就来聊聊图的东西.在之前的博客中详细的讲过图的相关内容,比如<图的物理存储结构与深搜.广搜>.当 ...