Servlet中Request总结

Request和response对象原理:

1.Tomcat创建Servlet对象,调用init方法

2.Tomcat创建request,和response对象并且传递给service方法,作为参数 ,然后执行service方法
3. 使用request对象获取请求数据,然后我们将响应内容数据设置在response对象中 Tomcat从response对象中获取数据,处理完,响应给浏览器

request对象和response对象的作用

request是用来获取请求消息的,response对象是用来设置响应消息的

2. request对象的继承体系

ServletRequest—接口
HttpServletRequest—接口
org.apache.catalina.connector.RequestFacade 类(tomcat)实现类

3. request的功能

  1. 获取请求行数据

a.获取请求方式
	String getMethod()
b.获取虚拟目录
	String getContextPath()
c.获取Servlet的路径
	String getServlet Path()
d.获取get方式的请求参数
	String getQueryString()
e.获取URI
	String getRequestURI()虚拟目录加servlet的资源路径
f.获取URL
	String getRequestURL() 整个的请求地址
g.获取协议版本
	String getProtocol()
h.获取客户机的IP地址
	String getRemoteAddr()
  1. 获取请求头数据
a.	
	String getHeader(String name)通过请求头的名称来获取请求头的值
b.	
	Enumeration<String> getHeaderNames():自动获取所有请求头的名称
  1. 获取请求体数据
只有POST方式才有请求体,在请求体中封装了post请求体的参数 
a.	获取流对象
	BufferedReader getReader():获取字符输入流,只能操作字符数据
	ServletInputStream getInputSteam:获取字节输入流对象,可以操作所有的数据类型
b.	再从流对象中拿数据
  1. 中文乱码问题
Get方式:tomcat8已经将get方式乱码问题解决了
Post方式会乱码:
		在获取参数之前,设置request的编码格式为request.setCharacterEncoding(“utf-8)
  1. 请求转发:
    一种在服务器内部的资源跳转方式
a.	
通过request对象获取请求转发器对象
	Request.RequestDispatcher(String path)
b.	
使用转发器对象调用转发
	转发器对象.forward(ServletReaquest request,ServletResponse response)
c.	请求转发的特点
浏览器地址栏路径不发生变化
只能转发到当前服务器内部资源中
转发是一次请求
  1. 共享数据
域对象:
	一个有作用范围的对象,可以在范围内共享数据
Request域对象:
	代表一次请求的范围,一般用于请求转发的多个资源中共享数据
方法:
	1.	void setAttribute(String name,Object obj)存储数据
	2.	Object getAttribute(String name)通过键来获取
	3.	Void removeAttribute(String name)通过键来移除键值对
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值