javaWeb的Response和Request基础
Posted zzl521
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javaWeb的Response和Request基础相关的知识,希望对你有一定的参考价值。
1 Response
a 发送错误响应
.sentError() //有一个参数的和2个参数的
b 设置响应头
.setHeader(String name,String value) //还有好几个,这里只介绍一个
响应重定向:302过程?
// 302 The first one // response.setStatus(302); // response.setHeader("Location",request.getContextPath()+"/index.jsp"); // 302 The Second response.sendRedirect("/pra/index.jsp");
响应定时刷新指定页面(相当于定时重定向):
// Regularly updated response.setHeader("Refresh", "5;url="+request.getContextPath()+"/index.jsp");
c 响应体的字节流/字符流
d request的域属性 其与session和application并称为三大域,每一个域都有自己的setAttribute() getAttribute() removeAttribute()的方法
e 响应编码
服务器在发送时要设置 setCharacterEncording("utf-8") 和 setContentType("text/html;characster=utf-8")
这样浏览器(客户端)在获取后才能正常编码
2 Request
a 获取IP/request Method/浏览器的种类(识别用户)/Refer 防盗链
// 获取主机名等东西 // System.out.println(request.getRemoteAddr()); // System.out.println(request.getMethod()); // System.out.println(request.getLocalAddr()); // System.out.println(request.getHeader("User-Agent")); // System.out.println(request.getHeader("Refer"));
b 获取URL的相关方法
c 请求参数 不论get还是post都可以获取请求参数的
GET中:参数在url之后
http://localhost:8080/pra/Aservlet?one=123&two=3213 //参数和url之间用 ? 连接,参数之间用 & 连接,参数名与值之间用 = 连接
POST中:参数在请求体中
d forward/include 请求转发过程?
forward:只保留前一个Servlet的头信息,不保留其体,第一个的请求体不能太大
includ中:既保留前一个servlet的header,有保留其 体
forwark/include 和 重定向的关系?
重定向:在不同请求中,可能会改变servlet(request和response)
forward/include:在同一请求中,request和response对象不会改变
f 请求编码
? 在页面提交表单时,如果你的页面是utf-8类型的,那么你传递的参数就是utf-8类型的
? POST请求:setCharacterEncording("utf-8") 和 setContentType("text/html;characster=utf-8")
? GET请求:我们运用java的字符串自己搞吧
以上是关于javaWeb的Response和Request基础的主要内容,如果未能解决你的问题,请参考以下文章
[JavaWeb-HTTP]request对象和response对象的原理
javaweb中重定向和请求转发(response.sendRedirect()和request.getRequestDispatcher(rul).forward(request,response)