HttpServletRequest 和 HttpServletResponse对象
来源:互联网 发布:常见面试算法题 编辑:程序博客网 时间:2024/06/05 15:10
HttpServletRequest 和 HttpServletResponse对象
HttpServletRequest对象
HttpServletRequest对象代表客户端的请求对象,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,通过这个对象提供的方法,可以获得客户端请求的所有信息。
HttpServletRequest继承ServletRequest接口,所以应该要先分析ServletRequest接口定义方法。
ServletRequest接口
public interface ServletRequest { //Request对象设置属性值方法相关 //保存一个属性值到request对象中,通常都使用于请求转发中 public void setAttribute(String name, Object o);//重点掌握 public Object getAttribute(String name); public void removeAttribute(String name); public Enumeration<String> getAttributeNames(); //Request对象获得请求参数方法相关 public String getParameter(String name);//重点掌握 public Enumeration<String> getParameterNames(); public String[] getParameterValues(String name);//注意返回的是数组类型,由于要支持复选框这种表单类型,所以应该是String数组类型 public Map<String, String[]> getParameterMap();//同上,不过这个是返回所有请求参数和值 //Request Body相关操作方法 //获得请求体(request body)的子节输入流(其实servlet对其有包装的流) public ServletInputStream getInputStream() throws IOException; //重点掌握 //获得请求体(request body)的缓冲输入流 public BufferedReader getReader() throws IOException;//重点掌握 //备注:由于流读一次之后就会被清空,所以getInputStream和getReader不能同时使用 //获得请求体(request body)的子节数组长度 public int getContentLength(); //获得请求体(request body)的MIME类型 public String getContentType(); //获得请求体(request body)的编码类型 public String getCharacterEncoding(); //设置请求体(request body)的编码类型 public void setCharacterEncoding(String env) throws UnsupportedEncodingException; //请求转发的关键方法 public RequestDispatcher getRequestDispatcher(String path);//重点掌握 //Servlet3.0之后的请求异步处理方法 public AsyncContext startAsync() throws IllegalStateException;//重点掌握 public AsyncContext startAsync(ServletRequest servletRequest, ServletResponse servletResponse) throws IllegalStateException; public AsyncContext getAsyncContext(); //获得web应用上下文对象 public ServletContext getServletContext();//重点掌握 . . .还有一些获得请求服务器地址端口服务名等方法不一一列举}
HttpServletRequest接口
/***Extends the javax.servlet.ServletRequest interface*to provide request information for HTTP servlets. *The servlet container creates an HttpServletRequest*object and passes it as an argument to the servlet's service*methods*/public interface HttpServletRequest extends ServletRequest { //获得客户端Cookie对象数组 public Cookie[] getCookies();//重点掌握 //获取Request的会话对象 public HttpSession getSession();//重点掌握 //获得客户端请求方法 public String getMethod(); //获取web项目的根路径 public String getContextPath();//重点掌握 //Returns the query string that is contained in the request URL after the path. public String getQueryString(); //Returns the session ID specified by the client. public String getRequestedSessionId(); //Checks whether the requested session ID is still valid. public boolean isRequestedSessionIdValid(); // public StringBuffer getRequestURL(); public String getServletPath(); //获得请求头信息相关方法 public String getHeader(String name); public Enumeration<String> getHeaders(String name); public Enumeration<String> getHeaderNames(); //Servlet3.0之后支持的文件上传功能方法 public Collection<Part> getParts() throws IOException, ServletException;//重点掌握 public Part getPart(String name) throws IOException, ServletException;//重点掌握}
HttpServletResponse对象
每一次客户端请求服务器端,服务器端会为每次请求生成对应的响应对象。HttpServletResponse对象中包含响应的数据。
ServletResponse接口
public interface ServletResponse { //获得response对象的输出流 public ServletOutputStream getOutputStream() throws IOException;//重点掌握 //获得response对象的输出流 public PrintWriter getWriter() throws IOException;//重点掌握 //备注:getOutputStream和getWriter两个方法不能同时使用,否则会报错。 //设置响应内容的ContentType public void setContentType(String type);//重点掌握 //设置响应内容的编码格式 public void setCharacterEncoding(String charset);}
HttpServletResponse接口
public interface HttpServletResponse extends ServletResponse { //向客户端增加Cookie对象 public void addCookie(Cookie cookie);//重点掌握 //重定向地址 public void sendRedirect(String location) throws IOException;//重点掌握 ...还有一些设置header信息的方法没有一一举例 定义了很多状态码(1xx、2xx、3xx、4xx、5xx)可以进入看看}
总结
Request对象就是对请求信息的封装,Response对象就是对响应信息的封装。你想从客户端获得的一些信息都来自于Request对象,你想让客户端获得的一切信息都源于Response对象。
参考
http://www.cnblogs.com/xdp-gacl/p/3789624.html
http://www.cnblogs.com/xdp-gacl/p/3798347.html
https://en.wikipedia.org/wiki/Request%E2%80%93response
1 0
- HttpServletRequest 和 HttpServletResponse对象
- HttpServletRequest和HttpServletResponse对象介绍
- HttpServletRequest和 HttpServletResponse对象的一些使用
- javaweb—HttpServletRequest和HttpServletResponse对象
- HttpServletRequest和HttpServletResponse API
- HttpServletRequest和HttpServletResponse详解
- HttpServletRequest 和HttpServletResponse
- HttpServletResponse和HttpServletRequest详解
- HttpServletRequest和HttpServletResponse详解
- HttpServletRequest和HttpServletResponse详解
- HttpServletRequest 和HttpServletResponse
- HttpServletRequest和HttpServletResponse详解
- HttpServletRequest和HttpServletResponse详解
- HttpServletRequest和HttpServletResponse
- HttpServletRequest和HttpServletResponse
- HttpServletRequest和HttpServletResponse
- HttpServletRequest和HttpServletResponse详解
- 【Servlet】HttpServletRequest和HttpServletResponse
- 二分查找的算法思想和实现过程
- 详解Java集合框架的接口和类层次关系
- Android 实战美女拼图游戏 你能坚持到第几关
- 64位整型使用
- 将偶数的二进制反转
- HttpServletRequest 和 HttpServletResponse对象
- github
- SQL语句中SUM与COUNT的区别深入分析
- 2022海选女主角
- mybatis ehcache的一点小记
- eclipse jad 反编译 插件安装
- Json解析较为复杂的数据(Map中含有List)从服务器获取城市数据实现三级联动
- MyEclipse取消验证Js的两种途径【转】
- qsort 调用技巧