Tomcat的常用内置对象
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的常用内置对象的更多相关文章
- request.setCharacterEncoding 和常用内置对象 跳转
1.直接转码 new String(name.getBytes("ISO8859_1"),"GBK") 2. request.setCharactorEncod ...
- JavaScript常用内置对象(window、document、form对象)
由于刚开始学习B/S编程,下面对各种脚本语言有一个宏观的简单认识. 脚本语言(JavaScript,Vbscript,JScript等)介于HTML和C,C++,Java,C#等编程语言之间.它的优势 ...
- ASP.NET常用内置对象
ASP.NET 常用内置对象:Response对象.Request对象.Session对象.Server对象.Application对象 1.Response对象: (1) 用于向浏览器输出信息 常用 ...
- 07-JavaScript之常用内置对象
JavaScript之常用内置对象 1.数组Array 1.1数组的创建方式 // 直接创建数组 var colors = ['red', 'blue', 'green']; console.log( ...
- python 全栈开发,Day51(常用内置对象,函数,伪数组 arguments,关于DOM的事件操作,DOM介绍)
昨日内容回顾 1.三种引入方式 1.行内js <div onclick = 'add(3,4)'></div> //声明一个函数 function add(a,b){ } 2. ...
- Unit05: JavaScript对象概述 、 常用内置对象一 、 常用内置对象二 、 常用内置对象三
Unit05: JavaScript对象概述 . 常用内置对象一 . 常用内置对象二 . 常用内置对象三 常用内置对象使用演示: <!DOCTYPE html> <html> ...
- js流程控制;常用内置对象
一.流程控制 1.if .if-else.if-else if-else var ji = 20; if(ji >= 20){ console.log('大吉大利,晚上吃鸡') } alert( ...
- 前端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 ...
- C#构造方法(函数) C#方法重载 C#字段和属性 MUI实现上拉加载和下拉刷新 SVN常用功能介绍(二) SVN常用功能介绍(一) ASP.NET常用内置对象之——Server sql server——子查询 C#接口 字符串的本质 AJAX原生JavaScript写法
C#构造方法(函数) 一.概括 1.通常创建一个对象的方法如图: 通过 Student tom = new Student(); 创建tom对象,这种创建实例的形式被称为构造方法. 简述:用来初 ...
随机推荐
- Java8新特性之四:接口默认方法和静态方法
在JDK1.8以前,接口(interface)没有提供任何具体的实现,在<JAVA编程思想>中是这样描述的:"interface这个关键字产生了一个完全抽象的类,它根本就没有提供 ...
- 【转】javascript笔记之apply、call、bind用法
原文地址:https://www.cnblogs.com/coco1s/p/4833199.html apply.call 在 javascript 中,call 和 apply 都是为了改变某个函数 ...
- .NET Core:依赖注入
在Startup的ConfigureServices方法中加入需要依赖注入的东西. 每次从容器 中获取的时候都是一个新的实例:services.AddTransient<ITransient ...
- Java基础练习2(构造方法)
1.以下关于面向对象概念的描述中,不正确的一项是() A.在构造方法中,this()只能出现在构造方法第一行位置 B.在构造方法中,super()只能出现在构造方法第一行位置 C.this()和sup ...
- Promise(避免金字塔回调)
前后端分离开发,前端通过接口获取数据,但是有的页面不止一个接口,就会出现金字塔回调,可以通过 Promise 封装请求. request-data.js: function reqData(postu ...
- Fundebug微信小程序错误监控插件更新至1.1.0,新增test()与notifyHttpError()方法
摘要: 1.1.0新增fundebug.test()和fundebug.notifyHttpError()方法,同时大小压缩至15K. Fundebug是专业的小程序BUG监控服务,可以第一时间为您捕 ...
- 详解docker实战之搭建私有镜像仓库 - kurbernetes
1.实战目的 搭建企业私有的镜像仓库,满足从开发环境推送和拉取镜像.当我们使用k8s来编排和调度容器时,操作的基本单位是镜像,所以需要从仓库去拉取镜像到当前的工作节点.本来使用公共的docker hu ...
- ASP.NET Core 身份验证(一)
前言 这篇文章我想带领大家了解一下 ASP.NET Core 中如何进行的身份验证,在开始之前强烈建议还没看过我写的 Identity 系列文章的同学先看一下. Identity 入门系列文章: Id ...
- 《iOS 11 安全区域适配总结》
本文来自于腾讯Bugly公众号(weixinBugly),作者:sonialiu,未经作者同意,请勿转载,原文地址:http://mp.weixin.qq.com/s/W1_0VrchCO50owhJ ...
- MVC详解:mvc是什么?为什么要用MVC?MVC工作原理以及MVC优缺点
一.什么是MVC Model:模型层 View:视图层 Controller:控制层 MVC (Modal View Controler)本来是存在于Desktop程序中的,M是指数据模型,V是指用户 ...