http协议,ServletRequest和ServletResponse
Posted LRjavas
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了http协议,ServletRequest和ServletResponse相关的知识,希望对你有一定的参考价值。
http协议:
什么是http协议?简单来说就是客户端和服务器端通信的数据格式,客户端与服务器端的沟通方式。。分为请求协议和响应协议。
请求协议:客户端发送请求要遵循的数据格式,如把数据封装到协议规定的格式里,发送给服务器端
响应协议:服务器做出响应要遵循的数据格式,如把html,图片封装到规定的协议里,发送给客户端
每次请求都会有响应头和请求头。
HttpServletRequest,HttpServletResponse:
上面两个接口是为了更好的应用http协议而出现的,分别继承ServletRequest接口和ServletResponse接口。
可以通过HttpServletResponse对象设置头信息,实现一些功能。
1,重定向:
response.setStatus(302);
response.setHeader("location",请求路径)
//在实际项目中我们常用response.sendRedirect(请求路径)完成重定向
2,页面定时刷新
3,禁用缓存
response.setHeader(“Cache-Conreol”,“no-cache”);
response.setHeader("Prama","no-cache");
response.setDataHeader(“Expores”,“-1”);
以上就是常用的设置头信息。
开发中HttpServletResponse对象常用的方法
1,向页面输出中文乱码问题
response.setContentType(“text/html;charset=utf-8”);
2,向客户端输出内容
response.getWriter.write(内容);
ServletRequest
它是servlet三大域对象之一,范围:一次请求范围内,一次请求一个request域
开发中HttpServletRequest对象常用的方法
1,操作域对象
request.getAttribute(String name); //向域中存值
request.setAtrribute(String name); //向域对象中取值
request.removeAttribute(String name);//向域对象中移除值
2,获取项目路径
request.getContextPath();
3,获取请求的参数
request.getParameter(String name);
4,解决参数中文乱码问题
post方式提交:
request.setCharcterEncoding("utf-8");
get方式提交:
加入前台传了个aa=”你好“
String name = request.getParameter(”aa“);//此时name是乱码的
String name2 = new String(name.getBytes("ISO-8859-1").”utf-8“);//toncat默认的是ISO-8859-1,把它转为utf-8
5,转发
request.getRequestDispatcher(请求路径).forward(request,response);
重定向和转发的区别:
2,重定向两次请求和响应,转发一次请求一次响应。
3,重定向不能使用request域对象传值(两次请求),转发可以。
4,重定向可以定向到任何网页(网络上的资源),转发只能在web应用内部
以上是关于http协议,ServletRequest和ServletResponse的主要内容,如果未能解决你的问题,请参考以下文章
javaweb04 ServletRequest&ServletResponse
HttpServletRequest和ServletRequest的区别以及HttpServletRequest对象方法的用法
HttpServletRequest,HttpServletResponse