response对象和request对象详解

request方法列举:
request.getAuthType() // 获取保护servlet的认证方案名(BASIC或SSL),未受保护的servlet返回的就是null
request.getCharacterEncoding() // 获取字符编码
request.getContentLength()// 返回请求体内容的长度
request.getContentType() // 获取内容类型
request.getContextPath() // 获取上下文路径,就是"/"+工程名
request.getLocalAddr() // 获取应用服务器的IP地址
request.getLocalName() // 获取应用服务器的主机名
request.getLocalPort() // 获取应用服务器的端口号
request.getMethod() // 获取请求方式获取请求方式(GET与POST为主,也会有PUT、DELETE、INPUT)
request.getPathInfo()
request.getPathTranslated()
request.getProtocol() // 获取客户端向服务端传送数据使用的协议名称
request.getQueryString() // 获取追加到Url后面的查询字符串
request.getRemoteAddr() // 获取发出请求的客户端的IP地址
request.getRemoteHost() // 获取发出请求的客户端的主机名
request.getRemotePort() // 获取发出请求的客户端的端口号
request.getRemoteUser() // 如果用户已经过认证,则返回发出请求的用户登录信息 
request.getRequestedSessionId() // 获取sessionId
request.getRequestURI() // 获取"/"+工程名+请求路径
request.getRequestURL() // 获取完整的请求地址,不带queryString
request.getScheme() // 获取当前链接使用的协议,一般应用就是http,SSL返回https
request.getServerName() // 获取URL请求的名字(以Ip请求就是Ip,以域名请求就是域名)
request.getServerPort() // 获取URL请求的端口号
request.getServletPath() // 获取请求路径
request.isSecure() // 获取此请求是否使用安全协议(比如https)


我从本地发起一个请求"http://localhost:8080/TestWeb/request?a=1&b=2&c=3"
返回结果:
request.getAuthType():null

request.getCharacterEncoding():null

request.getContentLength():0

request.getContentType():application/x-www-form-urlencoded

request.getContextPath():/TestWeb

request.getLocalAddr():127.0.0.1

request.getLocalName():dell

request.getLocalPort():8080

request.getMethod():POST

request.getPathInfo():null

request.getPathTranslated():null

request.getProtocol():HTTP/1.1

request.getQueryString():a=1&b=2&c=3

request.getRemoteAddr():127.0.0.1

request.getRemoteHost():127.0.0.1

request.getRemotePort():3405

request.getRemoteUser():null

request.getRequestedSessionId():B198D2D352F2F23A1B3754246D68B803

request.getRequestURI():/TestWeb/request

request.getRequestURL():http://localhost:8080/TestWeb/request
request.getScheme():http

request.getServerName():localhost

request.getServerPort():8080

request.getServletPath():/request

request.isSecure():false


response方法列举:
setContentType() 告知浏览器数据类型 
setCharacterEncoding() 设置Response的编码方式 
setHeader() 设置消息头
setIntHeader() 通知浏览器在给定的时间后刷新,时间以秒为单位 
setDateHeader() 处理页面缓存,防止JSP或者Servlet中的输出被浏览器保存在缓冲区中。 java中一般设置为response.setDateHeader("Expires", 0) 与jsp中response.setDateHeader("Expires", -1)效果一致 
setStatus() 设置相应状态码 
sendError() 返回服务器的预设错误网页并显示错误信息。response.sendError(404)返回的Content-Type:text/html 
sendRedirect() 重定向页面 
getOutputStream() 获取通向浏览器的字节流(同一次请求处理中,字节流和字符流不能同时存在) 
getWriter() 获取通向浏览器的字符流(同一次请求处理中,字节流和字符流不能同时存在) 
addCookie() 添加Cookie encodeURL() 对给定的url进行编码,以用于sendRedirect方法; 如果不需要编码,则直接返回(未经修改的)url。 
encodeRedirectURL() 都对url附加上jsessionid参数进行了处理,如果需要,则在url的 path后面附加上;jsessionid=xxx;如果不需要则直接返回传入的url。

原文:https://blog.csdn.net/weixin_39352976/article/details/79402989
版权声明:本文为博主原创文章,转载请附上博文链接!

原文地址:https://www.cnblogs.com/alex-xyl/p/11214241.html