HttpServletResponse - 和http协议相关的类型
传输状态码,方法如下
sendError(int sc)sendError(int sc String msg)sendStatus(int sc)响应头:Content—Type,Refresh,Location等等,以下响应头分别适用于单值或多值,还可以适用于加类型的响应头。
setHeader(String name , String value) ;addHeader(String name , String value) ;setIntHeader(String name , int value) ;addIntHeader(String name , int value) ;setDateHeader(String name , long value) ; 适用于单值的毫秒类型的响应头。addDateHeader(String name , long value) ;
通过响应头的设置可以完成,定向转发,定时刷新,禁用缓存的行为。
标签可以代替响应头。响应体:通常是html、也可以是图片
ServletOutputStream ,用来向客户端发送字节数据PRintWriter , 用来向客户端发送字符数据!需要设置编码。设置编码为response.setCharacterEncoding(“utf-8”) ;两个流不能同时用。重新定向的方法 sendRedirect(“地址信息”) ;
封装了所有客户端的请求数据。
获取常用信息
获取客户机的请求方式 , request.getMethod() ;获取客户机的ip , request.getRemoteAddr() ;获取请求头
String getHeader(String name)int getIntHeader(String name)long getDateHeader(String name)Enumeration getHeaders(String name) 获取多值请求头
可以通过获取User-Agent识别用户的浏览器和系统信息。
获取请求的URL
例: http://localhost:8080/myproject/MyServlet?username=xxxx&passWord=yyyyy
String getScheme() ; 获取协议 : http
String getServerName() ; 获取服务器名 : localhostString getServerPort() ; 获取服务器端口 : 8080String getContextPath() ; 获取项目名称 : /myprojectString getServletPath() ; 获取servlet部分 : /MyServletString getQueryString() ; 获取参数部分 : username=xxxx&password=yyyyyString getRequestURI() ; 获取请求URI,等于项目名加Servlet路径 : /myproject/MyServletString getRequestURL() ; 获取请求URL,等于不包含参数的整个请求路径 : http://localhost:8080/myproject/MyServlet获取请求参数
String getParameter(String name) ; 获取指定名称的参数String[] getParameterValues(String name) ; 适用于获取多值的指定名称的参数Enumeration getParameterNames() ; 获取所有请求参数的名称MapURL编码
是客户端与服务器之间传递参数的一种方式。URL编码需要先指定一种字符编码,把字符串解码后,得到byte[] ,经过处理显示出来Post请求默认使用URL编码,tomcat会自动使用用URL解码。URL编码: String username = URLEncoder.encode(username , “utf-8”) ;URL解码: String username = URLDecoder.decode(username , “utf-8”) ;新闻热点
疑难解答