java web 之request请求

Request

请求响应流程
在这里插入图片描述

1.request和response对象的原理
Request和response对象是由服务器创建的。我们只是使用
Request对象是来获取请求消息,response是来设置响应消息
Request对象集成体系结构
ServletRequest --接口
| 继承
HttpServletRequest --接口
| 实现
Org.apache.catalina.connector.RequestFavade 类(Tomcat)

2.request功能:获取请求消息
(1)获取请求消息数据
获取请求行、请求头、请求体、请求参数等数据
字节流:文件,图片ServletInputStream getInputStream():获取字节数据流,可以操作所有类型的数据
字符流:字符串Bufferreader getReader()获取字符数据流,只能操作字符数据

(2)其他功能
获取请求参数通用方式:不论get还是post 方法都一样
String getParameter(String name):根据参数名称获取参数值
String[] getParameterValues(String name):根据参数名称获取参数值的数组(复选框)
Enumeratioin GetParameterNames():获取所有请求参数的名称
Map<String,String[]> getPrameterMmap():获取所有从参数map
中文乱码问题:(在获取参数前设置)
Get方式乱码问题已经解决了(Tomcat8+)
Post方法 request.setCharacterEncoding(“utf-8”) 设置流的编码
请求转发:一种在服务器内部资源跳转的方式
步骤:1.通过request对象获取请求转发器对象:RequestDispatcher getRequestDispatcher(String path)
使用RequestDispatcher对象进行转发 forward(HttpServletRequest req, HttpServletResponse resp)

特点:1.浏览器地址栏路径没有发生变化
2.只能转发到当前服务器内部资源中
3.转发只是一次请求
共享数据:
域对象:一个有作用范围的对象,可以在范围内共享数据
Request域:代表一次请求的范围,一般用于请求转发的多个资源中共享数据
方法:setAttribute(String name, Object obj ):存储数据
2.Object getAttrutude(String name):通过键获取值
3.Void removeAttribute(String name):通过键移除键值对
request域的范围只有一次请求(包括请求后的转发,下图红框)

获取Servletcontext:getServletContext()

BeanUtils工具类,简化数据封装
封装所有传入参数到对象中 populate(Obj, map)
用于封装JavaBean的
1.JavaBean:标准的Java类
1.要求:
类必须被public修饰
必须提供空参的构造器
成员变量必须使用private修饰
提供公共的setter和getter类
2.功能:封装数据

3.概念:
成员变量:
属性:setter和getter方法截取后的产物
例如:getUsername() --> Username(去掉get) 首字母小写 -->username(属性)
通常属性和成员变量一样

方法:
setProperty()
getProperty()
Populate() 都是对属性操作?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值