HttpServletRequest简介
Servlet API中定义的ServletRequest接口类用于封装请求消息。
HttpServletRequest是专用于HTTP协议的ServletRequest子接口,它用于封装HTTP请求消息。
获取请求行的相关信息
在service()方法内部调用HttpServletRequest对象的各种方法来获取请求消息。
HTTP请求消息的请求行包括请求方式、资源路径和HTTP协议版本:
getMethod方法返回HTTP请求消息中的请求方式。
getRequestURI方法返回请求行中的资源名部分。
getQueryString 方法返回请求行中的参数部分。
getProtocol方法返回请求行中的协议名和版本。
getContextPath方法返回请求资源所属于的WEB应用程序的路径。
getPathInfo方法返回请求URL中的额外路径信息。额外路径信息是请求URL中的位于Servlet的路径之后和查询参数之前的内容,它以“/”开头。
getPathTranslated方法返回URL中的额外路径信息所对应的资源的真实路径。
getServletPath方法返回Servlet的名称或Servlet所映射的路径。
获取网络连接信息
getRemoteAddr方法返回发出请求的客户机的IP地址,其格式为
getRemoteHost方法返回发出请求的客户机的完整主机名
getRemotePort方法返回发出请求的客户机所使用的网络接口的端口号。
getLocalAddr方法返回WEB服务器上接收当前请求的网络接口的IP地址。
getLocalName方法返回WEB服务器上接收当前请求的网络接口的IP地址所对应的主机名。
getLocalPort方法返回WEB服务器上接收当前请求的网络接口的端口号。
getServerName方法返回当前请求所指向的主机名。
getServerPort方法返回当前请求所连接的服务器端口号。
getScheme方法返回请求的协议名
getRequestURL方法返回客户端发出请求时的完整URL。
地址栏中:http://localhost:8080/demo/servlet/test
请求消息:不包含消息头字段Referer
MyHtml.html
<a href=”http://localhost:8080/demo/servlet/test”>dddd</a>
点击超链接,是向web服务器第二次发送了一个servlet请求。
请求消息,包含Referer头字段,超链接所在的html页面的url地址
Referer:http://localhost:8080/demo/MyHtml.html
为了防止“盗链”
servlet:获取请求消息封装的referer头字段的值
如果Referer字段的值为空
如果不为空
“http;//”+requst.getServerName()
http://localhost
test.js
document.write(“假设这是很多重要的js代码” )