`
564615061
  • 浏览: 12515 次
  • 性别: Icon_minigender_1
  • 来自: 石家庄
社区版块
存档分类
最新评论

servlet 获取用户请求路径

    博客分类:
  • jsp
 
阅读更多
request.getServletPath() - /a.jsp 
request.getContextPath() - /工程名 
request.getRequestURI() - /工程名/a.jsp 
request.getRequestURL() - http://127.0.0.1:8080/工程名/a.jsp

单独说一下request.getPathInfo() 方法的作用:

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。上面url中的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的博客。
这时再去数据库里查相应的数据就好。



String ip = request.getRemoteAddr();//获取客户端ip
String ip = request.getLocalAddr();//获取服务器端(本地)ip
String lastpage = request.getHeader("Referer");//获取上一个页面

Referer 是从哪里来到你这个页面, 比如从BAIDU, GOOGLE
http://www.xxx.com/1.html 上点连接到 http://www.xxx.com/2.html 上
http://www.xxx.com/2.html的Referer就是http://www.xxx.com/1.html
分享到:
评论

相关推荐

    JAVA获取各种路径总结

    - `request.getServletPath()` 用于获取当前Servlet的路径信息。 - **文件的绝对路径** - 方法:`request.getSession().getServletContext().getRealPath(request.getRequestURI())` - 通过`getServletContext()...

    servlet获取url相关参数

    - `HttpServletRequest.getContextPath()`: 获取请求的上下文路径。 - `HttpServletRequest.getServletPath()`: 获取请求的Servlet路径。 - `HttpServletRequest.getPathInfo()`: 获取路径信息,包括路径参数。 ...

    从HttpServletRequest获取各种路径总结

    - **描述**:获取请求的Servlet路径。 - **示例**:`request.getServletPath()` - **应用场景**: - Servlet定位:确定哪个Servlet处理特定请求。 - 动态页面加载:基于请求的Servlet路径来加载相应的页面或执行...

    JAVA类,JSP,Servlet获取工程路径.txt

    ### JAVA类、JSP与Servlet获取工程路径方法详解 #### 概述 在Java Web开发过程中,经常需要获取项目的根目录或某个特定资源文件的绝对路径。这些路径信息对于加载资源文件、处理文件上传下载等功能至关重要。本文将...

    JAVA中获取各种路径

    此方法返回完整的URL,包括协议、主机、端口以及上下文路径和请求路径,如`http://localhost:8080/TEST/test`,这在日志记录或重定向用户时十分有用。 #### (3) 获取请求的URI:`request.getRequestURI()` 返回不...

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

    `HttpServletRequest`对象用于获取请求参数,而`HttpServletResponse`对象用于向客户端发送响应。 ```java @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws...

    JavaWeb_servlet(11)_ 通过 ServletContex 获得类路径下的文件路径

    在JavaWeb开发中,Servlet是核心组件之一,用于处理HTTP请求和响应。ServletContext接口是Servlet API中的一个重要组成部分,它提供了服务器与应用之间的全局信息共享和通信能力。本篇文章将详细探讨如何通过...

    练习servlet

    此外,Servlet API提供了一些重要类和接口,如`HttpServletRequest`和`HttpServletResponse`,它们分别用于获取请求信息和构建响应。例如,你可以通过`HttpServletRequest`的`getParameter()`方法获取请求参数,通过...

    使用Servlet技术响应用户请求

    `ServletContext`接口提供了与Servlet容器交互的能力,可以获取全局信息,如上下文路径、初始化参数等。 在实际应用中,Servlet不仅可以用来处理表单提交,如案例中的在线调查,还可以用于实现登录验证(使用监听器...

    获取项目的相对路径和绝对路径

    `request.getServletPath()`方法用于获取请求的servlet路径,即URL中servlet的名字部分。这通常是在处理特定资源请求时需要使用的。 ```java String servletPath = request.getServletPath(); ``` ### 三、获取...

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

    - [Java,JSP,Servlet获取当前工程路径(绝对路径)问题解析](#) #### 总结 本文详细介绍了如何在JSP页面中获取Servlet请求中的参数。通过上述步骤,开发者能够有效地在JSP页面中展示或处理来自Servlet的数据。这...

    Java,JSP,Servlet获取当前工程路径(绝对路径)问题解析

    ### Java、JSP、Servlet 获取当前工程路径(绝对路径)问题解析 在开发基于Java的Web应用程序时,经常需要获取当前项目的绝对路径。这在处理文件读写、配置文件加载等场景中尤为重要。本文将详细介绍如何在不同的...

    java获取路径的各种方法

    1. **request.getRealPath()**:这是HttpServletRequest对象的一个方法,用于获取请求中相对路径对应的服务器上的实际物理路径。例如,`request.getRealPath("/")`返回Web应用的根目录,而`request.getRealPath("web...

    servlet接收form表单提交的数据

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

    jsp和servlet请求与响应

    - **获取请求数据**: - `getParameter(String name)`:根据参数名获取单个参数值。 - `getParameterValues(String name)`:根据参数名获取多个参数值(适用于复选框等)。 - **示例代码**: ```java String ...

    Java+servlet+jsp页面ajax请求

    - **定义请求方法和URL**:使用open()方法设置请求类型(GET或POST)、URL(指向Servlet的路径)以及是否异步执行。 - **设置请求头**:如果需要发送额外的头部信息(如Content-Type),可以在open()之后,send()...

    JavaWeb_servlet(10)_ 通过 ServletContex 获得根目录下的文件路径

    在提供的压缩包`servlet_demo1`中,可能包含了一个简单的Servlet示例,演示了如何使用ServletContext获取和操作文件路径。通过学习和分析这个示例,你可以更好地理解这个知识点,并将其应用到自己的项目中。

    servlet实现用户登录的小型服务器

    对于GET请求,Servlet可以通过`HttpServletRequest`对象的`getQueryString()`方法获取查询字符串,然后使用`getParameter()`方法解析参数。例如,`request.getParameter("name")`和`request.getParameter("pwd")`...

    java获取路径

    3. **获取当前页面所在目录的全名称**:`request.getServletPath()`,这将返回请求的servlet的路径。如果页面位于`jsp`目录下,如`TEST/jsp/test.jsp`,则返回`/TEST/jsp/`。 4. **获取页面所在服务器的全路径**:`...

Global site tag (gtag.js) - Google Analytics