java项目中jsp的路径问题 20
在项目中凡是../index.jsp类型的链接全都链接到http://localhost:8080/index.jsp,而不是正常的http://localhost:80...
在项目中 凡是../index.jsp类型的链接全都链接到http://localhost:8080/index.jsp,而不是正常的http://localhost:8080/项目名/index.jsp。 该电脑是刚装的java环境。在eclipse下运行。求高手!!
X:\Tomcat\Tomcat 6.0\webapps\项目名\index.jsp 路径是这个没错。
request.getContextPath() 为 /项目名,没错的吧
是不是哪里的默认路径有误?? 展开
X:\Tomcat\Tomcat 6.0\webapps\项目名\index.jsp 路径是这个没错。
request.getContextPath() 为 /项目名,没错的吧
是不是哪里的默认路径有误?? 展开
5个回答
展开全部
--------------------------------------------------------
<%=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() 得到工程文件的实际物理路径,也就是绝对地址
--------------------------------------------------------
<%=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() 得到工程文件的实际物理路径,也就是绝对地址
--------------------------------------------------------
展开全部
你的项目路径是这样的吗?
X:\Tomcat\Tomcat 6.0\webapps\项目名\index.jsp
X:\Tomcat\Tomcat 6.0\webapps\项目名\index.jsp
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先有个疑问,../index.jsp,前面两个点,这不就是往上一级么?
检查项目的context path,缺省是“项目名”的,也有可能被改成"/"。
检查项目的context path,缺省是“项目名”的,也有可能被改成"/"。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
../index是上一目录
http://localhost:8080/index.jsp这是tomcat的首页
如果你的jsp里面没有加强制跳转,那么就是上面的错误……
我觉得这个错误好解决,别急,一步一步的找
还是不行的话,你可以将你的项目发出来都看看……
http://localhost:8080/index.jsp这是tomcat的首页
如果你的jsp里面没有加强制跳转,那么就是上面的错误……
我觉得这个错误好解决,别急,一步一步的找
还是不行的话,你可以将你的项目发出来都看看……
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你去掉前面两个点../
../是返回上一路径
../是返回上一路径
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询