服务器处理请求的流程:
服务器每次收到请求时,都会为这个请求开辟一个新的线程
服务器会把服务器的请求数据封装到request对象中,request就是请求数据的载体
服务器还会创建response对象,这个对象与客户端连接在一起,它可以用来向客户端发送响应
response
其类型为HttpServletResponse–>与http协议相关的类型
ServletResponse–>与协议无关的类型
http状态码:
1打头代表还没完事
2打头代表成功
3打头代表中转,302重定向
4打头代表客户端错误,404找不到资源
5打头代表服务器错误
sendError(int sc) 发送错误状态码,例如404,500
sendError(int sc,String msg) 附带一个错误信息
sendStatus(int sc) 发送成功的状态码,也可以用来发送302(Servlet的doGet函数中使用)
响应头:
响应体
通常是HTML,也可以是图片
response的两个流
重定向
设置302,设置Location!其中变化的只有后者,所以java提供了一个快捷方法,完成重定向
sendRedirect(String location方法
请求request URI由项目名+Servlet路径
request
封装了客户端所有的请求数据
请求行
请求头
空行
请求提(GET没体)
获取请求参数
案例
doPost
请求转发和请求包含
request域
请求转发和重定向的区别
编码
请求编码
请求编码练习
URL编码