`
lxz891117
  • 浏览: 33385 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

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

web.xml

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
	<display-name>Archetype Created Web Application</display-name>
	<servlet>
		<servlet-name>DemoServlet</servlet-name>
		<display-name>This is the display name of my J2EE component</display-name>
		<description>This is the description of my J2EE component</description>
		<servlet-class>DemoServlet</servlet-class>
	</servlet>

	<servlet-mapping>
		<servlet-name>DemoServlet</servlet-name>
		<url-pattern>/servlet/DemoServlet</url-pattern>
	</servlet-mapping>
</web-app>



pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>Demo.Web</groupId>
	<artifactId>Web-Snapshot</artifactId>
	<packaging>war</packaging>
	<version>1.0</version>
	<name>Web-Snapshot Maven Webapp</name>
	<url>http://maven.apache.org</url>
	<build>
		<finalName>Web-Snapshot</finalName>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<configuration>
					<includes>
						<include>**/*Test.class</include>
					</includes>
				</configuration>
			</plugin>
			<!-- compile plugins -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>2.3.1</version>
				<configuration>
					<source>1.6</source>
					<target>1.6</target>
					<encoding>UTF-8</encoding>
				</configuration>
				<dependencies>
					<dependency>
						<groupId>org.codehaus.plexus</groupId>
						<artifactId>plexus-compiler-javac</artifactId>
						<version>1.8.1</version>
					</dependency>
				</dependencies>
			</plugin>
		</plugins>
	</build>

	<dependencies>
		<!-- 单元测试 -->
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.12</version>
			<scope>test</scope>
		</dependency>
		<!-- servlet -->
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>javax.servlet-api</artifactId>
			<version>3.0.1</version>
			<scope>provided</scope>
		</dependency>
		<!-- jsp -->
		<dependency>
			<groupId>javax.servlet.jsp</groupId>
			<artifactId>jsp-api</artifactId>
			<version>2.2</version>
			<scope>provided</scope>
		</dependency>
		<!-- jstl -->
		<dependency>
			<groupId>taglibs</groupId>
			<artifactId>standard</artifactId>
			<version>1.1.2</version>
		</dependency>
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>jstl</artifactId>
			<version>1.1.2</version>
		</dependency>
	</dependencies>
</project>


其他运行环境信息

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
获取请求送往的服务器主机名【request.getServerName()】:192.168.26.31
获取请求送往的服务器端口号【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

分享到:
评论

相关推荐

    asp.net中Request与response常用属性方法

    这些属性方法可以帮助开发者获取客户端的请求信息,从而实现相应的逻辑处理。 Response 对象 Response 对象是 ASP.NET 中的一个核心对象,它封装了服务器的响应信息,包括响应头、响应体、缓冲信息等信息。...

    .NET常用Request获取信息总结

    在.NET框架中,处理Web请求时通常需要获取客户端、服务器或者请求相关的信息,本文将对.NET中常用的Request对象的ServerVariables属性进行总结,该属性可以获取到服务器及客户端的多种信息,对于开发人员来说,这些...

    普通java类 获取Request

    ### 普通Java类获取Request的方法 在Java Web开发中,经常需要在非Servlet类(如普通Java类)中获取`HttpServletRequest`对象,以便访问请求中的参数、头信息等。通常情况下,`HttpServletRequest`对象是在Servlet...

    Java Web应用开发 19 课堂案例-全面认识request的常用方法.docx

    本案例旨在深入理解并掌握`request`对象的各种常用方法及其应用场景。以下将详细介绍这些方法的功能及其用法。 1. `request.getProtocol()`:此方法用于获取客户端发送请求时使用的通信协议,例如"HTTP/1.1",这有...

    Request&Response对象主要方法

    它封装了来自客户端的所有信息,并提供了多个方法用于获取这些信息。以下是对`HttpServletRequest`对象中常用方法的详细介绍: #### 1. `getAttribute(String name)` - **功能**:根据指定名称获取一个属性值。 - *...

    JSP中的request对象

    JSP中的request对象 JSP(Java Server Pages)中的request对象是指HttpServletRequest接口的实现,它提供了访问客户端...request对象提供了丰富的方法来获取客户端请求信息和服务器信息,使得JSP开发更加方便和灵活。

    了解JSP中request属性的用法

    request.getParameter() 和 request.getAttribute() 是两个最常用的方法来获取客户端的请求信息,但是它们的用法和作用域却有很大的区别。 request.getParameter() 方法是用来获取客户端通过 HTTP 协议传递的参数,...

    java中request常用方法小结

    本文将详细讲解几个常用的HttpServletRequest方法,并通过示例来阐述它们的用途。 一、获取客户机环境信息 1. `getRequestURL()`:这个方法返回客户端发起请求时的完整URL,包括协议(如http或https)、主机名、...

    实例详解JSP内置对象--request对象

    request对象提供了多种方法来访问和处理HTTP请求信息,常用的方法有: * getParameter(String name):获取指定名称的请求参数。 * getParameterValues(String name):获取指定名称的请求参数的所有值。 * ...

    dotNet获取网站目录常用方法

    以下是一些常用的.NET方法,用于获取网站的物理路径和虚拟路径: 1. `HttpRuntime.AppDomainAppPath`: 这个属性返回的是网站在服务器磁盘上的物理路径。例如,如果网站位于`E:\Websites\MyWebsite`,则`HttpRuntime...

    struts2中request和session的获取

    这种方法利用了Struts2中的ActionContext对象,它包含了当前执行环境的信息,可以通过它来获取request对象。 2. **使用`ServletActionContext`**: ```java HttpServletRequest request = ServletActionContext....

    Java开发之request对象常用方法整理

    首先,`request`对象提供了一系列方法来获取客户端环境信息: 1. `getRequestURL()`:这个方法返回客户端发起请求时的完整URL,包括协议、主机名、端口号和请求路径。 2. `getRequestURI()`:它返回请求行中的资源...

    python爬虫入门request 常用库介绍整理.docx

    ### Python爬虫入门request常用库介绍整理 #### 网络爬虫概念 网络爬虫,也常被称为网页蜘蛛或网络机器人,在不同的社区和技术领域有不同的称呼,比如在FOAF社区中,人们通常称之为网页追赶者。它是一种按照既定...

    各种常用方法,包括request与response对象的获取,session数据的操作

    首先,request对象代表了客户端发起的HTTP请求,包含了请求头、请求方法(如GET、POST)、URL、查询参数等信息。在Node.js中,我们可以使用express框架来处理这些请求。例如,我们可以通过`req.body`访问POST请求的...

    js-常用方法列表

    根据提供的文件信息,本文将对JavaScript(简称JS)中的几个常用方法进行详细的解析与说明,主要包括获取好友列表、获取个人信息以及获取照片列表的功能实现。这些功能通常在社交应用开发中非常常见,通过JavaScript...

    JSP 内置对象:request 对象.pptx

    除此之外,request 对象还提供了其他常用方法,例如: 1. void setCharacterEncoding(String encoding):设定编码格式,用来解决中文乱码问题(只针对 post 方式)。 2. String getRemoteAddr():获得客户端的 IP ...

    java request.getHeader("user-agent")获取浏览器信息的方法

    `request.getHeader("user-agent")`是Java Web开发中获取客户端浏览器信息的常用方法。通过解析返回的User-Agent字符串,开发者可以了解到用户的浏览器类型、版本、操作系统等关键信息,从而进行更精确的用户行为...

    如何在springMVC的controller中获取request

    在 SpringMVC 中获取 Request 对象 ...在 SpringMVC 中获取 Request 对象有多种方法,但这两种方法是最常用的。无论是使用 RequestContextHolder 还是继承超类,这两种方法都可以满足我们的需求。

Global site tag (gtag.js) - Google Analytics