java项目中jsp的路径问题

在项目中 凡是../index.jsp类型的链接全都链接到http://localhost:8080/index.jsp,而不是正常的http://localhost:8080/项目名/index.jsp。 该电脑是刚装的java环境。在eclipse下运行。求高手!!
X:\Tomcat\Tomcat 6.0\webapps\项目名\index.jsp 路径是这个没错。
request.getContextPath() 为 /项目名,没错的吧
是不是哪里的默认路径有误??

--------------------------------------------------------

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

<a href="<%=request.getContextPath()%>/XXX.jsp"> //这样获得的是绝对路径

<a href="XXX.jsp"> //这样获得的是相对路径

<a href="<%=request.getContextPath()%>/XXXX.jsp"> 能够更有效的防治连接的失效。

request.getContextPath()得到的是项目的名字,如果项目为根目录,则得到一个"",即空的字条串, 如果项目为dzjc, <%=request.getContextPath()% >/ 将得到dzjc/,服务器端的路径则会自动加上, <a href="XXX.jsp"> 应该就是指当前路径下的这个xxx.jsp页面,有时候也可以在head里设置html:base来解决路径的问题,不过用的最多的还是request.getContextPath。

用EL来表示相同功能的EL为:$

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

request.getServerName()返回的是你浏览器中显示的主机名

getServerPort()获取服务器端口号

如果想得到工程文件的实际物理路径,可通过:<%=request.getRealPath("/")%>,这样页面就会输出:d:/web

现在request.getRealPath("") 这个方法已经不推荐使用了,可以使用
ServletContext.getRealPath(java.lang.String) instead. request.getSession().getServletContext().getRealPath() 得到工程文件的实际物理路径,也就是绝对地址

--------------------------------------------------------
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-05-20
你的项目路径是这样的吗?
X:\Tomcat\Tomcat 6.0\webapps\项目名\index.jsp
第2个回答  2011-05-20
首先有个疑问,../index.jsp,前面两个点,这不就是往上一级么?

检查项目的context path,缺省是“项目名”的,也有可能被改成"/"。
第3个回答  2011-05-21
../index是上一目录
这是tomcat的首页
如果你的jsp里面没有加强制跳转,那么就是上面的错误……
我觉得这个错误好解决,别急,一步一步的找
还是不行的话,你可以将你的项目发出来都看看……
第4个回答  2011-05-27
你去掉前面两个点../
../是返回上一路径

相关了解……

你可能感兴趣的内容

大家正在搜

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网