`

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();

 

 

 

 

 

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的区别

    HttpServletRequest 中 getRequestURL和getRequestURI的区别文档

    Request中getContextPath、getServletPath、getRequestURI、request.getRealPath的区别.doc

    Request中getContextPath、getServletPath、getRequestURI、request.getRealPath的区别

    WEB15-request.rar

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

    url和uri区别

    同样的,另外一个问题:String HttpServletRequest.getRequestURI();和StringBuffer HttpServletRequest.getRequestURL();返回的内容有何不同?为什么会如此?带着这些问题到网上去搜了下,没发现让自己看了明白的...

    struts2+spring2+ibates

    取得请求文件的上层目录:new File(application.getRealPath(request.getRequestURI())).getParent() servlet类似! 6、在写action类里,对于要封装的值和对象,除了常数以外,记得SET和GET,不是会出现空指针。

    用word书签替换的方式将网页内容导出到word

    StringBuffer url = new StringBuffer(request.getRequestURI()); if(request.getQueryString() != null) { url.append('?'); url.append(request.getQueryString()); } String newUrl = url.toString()....

    宫颈AI前端项目源码。JAVA SpringApplication.run(WebappApplication.class,

    增加上传文件到本地文件夹的方法,并且返回文件的绝对路径 // *========数据库日志=========*// SysOperLog operLog = new ... operLog.setOper_url(Objects.requireNonNull(getRequest()).getRequestURI());

    如何使用java过滤器(filter)进行登陆验证?

    因为需要使用request方法中的getRequestURI()获取资源请求路径,Filter里的request是ServletRequest类型的而getRequsetURI()方法是HttpServletRequest类型的。所以首先需要强制转换。之后,就判断一下是否初始化页面...

    Java获取*路径实现探讨

    //不推荐使用获取工程的根路径 (2)、request.getRealPath(request.getRequestURI());//获取jsp的路径,这个方法比较好用,可以直接在servlet和jsp中使用 (3)、request.getSession().getServletContext().getRealPath...

    用new Image()预先加载图片真的有用吗?

    经常会用到在网页上交替显示图片。很多推荐的作法是用new Image() 预先装载图片... System.out.println(“requets url: ” + httpRequest.getRequestURI()); chain.doFilter(request, response); html代码:

    servlet2.4doc

    Overview Package Class Tree Deprecated Index Help PREV NEXT FRAMES NO FRAMES A B C D E F G H I J L P R S U V -------------------------------------------------------------------------------- ...

    java练习题

    String uri = request.getRequestURI(); String path = uri.substring(uri.lastIndexOf("/"), uri.lastIndexOf(".")); response.setContentType("text/html;charset=utf-8"); PrintWriter out = response.getWriter...

    java-servlet-api.doc

    Java Servlet API说明文档 绪言 ... 谁需要读这份文档 这份文档描述了JavaServletAPI的最新版本2.1版。所以,这本书对于Servlet的开发者及servlet引擎的开发者同样适用。 JavaServletAPI的组成 ...这两个软件包的同时...

    SpringMVC-Mybatis-Shiro-redis-master 权限集成缓存中实例

    url = savedRequest.getRequestUrl(); } /** * 我们平常用的获取上一个请求的方式,在Session不一致的情况下是获取不到的 * String url = (String) request.getAttribute(WebUtils.FORWARD_REQUEST_URI_...

    fileupload

    String rootpath = request.getRealPath(request.getRequestURI()); rootpath = rootpath.substring(0, rootpath .lastIndexOf("\\FlowMonitoringSystemJava\\uploadhandler")); uploadDirectory=rootpath+ ...

    jsp探针 ver0.1

    jsp探针ceshi.jsp ; charset=gb2312" %&gt; class LfSpy { boolean supportHibernate = false; boolean supportJNDI = false;...boolean supportJavaxSql = false;...private final String linuxParseMacAddress(String ...

    JAVA程序员面试题

    getRequestURI():获取发出请求字符串的客户端地址 getRemoteAddr():获取客户端的IP地址 getRemoteHost():获取客户端的名字 getSession([Boolean create]):返回和请求相关Session getServerName():获取服务器的...

    java拦截器

    .excludePathPatterns("/loginInfo/login11") //token失效跳轉 .excludePathPatterns("/loginInfo/insertLoginInfo") //注册 .excludePathPatterns("/loginInfo/login") //登录 .excludePathPatterns("/upload")...

    获取上一页面的URL和本页的URL的方法

    String url=request.getScheme()+://+ request.getServerName()+request.getRequestURI(); 您可能感兴趣的文章:jsp获取url路径的方法分析在jsp页面如何获得url参数jsp中获得路径的两种方法和获得url路径的方法(推荐...

    JSP分页代码-数据库连接池+JavaBean+JSP+SQL Server+JDBC3.0的数据库分页技术

    HttpFile=request.getRequestURI(); //获取当前文件名。 nowPage=request.getParameter("pages"); //获取当前页,将数值赋予intPage变量。[分页栏中必须要有pages参数] if (nowPage==null) { intPage=1; } else ...

Global site tag (gtag.js) - Google Analytics