Oracle培训(四十三)——Servlet第三章知识点总结——处理响应

Oracle培训(四十三)——Servlet第三章知识点总结——处理响应

知识点预览

1.HTTP响应信息

2.设置请求重定向(客户端跳转浏览器完成的)

3.设置自动刷新和等待

4.其他

1.HTTP响应信息

网络中数据以包的形式存在(不同协议下的数据包不一样),其中从客户端发送给服务器端的数据包的格式

消息体:普通文本、二进制流(比如图片、二维码(服务器端动态生成的图片))

设置状态码(HttpServletResponse接口定义)

response.setStatus(HttpServletResponse.SC_NOT_FOUND);

处理请求和响应

i. 设置响应状态行

1. 状态行分为HTTP协议、状态码和状态描述三个部分

2. 状态描述与状态码直接相关

a) HTTP状态码(熟悉常用状态码):

b) 100-199:表示信息性代码,标示客户端应该采取的其他动作,请求正在进行。

c) 200-299:表示客户请求成功。

d) 300-399:表示用于已经移走的资源文件,指示新的地址。

e) 400-499:表示由客户端引发的错误。

f) 500-599:表示由服务器端引发的错误。

3. HTTP协议由服务器确定

ii. 设置状态码

1. 使用HttpServletResponsesetStatus(HttpServletResponse.SC_NOT_FOUND)方法

2. 使用HttpServletResponsesendError(HttpServletResponse.SC_NOT_FOUND,”找不到资源”);

3. Ex /web_0301_response_status/src/com/test/servlet/SendErrorServlet.java

iii. 在使用PrintWriter向客户端输出信息之前,设置状态码

1. resp.sendError(HttpServletResponse.SC_NOT_FOUND,”找不到资源”);

2. PrintWriter out = resp.getWriter();

iv. 设置响应头(setHeader

1. HttpServletResponse对象用于操纵响应的HTTP

2. 目的用于告诉客户端

a) 发送回来的内容的类型

b) 有多少内容被正被发送

c) 发送内容的服务器的类型

3. 常用的方法(查询对应的api手册,了解相关用法)

a) setHeader()

b) setContentType()

c) addCookie()

v. 设置响应消息体

1. HttpServletResponse对象负责将信息返回给客户端

2. HttpServletResponse对象只产生一个空的HTTP响应

3. 传回自定义的内容需要使用getWriter()或者getOutputStream()方法

a) 传送普通文本

PrintWriter out = response.getWriter();

out.println("<html>");

out.println("<head>");

out.println("<title>Hello World!</title>);

b) 传送二进制内容

如:验证码

ex /web_0302_response_content_type/src/com/test/servlet/SetContentTypeImageServlet.java

2.设置请求重定向(客户端跳转浏览器完成的)

a) 把请求重定向到一个完全不同的URL

i. /web_0303_response_send_redirect/src/com/test/servlet/SimpleSendRedirectServlet.java

b) 请求重定向原理

i. 客户端发送请求到服务器端http://localhost:8080/web/SimpleSendRedirectServlet.do

ii. 服务器端发送一个响应体(其中包含了状态码302,和一个loactionhttp://localhost:8080/web/SendErrorServlet.do

iii. 最终将用户请求的资源重新定向到后者

iv. 特点

1. 客户端发送两次请求

2. 地址栏里显示的是Location URL(第二次请求的地址)

3.设置自动刷新和等待

a) 在指定时间内自动刷新当前页或到一个新的页面

i. /web_0304_response_header_refresh/src/com/test/servlet/AutoRefreshServlet.java

其他

MIME:多功能

注册表里注册后缀名

H:\Program files\Tomcat 6.0\conf\web.xml

<mime-mapping>

连接跟踪

查询字符串

getpost区别:get在浏览器地址栏显示参数,post不显示

二进制流:必须post提交(数据的安全性)

request.getParameter(“”);

你可能感兴趣的:(oracle培训)