request.getContextPath是为了解决相对路径的问题,可返回站点的根路径

假定你的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("/"));

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

=====================================================================================

<%=request.getContextPath()%>是为了解决相对路径的问题,可返回站点的根路径。

但不用也可以吧,比如<a href="<%=request.getContextPath()%>/catalog.jsp">
我就直接用<a href="catalog.jsp">也行啊,这两个文件是在同一个目录下的

比如你要生成一个文件放在服务器上得一个目录下,你可以使用request.getContextPath()+/dir,组成一个完整得目录结构!

但在JSP文件里,通过request.getContextPath()得到的路径却为空,为什么?

你在context中没有配置path属性,所以你的工程文件就是在根目录下,相当于path="";即是你直接在 浏览器中输入你的服务器ip就会到你的jsp页面,而不是tomcat的默认页面;所以你通过request.getContextPath()得到的字 符串是为空的;它是获得虚目录的;
如果你想得到工程文件的实际物理路径,可通过:<%=request.getRealPath("/")%>,这样页面就会输出:d:/web

request.getScheme();
返回的协议名称,默认是http

request.getServerName()
返回的是你浏览器中显示的主机名,你自己试一下就知道了

getServerPort()
获取服务器端口号

request.getContextPath是为了解决相对路径的问题,可返回站点的根路径

时间: 2024-10-05 16:44:21

request.getContextPath是为了解决相对路径的问题,可返回站点的根路径的相关文章

Jfinal文件上传基础路径问题,windows下会以项目根路径为基础路径

在本地windows下开发测试文件上传 使用com.jfinal.cos进行multipart/form-data请求数据格式的文件上传解析 import com.jfinal.upload.UploadFile; ... List<UploadFile> upFile = this.getFiles(savePath); 我设置的savePath="D:/home/upload" 预想的情况会默认将文件上传到该路径下 java.lang.RuntimeException:

request.getcontextPath() 详解

<%=request.getContextPath()%>是为了解决相对路径的问题,可返回站点的根路径. 但不用也可以,比如<a href="<%=request.getContextPath()%>/catalog.jsp">,可以直接用<a href="catalog.jsp">也行,这两个文件是在同一个目录下的.比如你要生成一个文件放在服务器上得一个目录下,可以使用request.getContextPath()

jsp中的request.getContextPath()

jsp中的request.getContextPath() <%=request.getContextPath()%>是为了解决相对路径的问题,可返回站点的根路径. 但不用也可以吧,比如<a href="<%=request.getContextPath()%>/catalog.jsp">我就直接用<a href="catalog.jsp">也行啊,这两个文件是在同一个目录下的 比如你要生成一个文件放在服务器上得一个目

request.getContextPath()的功能

<% String contextPath = request.getContextPath();  // 得到项目的名字 com.chint.until.SessionInfo sessionInfo = (com.chint.until.SessionInfo) session.getAttribute("sessionInfo"); %> 在JSP中有html.js.java这三种语言,其中的java,被称之为java代码片段,<%  java代码片段 %>

JSP之项目路径问题(${pageContext.request.contextPath},&lt;%=request.getContextPath()%&gt;以及绝对路径获取)

本随笔这是作为一个记录使用,以备后查.项目完成之后本地部署OK,本地Linux部署OK,都可以正常的访问,可是当我把它部署到服务器上面的时候,首页可以正常访问,可是当发出请求的时候却报错误了,说找不到定义的请求.我很纳闷,本地都OK为什么只有在服务器才能找不到请求.不过按照常理我还是一步一步的来开始排错. 第一步,查看项目部署成功,和部署路径无关,OK. 第二步,查看web.xml以及struts的请求配置,完全OK,没有问题. 第三步,既然部署没有问题,请求配置都OK,如果不是机器的原因那么只

使用request.getContextPath()设置Cookie路径问题

今天做项目遇到一个问题: 某个项目需要自动登录,后台实现是将用户名和密码写入到cookie.本地测试通过,但是部署在服务器上的时候遇到一个问题,就是在IE下勾选上自动登录项,当再次登录的时候获取设置的cookie的值无法取到,经过研究发现本地和服务器的区别在于服务器访问没有项目名称也就是IP+端口访问,经过仔细研究找到的解决方案. 我们后台设置cookie的时候这这样设置的     Cookie cookie = new Cookie(name, value);         cookie.s

jsp中【&lt;%=request.getContextPath()%&gt;】项目路径

1 2 "request.getContextPath()的值是        "<%=request.getContextPath()%><br/> "pageContext.request.contextPath的值是   "${pageContext.request.contextPath}<br/> 通过运行我们发现了<%=request.getContextPath()%>和${pageContext.req

关于request.getContextPath的路径问题

今天在写项目的时候,为了测试整体的流程,写了简单的界面,然后发现在首页的时候没有问题,但是在进行登录的时候,浏览器提示404,看了一下请求路径 http://localhost:8080/$%7Bpath%7D/user/toLogin 很明显中间有乱码的错误,我查看了代码,发现我controller那里的路径映射有问题,所以把乱码那部分删除了,结果是可以看到登录页面的,所以问题应该出现在这个路径上面 这里是原请求路径 <h3> <a href="${path}/user/to

String path = request.getContextPath

<% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> 这个语句是用来拼装当前网页的相对路径的. <base href="...">是用来表明当前页面的相对路