request:获取浏览器的请求数据
获取路径方法
<!-- 获取虚拟目录名称 -->
String getContextPath()
<!-- 获取Servlet映射路径 -->
String getServletPath()
<!-- 获取访问者ip地址 -->
String getRemoteAddr()
<!-- URI:统一资源标识符;由项目虚拟目录/Servlet映射路径组成,访问内部资源居多;(/hello) -->
String getRequestURI()
<!-- URL:统一资源定位符;浏览器访问路径;访问项目外部的资源就使用URL;(http://localhost:8080/hello) -->
String getRequestURL()
获取请求头
<!-- 根据请求同获取一个值 -->
String getHeader(String name)
<!-- 根据请求同获取多个值 -->
Enumeratiom<String> getHeaders()
<!-- 获取所有请求头名称 -->
Enumeratiom<String> getHeaderNames
获取请求参数信息
<!-- 根据名称获取数据 -->
String getParameter(String name)
<!-- 根据名称获取所有数据 -->
String[] getParameterValues(String name)
<!-- 获取所有名称 -->
Enumeratiom<String> getParameterNames()
<!-- 获取所有参数键值对
返回的是一个map集合,通过map集合,获取到键值对,有keyset()和entrySet()两个方法;
通过键找值,返回的是一个字符串数组,可使用Arrays的alist方法去方便打印。 -->
Map<String,String[]> getParameterMap()
流对象获取请求信息 用于获取请求体,主要用于post请求方式
<!-- 获取字符输入流 -->
BufferReader getReader()
<!-- 获取字节输入流 -->
ServletInputStream getInputStream()
请求域: 可以在一次请求范围内进行共享数据(即发起请求到响应结束)。
作用: 一般用于请求转发的多个资源中共享数据。
<!-- 向请求域对象储存数据 -->
void setAttribute(String name,object value)
<!-- 通过名称获取请求域中的数据 -->
object getAttribute(String name)
<!-- 通过名称移除请求域中的数据 -->
void removeAttribute(String name)
请求转发: 客户端的一次请求到达后,发现需要借助其他Servlet来实现功能;整个操作都在一次请求内。
<!-- String name:要转发页面的路径 -->
request.getRequestDispatcher(String name).forward(request,response)
请求包含: 可以合并其他Servlet中的功能一起响应给客户端。
request.getRequestDispatcher(String name).include(request,response)
response:服务器给浏览器相应的结果
常用状态码:200-成功 302-重定向 304-请求资源未改变,使用缓存
400-请求错误,常见于请求参数错误 404-资源未找到 405-请求方式不支持 500-服务器错误
<!-- 获取字节响应输出流对象 -->
ServletOutputstream getOutputStream()
<!-- 设置响应内容类型,解决中文乱码 -->
void setContentType("text/html;charset="UTF-8"")
<!-- 获取响应字符输出流对象 -->
printWriter getWriter()
<!-- 缓存: 对于不经常变化的数据,我们可以设置合理缓存时间,以避免浏览器频紧请求服务器。以此来提高效率
设置消息头,添加缓存-->
void setDateHeader(String name,long time)
<!-- 定时刷新 response.serHeader()-->
void setHeader()
请求重定向
<!-- resp.setRedirect(req.getContextPath()+"/hello") -->
void setRedirect(String name)