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相关参数”时,我们关注的是如何从HTTP请求中提取URL的各个部分,以便进行进一步的数据处理或业务逻辑操作。下面我们将详细讨论如何在Servlet中获取URL中的不同信息。 1. **URL结构**: ...
### Servlet返回URL与获取URL参数详解 在Java Web开发中,Servlet是处理HTTP请求的核心组件之一。本文将详细介绍如何在Servlet中处理URL,包括获取URL上的所有参数,并通过不同的方法来构建并返回一个完整的URL。 ...
总之,处理Servlet中URL传递的中文参数需要理解URL编码的原理,并正确使用Java的相关API进行编码和解码。同时,注意字符集的设置,确保数据在传输过程中不会出现乱码。在开发过程中,合理利用工具和库函数,可以提高...
要下载servlet-api.jar,通常可以从Apache Tomcat或Jetty等Web服务器的官方库中获取,也可以从Maven中央仓库或Oracle官方网站下载对应版本的Java EE SDK。对于开发环境,通常需要将servlet-api.jar添加到项目的类...
在这里,我们将定义名为`YourServlet`的Servlet,指定其全限定类名,并映射到URL路径。 ```xml <servlet> <servlet-name>YourServlet</servlet-name> <servlet-class>com.example.YourServlet</servlet-class> ...
本文将深入探讨如何在JSP页面中获取Servlet请求中的参数,并将其传递到另一个JSP页面。 首先,我们需要配置`web.xml`文件,这是部署描述符,它定义了Servlet的映射和配置。以下是一个示例配置: ```xml <servlet> ...
- `HttpServletRequest`接口提供方法获取请求参数、头信息、请求URL等。 - `HttpServletResponse`接口用于设置响应状态码、头信息,以及写入响应体。 7. **过滤器(Filter)**: Filter允许在Servlet处理请求...
<url-pattern>/myservlet</url-pattern> </servlet-mapping> ``` 在这个例子中,`MyServlet`类会被服务器加载并映射到`/myservlet` URL上。 接下来,你需要掌握Servlet生命周期的几个阶段:加载和初始化、服务...
1. **解析请求**: 在Servlet的`doGet()`或`doPost()`方法中,我们可以获取请求参数。对于GET请求,使用`request.getParameter()`;对于POST请求,如果数据是标准的表单编码(application/x-www-form-urlencoded),...
总结,Servlet获取参数是Web开发中的基本操作,开发者需要了解各种参数类型以及如何使用Servlet API有效地获取和处理这些参数。对于文件上传,还需要掌握额外的处理机制,以确保数据的安全性和正确性。在实际项目中...
HttpServletRequest提供了获取请求参数、头信息、请求URL等方法,而HttpServletResponse则用于设置响应状态码、响应头、输出内容等。 五、过滤器(Filter) Servlet API 2.5中,Filter接口允许开发者实现预处理和后...
4. 配置Servlet,尝试不同的URL映射,理解其工作原理。 总之,Servlet是Java Web开发的基础,熟练掌握Servlet能够帮助开发者更好地理解和构建动态Web应用。通过实际操作和练习,你会对Servlet有更深入的理解。
<url-pattern>/myServlet</url-pattern> </servlet-mapping> ``` #### 五、处理客户端请求 在Servlet中,处理客户端请求主要涉及到以下几种方法: - **doGet()**:处理GET请求。 - **doPost()**:处理POST请求。 ...
5. **Servlet配置**:Servlet的配置通常在web.xml文件中进行,包括Servlet的注册、映射URL、设置初始化参数等。例如,`<servlet>`、`<servlet-mapping>`标签用于定义Servlet及其映射。 6. **Servlet上下文**:...
----------包括servlet如何借用springproperties取文件" 提到的是在Java开发中,如何通过SFTP(Secure File Transfer Protocol)协议以URL模式读取远程文件,并结合SpringProperties来配置和获取文件。这是一个关于...
在Servlet中,可以使用`HttpServletRequest`对象的`getInputStream()`方法来获取XML数据,然后用Java的DOM或SAX解析器进行解析。 总结一下,C#调用Servlet发送XML涉及到以下关键技术点: 1. 使用HttpClient或...
总结来说,通过Servlet获取下拉列表的值并跳转到相关页面涉及以下几个步骤: 1. 在HTML页面中创建下拉列表,并指定一个name属性。 2. 编写Servlet,使用HttpServletRequest的getParameter()方法获取下拉列表的值。 3...
本文将深入探讨如何使用Servlet来获取各种类型的表单数据。 首先,对于普通的输入框、密码框、隐藏字段等,我们可以使用`HttpServletRequest`对象的`getParameter()`方法。例如,如果JSP页面中有如下表单元素: ``...
在这个主题“十分全的servlet获取表单数据”中,我们将深入探讨如何利用Servlet来处理客户端提交的表单信息,这包括各种输入控件如文本框、密码框、选择框、单选框、复选框以及文本域的数据获取。 1. **表单基础** ...