`

getRequestURI,getRequestURL的区别

 
阅读更多

test1.jsp=======================

<a href ="test.jsp?p=fuck">跳转到test2</a>


test2.jsp=======================


<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>

<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

out.println("basePath:"+basePath);

out.println("<br/>");
out.println("getContextPath:"+request.getContextPath());
out.println("<br/>");
out.println("getServletPath:"+request.getServletPath());
out.println("<br/>");
out.println("getRequestURI:"+request.getRequestURI());
out.println("<br/>");
out.println("getRequestURL:"+request.getRequestURL());
out.println("<br/>");
out.println("getRealPath:"+request.getRealPath("/"));
out.println("<br/>");
out.println("getServletContext().getRealPath:"+getServletContext().getRealPath("/"));
out.println("<br/>");
out.println("getQueryString:"+request.getQueryString());

%>




显示结果:


basePath:http://localhost:8080/test/


getContextPath:/test

getServletPath:/test.jsp
getRequestURI:/test/test.jsp
getRequestURL:http://localhost:8080/test/test.jsp
getRealPath:D:\Tomcat 6.0\webapps\test\
getServletContext().getRealPath:D:\Tomcat 6.0\webapps\test\
getQueryString:p=fuck


在一些应用中,未登录用户请求了必须登录的资源时,提示用户登录,此时要记住用户访问的当前页面的URL,当他登录成功后根据记住的URL跳回用户最后访问的页面:


String lastAccessUrl = request.getRequestURL() + "?" + request.getQueryString();


分享到:
评论

相关推荐

    HttpServletRequest 中 getRequestURL和getRequestURI的区别

    本文将深入探讨 `HttpServletRequest` 中的 `getRequestURL()` 和 `getRequestURI()` 方法的区别。 首先,我们来看 `getRequestURI()` 方法。`getRequestURI()` 返回的是客户端发送请求时的完整统一资源标识符(URI...

    WEB15-request.rar

    String getRequestURI() StringBuffer getRequestURL() String getContextPath() ---web应用的名称 String getQueryString() ---- get提交url地址后的参数字符串 username=zhangsan&password=123 注意:request...

    从HttpServletRequest获取各种路径总结

    - **获取客户端地址栏地址**:`request.getRequestURL()` - **获取相对地址**:`request.getRequestURI()` #### 五、总结 通过上述介绍可以看出,在Java Web开发中,合理地利用`HttpServletRequest`对象提供的方法...

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

    2. **利用`request.getRequestURL()`获取完整的URL:** - 示例:如果请求URL为`http://localhost:8080/TEST/test`,则调用此方法返回的完整URL为`http://localhost:8080/TEST/test`。 3. **利用`request....

    HttpServletRequest-response方法总结

    8. getRequestURI():取得请求URI(统一资源标识符)。 9. getSession():取得对应的session。 10. getHeaderNames():返回请求包含的所有头名称的一个Enumeration(遍历器)。 HttpServletResponse: 1. ...

    servlet 返回 URL

    Servlet API提供了多种方法来获取这些信息,例如`HttpServletRequest`接口中的`getRequestURL()`、`getQueryString()`等方法。 #### 二、获取URL参数 ##### 1. 获取表单内的参数 表单提交时,可以通过`request....

    request获取url以及其参数

    要获取URL本身,可以使用`HttpServletRequest`的`getRequestURL()`方法。这个方法返回一个`java.lang.StringBuffer`对象,包含了请求的URL,但不包括服务器的主机名和端口号。例如: ```java HttpServletRequest ...

    jsp获取url路径的方法分析.docx

    `request.getRequestURL()` 返回的是完整的URL,包括协议、主机名、端口和请求路径,这对于构建重定向或生成链接非常有用。 最后,`request.getRealPath()` 方法提供了一个物理路径,对应于 `request.getRequestURI...

    JAVA获取项目路径.doc

    request.getRequestURL() ``` 输出如 `http://localhost:8080/TEST/test`。 3. **获取相对地址**: ```java request.getRequestURI() ``` 输出如 `/TEST/test`。 ### 示例代码 下面给出一个简单的示例,...

    HttpServletRequest详解.docx

    - `getRequestURI()` 提供请求行中的URI部分,即除去协议、主机和端口后的路径。 - `getQueryString()` 返回请求行中的参数部分,即URL后面的问号(?)后面的部分,通常包含键值对。 - `getRemoteHost()` 返回...

    java获取路径

    2. **得到IE地址栏地址**:`request.getRequestURL()`,返回的是完整的URL,包括协议、主机、端口和上下文路径。例如,返回`http://localhost:8080/TEST/test`。 3. **得到相对地址**:`request.getRequestURI()`,...

    JAVA中获取各种路径

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

    Hessian实战应用之获取客户端请求URL和重新转发客户端请求

    如果需要包括查询字符串,可以使用`getRequestURI()`结合`getQueryString()`。 下面是一个简单的示例,展示了如何在Hessian服务端获取客户端请求的URL: ```java import com.caucho.hessian.server.HessianServlet...

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

    - 使用 `request.getRequestURI()` 方法可以获得当前请求的统一资源标识符(URI)。例如: ```java String uri = request.getRequestURI(); System.out.println(uri); // 输出:/TEST/test.jsp ``` 这个方法...

    第20章 Request和Response.pdf

    - `getRequestURL()`:返回一个`StringBuffer`,包含完整的请求URL。 2. **获取请求头数据**: - 可以通过`getHeader(String name)`来获取指定请求头的值,例如`Accept`、`Accept-Charset`等。 3. **获取请求体...

    JAVA的70各问题

    8. 获取页面名称:使用`HttpServletRequest`的`getRequestURI()`和`getRequestURL()`方法分别获取文件名和完整URL。 9. 保留表单数据:当表单验证失败返回时,若想保留原有数据,可以使用JavaScript的`history.back...

    JavaWeb开发技术-HttpServletRequest对象.pptx

    * `getRequestURI()`:返回请求的 URI,例如 `/user/login`。 * `getRequestURL()`:返回请求的完整 URL,例如 `http://localhost:8080/user/login`。 * `getServletPath()`:返回 Servlet 的路径,例如 `/user`。 ...

    java中request常用方法小结

    2. `getRequestURI()`:它返回请求行中的资源名部分,不包含协议、主机名和端口。对于上述示例,它将返回`/path`。 3. `getQueryString()`:此方法返回请求行中的参数部分,即URL中问号(?)后面的部分。在`...

    JSP 内置对象:request 对象.pptx

    4. String getRequestURL():获得发出请求的客户端 URL。 5. String getRequestURI():获得发出请求的客户端 URI。 6. String getMethod():获得客户端向服务器端传送数据的方法(GET、POST 等)。 7. String get...

    java面试题

    8. **获取页面名称**:通过`HttpServletRequest`对象的`getRequestURI()`获取文件名,`getRequestURL()`获取完整的URL。 9. **保留表单数据**:若表单验证未通过,可使用JavaScript的`go(-1)`返回上一页,但这种...

Global site tag (gtag.js) - Google Analytics