HttpServletRequest对象代表客户端浏览器的请求,当客户端浏览器通过HTTP协议访问服务器时,HTTP请求中的所有信息都会被Tomcat所解析并封装在这个对象中,通过这个对象提供的方法,可以获得客户端请求的所有信息。
获取请求信息
- req.getRequestURL()
 
返回客户端浏览器发出请求时的完整URL。
- req.getRequestURI()
 
返回请求行中指定资源部分。
- req.getRemoteAddr()
 
返回发出请求的客户机的IP地址。
- req.getLocalAddr()
 
返回WEB服务器的IP地址。
- req.getLocalPort()
 
返回WEB服务器处理Http协议的连接器所监听的端口。
import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;import java.io.PrintWriter;/*** 获取请求信息*/public class GetRequestinfoServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//获取浏览器发出请求的完整urlString requestUrl = req.getRequestURL().toString();//获取请求行中的指定资源部分String requesturi = req.getRequestURI();//获取发送请求的客户端ip地址String clientAddr = req.getRemoteAddr();//获取服务端ip地址String serverAddr = req.getLocalAddr();//获取服务端监听端口int port = req.getLocalPort();PrintWriter printWriter = resp.getWriter();printWriter.println(requestUrl);printWriter.println(requesturi);printWriter.println(clientAddr);printWriter.println(serverAddr);printWriter.println(port);}}
<servlet><servlet-name>getRequestServlet</servlet-name><servlet-class>com.itbaizhan.GetRequestinfoServlet</servlet-class></servlet><servlet-mapping><servlet-name>getRequestServlet</servlet-name><url-pattern>/getRequestServlet.do</url-pattern></servlet-mapping>

