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
分享到:
相关推荐
这些属性方法可以帮助开发者获取客户端的请求信息,从而实现相应的逻辑处理。 Response 对象 Response 对象是 ASP.NET 中的一个核心对象,它封装了服务器的响应信息,包括响应头、响应体、缓冲信息等信息。...
在.NET框架中,处理Web请求时通常需要获取客户端、服务器或者请求相关的信息,本文将对.NET中常用的Request对象的ServerVariables属性进行总结,该属性可以获取到服务器及客户端的多种信息,对于开发人员来说,这些...
### 普通Java类获取Request的方法 在Java Web开发中,经常需要在非Servlet类(如普通Java类)中获取`HttpServletRequest`对象,以便访问请求中的参数、头信息等。通常情况下,`HttpServletRequest`对象是在Servlet...
本案例旨在深入理解并掌握`request`对象的各种常用方法及其应用场景。以下将详细介绍这些方法的功能及其用法。 1. `request.getProtocol()`:此方法用于获取客户端发送请求时使用的通信协议,例如"HTTP/1.1",这有...
它封装了来自客户端的所有信息,并提供了多个方法用于获取这些信息。以下是对`HttpServletRequest`对象中常用方法的详细介绍: #### 1. `getAttribute(String name)` - **功能**:根据指定名称获取一个属性值。 - *...
JSP中的request对象 JSP(Java Server Pages)中的request对象是指HttpServletRequest接口的实现,它提供了访问客户端...request对象提供了丰富的方法来获取客户端请求信息和服务器信息,使得JSP开发更加方便和灵活。
request.getParameter() 和 request.getAttribute() 是两个最常用的方法来获取客户端的请求信息,但是它们的用法和作用域却有很大的区别。 request.getParameter() 方法是用来获取客户端通过 HTTP 协议传递的参数,...
本文将详细讲解几个常用的HttpServletRequest方法,并通过示例来阐述它们的用途。 一、获取客户机环境信息 1. `getRequestURL()`:这个方法返回客户端发起请求时的完整URL,包括协议(如http或https)、主机名、...
request对象提供了多种方法来访问和处理HTTP请求信息,常用的方法有: * getParameter(String name):获取指定名称的请求参数。 * getParameterValues(String name):获取指定名称的请求参数的所有值。 * ...
以下是一些常用的.NET方法,用于获取网站的物理路径和虚拟路径: 1. `HttpRuntime.AppDomainAppPath`: 这个属性返回的是网站在服务器磁盘上的物理路径。例如,如果网站位于`E:\Websites\MyWebsite`,则`HttpRuntime...
这种方法利用了Struts2中的ActionContext对象,它包含了当前执行环境的信息,可以通过它来获取request对象。 2. **使用`ServletActionContext`**: ```java HttpServletRequest request = ServletActionContext....
首先,`request`对象提供了一系列方法来获取客户端环境信息: 1. `getRequestURL()`:这个方法返回客户端发起请求时的完整URL,包括协议、主机名、端口号和请求路径。 2. `getRequestURI()`:它返回请求行中的资源...
### Python爬虫入门request常用库介绍整理 #### 网络爬虫概念 网络爬虫,也常被称为网页蜘蛛或网络机器人,在不同的社区和技术领域有不同的称呼,比如在FOAF社区中,人们通常称之为网页追赶者。它是一种按照既定...
首先,request对象代表了客户端发起的HTTP请求,包含了请求头、请求方法(如GET、POST)、URL、查询参数等信息。在Node.js中,我们可以使用express框架来处理这些请求。例如,我们可以通过`req.body`访问POST请求的...
根据提供的文件信息,本文将对JavaScript(简称JS)中的几个常用方法进行详细的解析与说明,主要包括获取好友列表、获取个人信息以及获取照片列表的功能实现。这些功能通常在社交应用开发中非常常见,通过JavaScript...
除此之外,request 对象还提供了其他常用方法,例如: 1. void setCharacterEncoding(String encoding):设定编码格式,用来解决中文乱码问题(只针对 post 方式)。 2. String getRemoteAddr():获得客户端的 IP ...
`request.getHeader("user-agent")`是Java Web开发中获取客户端浏览器信息的常用方法。通过解析返回的User-Agent字符串,开发者可以了解到用户的浏览器类型、版本、操作系统等关键信息,从而进行更精确的用户行为...
在 SpringMVC 中获取 Request 对象 ...在 SpringMVC 中获取 Request 对象有多种方法,但这两种方法是最常用的。无论是使用 RequestContextHolder 还是继承超类,这两种方法都可以满足我们的需求。