request.getPathInfo();
这个方法返回请求的实际URL相对于请求的serlvet的url的路径。(个人理解。)
比如,有一个Servlet的映射是这样配置的:
<servlet-mapping>
<servlet-name>TestServlet</servlet-name>
<url-pattern>/servlet/test/*</url-pattern>
</servlet-mapping>
为servlet配置的访问路径是:/servlet/test/*
我只要访问:
http://localhost:8080/dwr/servlet/test/这里可以是任何东西
就可以访问那个servlet. dwr 是项目的名字
比如,我用这个 URL 来访问它:
http://localhost:8080/dwr/servlet/test/joejoe1991/a.html
这个实际的URL,相对于那个servlet 的url ("/servlet/test/*")的路径是:
/joejoe1991/a.html
所以 request.getPathInfo() 方法返回的就是:
"/joejoe1991/a.html"
如果你的URL里有查询字符串,getPathInfo() 方法并不返回这些查询字符串。
例如:
http://localhost:8080/dwr/servlet/test/joejoe1991/a.html?name=test
getPathInfo() 返回的仍然是:
"/joejoe1991/a.html" ,而并不包括后面的"?name=test"
我们可以利用这个方法去做类似于多用户博客系统的那种URL。
都是http://www.xxx.com/blog/ 开头
后面跟的是用户名,
比如我要访问joejoe1991的博客:
http://www.xxx.com/blog/joejoe1991
这个joejoe1991并不是一个真实存在的目录。
建一个servlet,配置路径为:/blog/*
然后在这个servlet里调用request.getPathInfo() 方法。
比如:http://www.xxx.com/blog/jjx
那request.getPathInfo() 方法返回的就是jjx ,表示要访问jjx的博客。
这时再去数据库里查相应的数据就好。
分享到:
相关推荐
- `request.getPathInfo()`: 返回路径信息字符串,这是对`request.getRequestURI()`返回的路径的补充信息。 - `request.getPathTranslated()`: 返回经过翻译的路径信息字符串。 - `request.getQueryString()`: ...
5. **PATH_INFO**:`request.getPathInfo()`返回URL路径中Servlet路径之后的部分。 6. **PATH_TRANSLATED**:提供了服务器将PATH_INFO转换为实际文件系统路径的结果,可能为空。 7. **QUERY_STRING**:`request....
System.out.println(request.getPathInfo()); // 路径信息 System.out.println(request.getPathTranslated()); // 翻译后的路径 ``` 这些信息可用于处理复杂的路径匹配。 综上所述,通过以上方法和技术,我们可以...
- **`request.getPathInfo()`**: 获取请求路径的附加信息。 - **`request.getPathTranslated()`**: 获取转换后的路径。 - **`request.getServletPath()`**: 获取当前Servlet的路径。 - **`request.getRealPath("/")`...
根据给定的信息,本文将详细解释两个主要的Java Web过滤器:`ForceNoCacheFilter` 和 `CheckLoginFilter` 的工作原理与应用方法。 ### 一、`ForceNoCacheFilter` 过滤器 #### 1. 功能概述 `ForceNoCacheFilter` 是...
Path info: <%=request.getPathInfo()%> Path translated: <%=request.getPathTranslated()%> Query String: <%=request.getQueryString()%> Content Length: <%=request.getContentLength()%> ...
表单提交时,可以通过`request.getParameter(String name)`或`request.getParameterMap()`方法来获取参数值。其中`getParameter(String name)`用于获取单个参数的值,而`getParameterMap()`则可以获取所有参数及其...
String pathInfo = request.getPathInfo(); out.println("当前请求URI: " + requestURI); out.println("Servlet映射路径: " + servletPath); out.println("额外路径信息: " + pathInfo); %> ``` 3. **MyEclipse...
resourcePath = request.getPathInfo(); } if (staticResourceLoader.canHandle(resourcePath)) { staticResourceLoader.findStaticResource(resourcePath, request, response); } else { // this is a normal ...
该类的doGet和doPost方法都指向doAction方法,该方法根据request.getPathInfo()的值获取了moduleName和serviceName,然后将其传递给getServiceObject方法。最终,问题在于FileReceiveServlet,该Servlet的主要作用是...
userAgent += " | PathInfo——" + request.getPathInfo(); userAgent += " | Method——" + request.getMethod(); userAgent += " | QueryString——" + request.getQueryString(); Cookie[] cookies = request...
`HttpServletRequest` 提供了 `getServletPath()` 和 `getPathInfo()` 方法来获取请求的URL。`getServletPath()` 返回Servlet映射的路径,而`getPathInfo()` 返回请求URL中Servlet路径之后的部分。`getHeader(...
String uri = request.getServletPath() + (request.getPathInfo() == null ? "" : request.getPathInfo()); return notCheckURLList.contains(uri); } public void init(FilterConfig filterConfig) throws ...
如果没有获取到,则使用request.getPathInfo()方法获取路径信息。接着,方法会对路径进行验证,确保其以正确的前缀开始。如果路径不符合要求,会记录错误信息并返回null。如果路径有效,会去除前缀,并进一步检查...
通过`request.getPathInfo()`或`request.getRequestURI()`,我们可以获取到请求的路径部分,然后根据Struts的约定来解析Action和方法。 接下来,我们需要映射Action到具体的Java类和方法。在Struts中,这通常是通过...
以上是request对象的基本使用方法,通过这些方法,开发者能够获取并处理客户端发送的各种信息,实现动态网页的功能。在实际开发中,常常结合Servlet、JSTL等技术进行更复杂的业务逻辑处理。 案例分析: 文件`index_...
The doFilter method of the Filter is called by the container each time a request/response pair is passed through the chain due to a client request for a resource at the end of the chain. doGet...
3. **获取请求URL信息**:`getContextPath()`返回应用上下文路径,`getServletPath()`获取Servlet路径,`getPathInfo()`获取额外的路径信息,`getQueryString()`返回查询字符串。 4. **获取请求数据**:`...
在这个例子中,原始请求到达名为`doGet`的Servlet方法,然后使用`request.getRequestDispatcher()`找到要转发的目标资源(这里是"/forwardedPage.jsp"),最后调用`dispatcher.forward()`将请求转发到目标页面。...
- **getPathInfo()**:获取请求 URL 中 Servlet 路径之后的额外路径信息。 - **getPathTranslated()**:获取请求 URL 中 Servlet 路径之后的额外路径信息,并转换为实际路径。 - **getQueryString()**:获取请求 ...