`

Servlet获取URL地址

阅读更多
Servlet获取URL地址这里来说说用Servlet获取URL地址。在HttpServletRequest类里,有以下六个取URL的函数:

getContextPath 取得项目名
getServletPath 取得Servlet名
getPathInfo 取得Servlet后的URL名,不包括URL参数
getRequestURL 取得不包括参数的URL
getRequestURI 取得不包括参数的URI,即去掉协议和服务器名的URL

具体如下图:




相对应的函数的值如下:

getContextPath:/ServletTest
getServletPath:/main
getPathInfo:/index/testpage/test
getRequestURL:http://localhost:8080/ServletTest/main/index/testpage/test
getRequestURI:/ServletTest/main/index/testpage/test

以上内容转自https://my.oschina.net/idiotsky/blog/198352

获取完整(包含参数)的地址、及相对地址的方法:
	/**
	 * 获取Servlet的全地址,包括参数等信息
	 * 
	 * @param request
	 *            作者:wallimn<br/>
	 *            时间:2017年2月21日<br/>
	 *            联系:54871876@qq.com<br/>
	 */
	protected String getRequestURL(HttpServletRequest req) {
		StringBuffer url = req.getRequestURL();
		Map<String, String[]> map = req.getParameterMap();

		boolean bFirst = true;
		for (Entry<String, String[]> entry : map.entrySet()) {
			for (String v : entry.getValue()) {
				if (bFirst == true) {
					url.append("?");
					bFirst = false;
				} else {
					url.append("&");
				}
				url.append(entry.getKey()).append("=").append(v);
			}
		}
		return url.toString();
	}

	/**
	 * 返回短地址,不包含协议、主机、端口、上下文等信息。
	 * 
	 * @param request
	 *            作者:wallimn<br/>
	 *            时间:2017年2月21日<br/>
	 *            联系:54871876@qq.com<br/>
	 */
	protected String getRequestShortURL(HttpServletRequest req) {
		StringBuffer url = new StringBuffer();

		String str = req.getServletPath();
		if (str != null)
			url.append(req.getServletPath());

		str = req.getPathInfo();// 这个值有时为null
		if (str != null)
			url.append(req.getPathInfo());
		Map<String, String[]> map = req.getParameterMap();

		boolean bFirst = true;
		for (Entry<String, String[]> entry : map.entrySet()) {
			for (String v : entry.getValue()) {
				if (bFirst == true) {
					url.append("?");
					bFirst = false;
				} else {
					url.append("&");
				}
				url.append(entry.getKey()).append("=").append(v);
			}
		}
		return url.toString();
	}
  • 大小: 29.3 KB
分享到:
评论

相关推荐

    servlet获取url相关参数

    当我们谈论“servlet获取URL相关参数”时,我们关注的是如何从HTTP请求中提取URL的各个部分,以便进行进一步的数据处理或业务逻辑操作。下面我们将详细讨论如何在Servlet中获取URL中的不同信息。 1. **URL结构**: ...

    servlet 返回 URL

    ### Servlet返回URL与获取URL参数详解 在Java Web开发中,Servlet是处理HTTP请求的核心组件之一。本文将详细介绍如何在Servlet中处理URL,包括获取URL上的所有参数,并通过不同的方法来构建并返回一个完整的URL。 ...

    servlet url传递中文参数

    总之,处理Servlet中URL传递的中文参数需要理解URL编码的原理,并正确使用Java的相关API进行编码和解码。同时,注意字符集的设置,确保数据在传输过程中不会出现乱码。在开发过程中,合理利用工具和库函数,可以提高...

    servlet-api.jar 下载地址

    要下载servlet-api.jar,通常可以从Apache Tomcat或Jetty等Web服务器的官方库中获取,也可以从Maven中央仓库或Oracle官方网站下载对应版本的Java EE SDK。对于开发环境,通常需要将servlet-api.jar添加到项目的类...

    用Servlet获得界面中用户填写的信息

    在这里,我们将定义名为`YourServlet`的Servlet,指定其全限定类名,并映射到URL路径。 ```xml &lt;servlet&gt; &lt;servlet-name&gt;YourServlet&lt;/servlet-name&gt; &lt;servlet-class&gt;com.example.YourServlet&lt;/servlet-class&gt; ...

    jsp页面中获取servlet请求中的参数的办法详解

    本文将深入探讨如何在JSP页面中获取Servlet请求中的参数,并将其传递到另一个JSP页面。 首先,我们需要配置`web.xml`文件,这是部署描述符,它定义了Servlet的映射和配置。以下是一个示例配置: ```xml &lt;servlet&gt; ...

    servlet api servlet api

    - `HttpServletRequest`接口提供方法获取请求参数、头信息、请求URL等。 - `HttpServletResponse`接口用于设置响应状态码、头信息,以及写入响应体。 7. **过滤器(Filter)**: Filter允许在Servlet处理请求...

    练习servlet

    &lt;url-pattern&gt;/myservlet&lt;/url-pattern&gt; &lt;/servlet-mapping&gt; ``` 在这个例子中,`MyServlet`类会被服务器加载并映射到`/myservlet` URL上。 接下来,你需要掌握Servlet生命周期的几个阶段:加载和初始化、服务...

    servlet笔记,servlet的总结

    Servlet可以通过读取WEB-INF下的资源,但客户端必须通过Servlet间接获取这些资源。 #### 八、Servlet与MVC模式 Servlet在MVC(Model-View-Controller)架构中扮演控制器(Controller)的角色,负责接收请求、调用...

    servlet获取表单数据详解(十分全)

    本文将深入探讨如何使用Servlet来获取各种类型的表单数据。 首先,对于普通的输入框、密码框、隐藏字段等,我们可以使用`HttpServletRequest`对象的`getParameter()`方法。例如,如果JSP页面中有如下表单元素: ``...

    servlet接收form表单提交的数据

    1. **解析请求**: 在Servlet的`doGet()`或`doPost()`方法中,我们可以获取请求参数。对于GET请求,使用`request.getParameter()`;对于POST请求,如果数据是标准的表单编码(application/x-www-form-urlencoded),...

    Servlet 获得参数

    总结,Servlet获取参数是Web开发中的基本操作,开发者需要了解各种参数类型以及如何使用Servlet API有效地获取和处理这些参数。对于文件上传,还需要掌握额外的处理机制,以确保数据的安全性和正确性。在实际项目中...

    servlet API zip压缩包

    HttpServletRequest提供了获取请求参数、头信息、请求URL等方法,而HttpServletResponse则用于设置响应状态码、响应头、输出内容等。 五、过滤器(Filter) Servlet API 2.5中,Filter接口允许开发者实现预处理和后...

    servlet技术初步入门

    4. 配置Servlet,尝试不同的URL映射,理解其工作原理。 总之,Servlet是Java Web开发的基础,熟练掌握Servlet能够帮助开发者更好地理解和构建动态Web应用。通过实际操作和练习,你会对Servlet有更深入的理解。

    servlet 笔记

    &lt;url-pattern&gt;/myServlet&lt;/url-pattern&gt; &lt;/servlet-mapping&gt; ``` #### 五、处理客户端请求 在Servlet中,处理客户端请求主要涉及到以下几种方法: - **doGet()**:处理GET请求。 - **doPost()**:处理POST请求。 ...

    Servlet中文API文档 servlet

    5. **Servlet配置**:Servlet的配置通常在web.xml文件中进行,包括Servlet的注册、映射URL、设置初始化参数等。例如,`&lt;servlet&gt;`、`&lt;servlet-mapping&gt;`标签用于定义Servlet及其映射。 6. **Servlet上下文**:...

    sftp直接以url模式读取-----------包括servlet如何借用springproperties取文件

    ----------包括servlet如何借用springproperties取文件" 提到的是在Java开发中,如何通过SFTP(Secure File Transfer Protocol)协议以URL模式读取远程文件,并结合SpringProperties来配置和获取文件。这是一个关于...

    servlet获得下拉列表的值,并跳转到相关页面

    总结来说,通过Servlet获取下拉列表的值并跳转到相关页面涉及以下几个步骤: 1. 在HTML页面中创建下拉列表,并指定一个name属性。 2. 编写Servlet,使用HttpServletRequest的getParameter()方法获取下拉列表的值。 3...

    十分全的servlet获取表单数据

    在这个主题“十分全的servlet获取表单数据”中,我们将深入探讨如何利用Servlet来处理客户端提交的表单信息,这包括各种输入控件如文本框、密码框、选择框、单选框、复选框以及文本域的数据获取。 1. **表单基础** ...

    Servlet常用语法Demo

    在`web.xml`部署描述符文件中,我们可以配置Servlet,包括设置Servlet的类名、URL映射以及初始化参数。例如: ```xml &lt;servlet&gt; &lt;servlet-name&gt;MyServlet&lt;/servlet-name&gt; &lt;servlet-class&gt;com.example.MyServlet...

Global site tag (gtag.js) - Google Analytics