request常用获取信息的方法

servlet代码

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class DemoServlet extends HttpServlet {

	/**
	 * @see javax.servlet.http.HttpServlet#doGet(javax.servlet.http.HttpServletRequest,
	 *      javax.servlet.http.HttpServletResponse)
	 */
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		response.setContentType("text/html");
		response.setCharacterEncoding("UTF-8");
		PrintWriter out = response.getWriter();
		out.println("------服务器信息------" + "
"); out.println("获取请求的URL中指向请求上下文的那部分字符串【request.getContextPath()】:" + request.getContextPath() + "
"); out.println("获取请求使用的协议名【request.getScheme()】:" + request.getScheme() + "
"); out.println("获取请求使用的具体协议版本【request.getProtocol()】:" + request.getProtocol() + "
"); out.println("获取请求URL上的主机名【request.getServerName()】:" + request.getServerName() + "
"); out.println("获取请求URL上的端口号【request.getServerPort()】:" + request.getServerPort() + "
"); out.println("获取最终接收请求的主机地址【request.getLocalAddr()】:" + request.getLocalAddr() + "
"); out.println("获取最终接收请求的主机名【request.getLocalName()】:" + request.getLocalName() + "
"); out.println("获取最终接收请求的端口【request.getLocalPort():】" + request.getLocalPort() + "
"); out.println("获取请求的方法【request.getMethod():】" + request.getMethod() + "
"); out.println("获取请求URL从端口到请求参数中间的部分【request.getRequestURI():】" + request.getRequestURI() + "
"); out.println("获取请求URL【request.getRequestURL():】" + request.getRequestURL() + "
"); out.println("获取请求URL中访问servlet的那部分路径【request.getServletPath():】" + request.getServletPath() + "
"); out.println("获取给定虚拟路径在服务端的真实路径,从servlet3.0开始【request.getServletContext().getRealPath('/'):】" + request.getServletContext().getRealPath("/") + "
"); out.println("获取给定虚拟路径在服务端的真实路径,从servlet2.3开始【request.getSession().getServletContext().getRealPath('/'):】" + request.getSession().getServletContext().getRealPath("/") + "
"); out.println("
"); out.println("------客户端信息------" + "
"); out.println("获取发送请求的客户端地址【request.getRemoteAddr():】" + request.getRemoteAddr() + "
"); out.println("获取发送请求的客户端主机名【request.getRemoteHost():】" + request.getRemoteHost() + "
"); out.println("获取发送请求的客户端端口【request.getRemotePort():】" + request.getRemotePort() + "
"); out.println("
"); out.flush(); out.close(); } }

web.xml




	Archetype Created Web Application
	
		DemoServlet
		This is the display name of my J2EE component
		This is the description of my J2EE component
		DemoServlet
	

	
		DemoServlet
		/servlet/DemoServlet
	




pom.xml


	4.0.0
	Demo.Web
	Web-Snapshot
	war
	1.0
	Web-Snapshot Maven Webapp
	http://maven.apache.org
	
		Web-Snapshot
		
			
				org.apache.maven.plugins
				maven-surefire-plugin
				
					
						**/*Test.class
					
				
			
			
			
				org.apache.maven.plugins
				maven-compiler-plugin
				2.3.1
				
					1.6
					1.6
					UTF-8
				
				
					
						org.codehaus.plexus
						plexus-compiler-javac
						1.8.1
					
				
			
		
	

	
		
		
			junit
			junit
			4.12
			test
		
		
		
			javax.servlet
			javax.servlet-api
			3.0.1
			provided
		
		
		
			javax.servlet.jsp
			jsp-api
			2.2
			provided
		
		
		
			taglibs
			standard
			1.1.2
		
		
			javax.servlet
			jstl
			1.1.2
		
	



其他运行环境信息

tomcat7
访问url:http://192.168.26.31/Web-Snapshot/servlet/DemoServlet
服务端ip: 192.168.26.31
客户端ip: 192.168.26.32

结果

------服务器信息------
获取请求的URL中指向请求上下文的那部分字符串【request.getContextPath()】:/Web-Snapshot
获取请求使用的协议名【request.getScheme()】:http
获取请求使用的具体协议版本【request.getProtocol()】:HTTP/1.1
获取请求URL上的主机名【request.getServerName()】:192.168.26.31
获取请求URL上的端口号【request.getServerPort()】:80
获取最终接收请求的主机地址【request.getLocalAddr()】:192.168.26.31
获取最终接收请求的主机名【request.getLocalName()】:GJB-PC
获取最终接收请求的端口【request.getLocalPort():】80
获取请求的方法【request.getMethod():】GET
获取请求URL从端口到请求参数中间的部分【request.getRequestURI():】/Web-Snapshot/servlet/DemoServlet
获取请求URL【request.getRequestURL():】http://192.168.26.31/Web-Snapshot/servlet/DemoServlet
获取请求URL中访问servlet的那部分路径【request.getServletPath():】/servlet/DemoServlet
获取给定虚拟路径在服务端的真实路径,从servlet3.0开始【request.getServletContext().getRealPath('/'):】E:\java\apache-tomcat-7.0.55\webapps\Web-Snapshot\
获取给定虚拟路径在服务端的真实路径,从servlet2.3开始【request.getSession().getServletContext().getRealPath('/'):】E:\java\apache-tomcat-7.0.55\webapps\Web-Snapshot\

------客户端信息------
获取发送请求的客户端地址【request.getRemoteAddr():】192.168.26.32
获取发送请求的客户端主机名【request.getRemoteHost():】192.168.26.32
获取发送请求的客户端端口【request.getRemotePort():】52859

你可能感兴趣的:(Java,EE)