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();
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
输出:
path:/E_WuLiu
basePath:http://localhost:8080/E_WuLiu/
getContextPath():得到当前应用的根目录
getScheme():它返回当前请求所使用的协议。 一般的应用返回 "http",对于ssl则返回"https"
getServerName():获取服务器名字,如果是在本地的话就是localhost
getServerPort():获得服务器的端口号
另外:jsp中获取客户端的浏览器和操作系统信息
string agent = request.getheader("user-agent");
stringtokenizer st = new stringtokenizer(agent,";");
st.nexttoken();
//得到用户的浏览器名
string userbrowser = st.nexttoken();
//得到用户的操作系统名
string useros = st.nexttoken();
取得本机的信息也可以这样:
操作系统信息
system.getproperty("os.name"); //win2003竟然是win xp?
system.getproperty("os.version");
system.getproperty("os.arch");
浏览器:
request.getheader("user-agent")
其他
request.getheader(“user-agent”)返回客户端浏览器的版本号、类型
getheader(string name):获得http协议定义的传送文件头信息,
request. getmethod():获得客户端向服务器端传送数据的方法有get、post、put等类型
request. getrequesturi():获得发出请求字符串的客户端地址
request. getservletpath():获得客户端所请求的脚本文件的文件路径
request. getservername():获得服务器的名字
request.getserverport():获得服务器的端口号
request.getremoteaddr():获得客户端的ip地址
request.getremotehost():获得客户端电脑的名字,若失败,则返回客户端电脑的ip地址
request.getprotocol():
request.getheadernames():返回所有request header的名字,结果集是一个enumeration(枚举)类的实例
request.getheaders(string name):返回指定名字的request header的所有值,结果集是一个enumeration(枚举)类的实例
相关推荐
本文将深入探讨 `HttpServletRequest` 中的 `getRequestURL()` 和 `getRequestURI()` 方法的区别。 首先,我们来看 `getRequestURI()` 方法。`getRequestURI()` 返回的是客户端发送请求时的完整统一资源标识符(URI...
String getRequestURI() StringBuffer getRequestURL() String getContextPath() ---web应用的名称 String getQueryString() ---- get提交url地址后的参数字符串 username=zhangsan&password=123 注意:request...
- **获取客户端地址栏地址**:`request.getRequestURL()` - **获取相对地址**:`request.getRequestURI()` #### 五、总结 通过上述介绍可以看出,在Java Web开发中,合理地利用`HttpServletRequest`对象提供的方法...
2. **利用`request.getRequestURL()`获取完整的URL:** - 示例:如果请求URL为`http://localhost:8080/TEST/test`,则调用此方法返回的完整URL为`http://localhost:8080/TEST/test`。 3. **利用`request....
8. getRequestURI():取得请求URI(统一资源标识符)。 9. getSession():取得对应的session。 10. getHeaderNames():返回请求包含的所有头名称的一个Enumeration(遍历器)。 HttpServletResponse: 1. ...
Servlet API提供了多种方法来获取这些信息,例如`HttpServletRequest`接口中的`getRequestURL()`、`getQueryString()`等方法。 #### 二、获取URL参数 ##### 1. 获取表单内的参数 表单提交时,可以通过`request....
`request.getRequestURL()` 返回的是完整的URL,包括协议、主机名、端口和请求路径,这对于构建重定向或生成链接非常有用。 最后,`request.getRealPath()` 方法提供了一个物理路径,对应于 `request.getRequestURI...
要获取URL本身,可以使用`HttpServletRequest`的`getRequestURL()`方法。这个方法返回一个`java.lang.StringBuffer`对象,包含了请求的URL,但不包括服务器的主机名和端口号。例如: ```java HttpServletRequest ...
如果需要包括查询字符串,可以使用`getRequestURI()`结合`getQueryString()`。 下面是一个简单的示例,展示了如何在Hessian服务端获取客户端请求的URL: ```java import com.caucho.hessian.server.HessianServlet...
request.getRequestURL() ``` 输出如 `http://localhost:8080/TEST/test`。 3. **获取相对地址**: ```java request.getRequestURI() ``` 输出如 `/TEST/test`。 ### 示例代码 下面给出一个简单的示例,...
- `getRequestURI()` 提供请求行中的URI部分,即除去协议、主机和端口后的路径。 - `getQueryString()` 返回请求行中的参数部分,即URL后面的问号(?)后面的部分,通常包含键值对。 - `getRemoteHost()` 返回...
2. **得到IE地址栏地址**:`request.getRequestURL()`,返回的是完整的URL,包括协议、主机、端口和上下文路径。例如,返回`http://localhost:8080/TEST/test`。 3. **得到相对地址**:`request.getRequestURI()`,...
#### (2) 获取完整URL地址:`request.getRequestURL()` 此方法返回完整的URL,包括协议、主机、端口以及上下文路径和请求路径,如`http://localhost:8080/TEST/test`,这在日志记录或重定向用户时十分有用。 #### ...
本篇文章将详细介绍JSP中Servlet的Request与Response对象的用法及其区别。 Request对象代表客户端发送的HTTP请求,它包含了请求的所有信息。以下是对Request对象主要功能的详细解释: 1. 存储请求数据: - `...
8. 获取页面名称:使用`HttpServletRequest`的`getRequestURI()`和`getRequestURL()`方法分别获取文件名和完整URL。 9. 保留表单数据:当表单验证失败返回时,若想保留原有数据,可以使用JavaScript的`history.back...
- `getRequestURL()`:返回一个`StringBuffer`,包含完整的请求URL。 2. **获取请求头数据**: - 可以通过`getHeader(String name)`来获取指定请求头的值,例如`Accept`、`Accept-Charset`等。 3. **获取请求体...
- 使用 `request.getRequestURI()` 方法可以获得当前请求的统一资源标识符(URI)。例如: ```java String uri = request.getRequestURI(); System.out.println(uri); // 输出:/TEST/test.jsp ``` 这个方法...
* `getRequestURI()`:返回请求的 URI,例如 `/user/login`。 * `getRequestURL()`:返回请求的完整 URL,例如 `http://localhost:8080/user/login`。 * `getServletPath()`:返回 Servlet 的路径,例如 `/user`。 ...
2. `getRequestURI()`:它返回请求行中的资源名部分,不包含协议、主机名和端口。对于上述示例,它将返回`/path`。 3. `getQueryString()`:此方法返回请求行中的参数部分,即URL中问号(?)后面的部分。在`...
8. **获取页面名称**:通过`HttpServletRequest`对象的`getRequestURI()`获取文件名,`getRequestURL()`获取完整的URL。 9. **保留表单数据**:若表单验证未通过,可使用JavaScript的`go(-1)`返回上一页,但这种...