request response
request 和 response
这两个对象是出现在service方法中.service方法是用来接收请求处理请求,完成响应的.
接受请求指的就是request对象
完成响应指的就是response对象.
request,response对象是怎么来的?
request和response都是服务器创建的
request是封装了浏览器发送过来的请求信息.
response可以理解成是一个空箱子.用来让我们放置想要响应给浏览器的数据.
//==========================================================================================================================================================
response 具体可以干嘛?
HTTP响应协议
响应首行 HTTP/1.1 200 描述信息
setStatus(int sc) ==> 设置状态码(设置良性的状态例如 200 302 304等) setStatus(404)
void sendError(int sc) ==> 设置状态码(设置表示错误的状态吗 404 500)
void sendError(int sc, String msg) ==> 设置状态码同时也设置描述信息 void sendError(404, "就是找不到!");
响应头
格式都是键值对 key:value , key:value1,value2
setHeader(String name, String value) ==> 该方法可以为响应设置一个响应头, 参数就是 键值对. key:value 设置相同的key 会覆盖.
setDateHeader(String name, long date) ==> 如果要添加long类型的header使用该方法
setIntHeader(String name, int value) ==> 如果要添加int类型的header使用该方法. content-length
addHeader(String name, String value) ==> 也是可以设置一个响应头. key:value1,value2 .适用于 一个key对应多个值. 调用add相当于给一个key添加多个值.
addCookie(Cookie cookie) ==> 操作后天要学习的cookie
addDateHeader(String name, long date) ==> 如果要添加long类型的header使用该方法
addIntHeader(String name, int value) ==> 如果要添加int类型的header使用该方法. content-length
响应空行
响应正文
getOutputStream ==> 获得一个输出的字节流对象 ,向浏览器输出字节流.
getWriter ==> 获得一个输出的字符流对象, 向浏览器输出字符流.
package cn.jiemoxiaodi.servlet.status; import java.io.IOException;
import java.io.PrintWriter; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; public class AServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { // response.sendError(404, "错啦啊啊 啊");
// response.sendError(302);
// 重定向
// response.setHeader("Location","http://www.baidu.com");//
response.sendRedirect("http://www.baidu.com"); } }
request response的更多相关文章
- request \response 总结
request&response request 1.获得信息的方法 1> 获得请求首行信息的方法 *getMethod *getContextP ...
- track message forwards, avoiding request loops, and identifying the protocol capabilities of all senders along the request/response chain
https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html The TRACE method is used to invoke a remote, ...
- Ng Http Request/response格式转换
angular作为Single Page Application推荐的交互方式当然是基于json的ajax调用.但今天要说的是当你不幸工作在一个遗留或者不可控制的服务上,而这服务是基于非json提交方 ...
- 过滤器中的chain.doFilter(request,response)
Servlet中的过滤器Filter是实现了javax.servlet.Filter接口的服务器端程序,主要的用途是过滤字符编码.做一些业务逻辑判断等.其工作原理是,只要你在web.xml文件配置好要 ...
- 对chain.doFilter(request,response)的理解
他的作用是将请求转发给过滤器链上下一个对象.这里的“下”指的是哪里 ? 指的是下一个filter,如果没有filter那就是你请求的资源. 一般filter都是一个链,web.xml 里面配置了几个就 ...
- chain.doFilter(request,response)含义
过滤器的生命周期一般都要经过下面三个阶段: 初始化 当容器第一次加载该过滤器时,init() 方法将被调用.该类在这个方法中包含了一个指向 Filter Config 对象的引用.我们的过滤器实际上并 ...
- controlling the variance of request response times and not just worrying about maximizing queries per second
http://highscalability.com/blog/2010/11/4/facebook-at-13-million-queries-per-second-recommends-minim ...
- ZeroMQ之Request/Response (Java)
自己最开始是在cloud foundry中接触过消息服务器(nats),或者说是消息中间件,也算是初步知道了一个消息服务器对于分布式的网络系统的重要性,后来自己也曾想过在一些项目中使用它,尤其是在一些 ...
- 【转】对Django框架架构和Request/Response处理流程的分析
本文转载于疯狂的蚂蚁. 一. 处理过程的核心概念 如下图所示django的总览图,整体上把握以下django的组成: 核心在于中间件middleware,django所有的请求.返回都由中间件来完成. ...
随机推荐
- Golang gzip的压缩和解压
package src import ( "bytes" "compress/gzip" ) func GzipEncode(in []byte) ([]byt ...
- NOSQL数据模型和CAP原理
NOSQL数据模型和CAP原理 http://blog.sina.com.cn/s/blog_7800d9210100t33v.html 我本来一直觉得NoSQL其实很容易理解的,我本身也已经对NoS ...
- 2.1 python使用MongoDB 示例代码
import pymongo client = pymongo.MongoClient('localhost', 27017) # MongoDB 客户端 walden = client['walde ...
- 关于StrangeIOC框架
在Unity上进行开发,请先看对其开发模式应用的讨论: http://www.reddit.com/r/Unity3D/comments/1nb06h/unity_design_patterns_an ...
- Activity数据传递
1.在启动界面里通过intent调用方法putExtra添加欲携带数据 2.在被启动界面里通过getIntent方法获取Intent对象 3.通过intent的getXxxExtra方法获取对应的数据
- [转]ExtJS之遍历Store
原文地址:http://blog.sina.com.cn/s/blog_67cc6e7d0100ox6u.html ExtJS中,一般很少需要遍历Store,因为它的selectModel很好用,无论 ...
- Java部署_IntelliJ创建一个可运行的jar包(实践)
一.本文目的:使用Intellij Idea 13生成一个简单可执行的jar,用于快速在linux验证某个功能 二.项目源码 1.结构图 2.StaticC1.java 1 2 3 4 5 6 7 ...
- Spring+EhCache缓存实例
一.ehcahe的介绍 EhCache 是一个纯Java的进程内缓存框架,具有快速.精干等特点,是Hibernate中默认的CacheProvider.Ehcache是一种广泛使用的开源Java分布式 ...
- JS点击更换网页背景颜色
JS部分 <script type="text/javascript"> // 定义可换的颜色 var colors = ["#ff0000", & ...
- Lua和C++交互详细总结
转自:http://cn.cocos2d-x.org/tutorial/show?id=1474 一.Lua堆栈 要理解Lua和C++交互,首先要理解Lua堆栈. 简单来说,Lua和C/C++语言通信 ...