您的位置:首页 > 产品设计 > UI/UE

getContextPath、getServletPath、getRequestURI,getRealPath的区别

2016-12-29 13:33 639 查看
假定你的web application 项目名称为news,你在浏览器中输入请求路径: http://localhost:8080/news/main/list.jsp
则执行下面向行代码后打印出如下结果:
1、 System.out.println(request.getContextPath()); //可返回站点的根路径。也就是项目的名字
打印结果:/news

2、System.out.println(request.getServletPath());
打印结果:/main/list.jsp

3、 System.out.println(request.getRequestURI());
打印结果:/news/main/list.jsp

4、 System.out.println(request.getRealPath("/"));

request.getRealPath("/")已经不建议使用。

getRealPath();

返回一个字符串,包含一个给定虚拟路径的真实路径。

struts2中:

ServletContext ctx=ServletActionContext.getServletContext();

String path=ctx.getRealPath("/");
String path1=ctx.getRealPath("/files/view.jsp");

输出:path为D:\Javasoftware\apache-tomcat-7.0.70\apache-tomcat-7.0.70\webapps\struts2-1\

path1为D:\Javasoftware\apache-tomcat-7.0.70\apache-tomcat-7.0.70\webapps\struts2-1\files\view.jsp

\files\view.jsp这部分就是虚拟路径

D:\Javasoftware\apache-tomcat-7.0.70\apache-tomcat-7.0.70\webapps\struts2-1\ 为项目的绝对路径

servlet中:

private ServletConfig config;

public void init(ServletConfig config) throws ServletException {
this.config=config;}

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

ServletContext ctx=config.getServletContext();
String temp=ctx.getRealPath("/");
}

打印结果:F:\Tomcat 6.0\webapps\news\test

注:

URI=contextPath+servletPath
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐