request和response:
request是代表HTTP请求信息的对象,response是代表HTTP响应信息的对象。
当浏览器发请求访问服务器中的某一个Servlet时,服务器将会调用Servlet中的service方法来处理请求。在调用service方法之前会创建出request和response对象。
其中request对象中封装了浏览器发送给服务器的请求信息(请求行、请求头、请求实体等),response对象中将会封装服务器要发送给浏览器的响应信息(状态行、响应头、响应实体),在service方法执行完后,服务器再将response中的数据取出,按照HTTP协议的格式发送给浏览器。
响应结束时,服务器会销毁request和response对象。
request对象:
例如: 小方急需用钱,就向小王借钱,小王没钱然后向小李借钱给了小方。
请求参数
用户发送登录请求,后台获取用户发送的请求参数
//获取请求中携带的参数
String uname = request.getParameter("uname");
String pwd = request.getParameter("pwd");
获取请求参数中间出现的乱码问题
//中文乱码处理方案1(get请求):new String(uname.getBytes("ISO-8859-1"),"utf-8")
示例:uname = new String(uname.getBytes("ISO-8859-1"),"utf-8");
//中文乱码处理方案2(post请求)
示例:request.setCharacterEncoding("utf-8")
//中文乱码处理方案2(修改tomcat配置)
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URLEncoding="utf-8"/>
request特点:
1.一次请求,多次转发
2.请求转发后,地址栏中的地址不发生改变
3.request请求转发可以携带参数
response对象:
例如: 小方急需用钱,就向小王借钱,小王没钱然后给小方说你找小李借钱。
重定向:
当浏览器向服务器发请求访问某一个资源A,资源A在响应时通知浏览器需要再进一步请求才能获取到对应的资源,浏览器再次发请求访问服务器中的资源B,最终由资源B响应浏览器要获取的资源,这个过程叫做重定向。
response特点:
1.至少两次请求
2.地址栏中的地址会发生改变
3.不能携带参数