web项目找不到路径的几种解决方案
来源:互联网 发布:傻瓜网站制作软件 编辑:程序博客网 时间:2024/05/16 17:07
在开发项目的时候,经常会出找不到路径的问题,今天偶吧我的一些心得分享给大家,希望对遇到类似错误的能够有所帮助,如果我说的有错,请给予指导。
1、在解决这个问题前,我们需要先理解一下jsp的跟路径和servlet的跟路径。
jsp的跟路径是http://localhost:8080/
servlet的跟路径是http://localhost:8080/项目名/
注解:这里的localhost是你所项目所发布机器的ip地址,8080是你项目所部署服务的端口号。
2、转发和重定向的区别。
这里我只简单的说明一下,转发的地址栏地址不会指向真正的地址,而重定向正好相反。
3、下面让我们以一个项目为例子。
但我用index.jsp去登陆的时候,如果成功则返回success.jsp页面,如果失败,则返回error.jsp页面,这里我用的是struts2测试的,返回的两个页面我分别用了两种方式,转发后重定向。
以下是我struts.xml内容
<struts>
<package name="login" extends="struts-default">
<action name="login" class="com.mingri.it.loginAction">
<result name="success">/page/success.jsp</result>
<result name="error" type="redirect">/page/error.jsp</result>
</action>
</package>
</struts>
当我输入正确的用户名和密码的时候我可以转发到success页面。
当我输入错误的用户名或密码是可以重定向到error。jsp页面。
注意:这里我们只关心的是他们的地址栏中的路径。
以下是他们的路径:
http://localhost:8080/mingri/login.action
http://localhost:8080/mingri/page/error.jsp
我们会发现,登陆错误的时候,它地址栏显示的是error。jsp页面的真实路径。
这时候如果我们想要在error。jsp加一个链接返回到登陆页面,就有可能会报找不到路径的问题。
以下是error。jsp源码。
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%
String url=request.getContextPath();
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
登陆失败,<hr>
<a href="index.jsp" >重新登陆</a>
</body>
</html>
用这种方式会出现找不到路径的问题,此时也许有人会这么写,
<a href="/index.jsp" >重新登陆</a>
这种方式也是找不到的,为什么会这样那,原因是,jsp的根路径是http://localhost:8080/而不是http://localhost:8080/mingri/
解决方案:
1、把重定向改为转发,也就是如下语句
<result name="error">/page/error.jsp</result>
2、应用绝对路径,String url=request.getContextPath();
源文件如下:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%
String url=request.getContextPath();
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
登陆失败,<hr>
<a href="<%=url%>/index.jsp" >重新登陆</a>
</body>
</html>
这里我建议用第二种方法,因为这种方法无论你使用转发还是重定向不会出现找不到路径的问题。
至此大功告成,希望能够对看过的朋友有所帮助。
- web项目找不到路径的几种解决方案
- 获取JAVA[WEB]项目相关路径的几种方法
- 获取JAVA[WEB]项目相关路径的几种方法
- 获取JAVA[WEB]项目相关路径的几种方法
- 获取JAVA[WEB]项目相关路径的几种方法
- 获取JAVA[WEB]项目相关路径的几种方法
- 获取JAVA[WEB]项目相关路径的几种方法
- web项目出现乱码的几种解决方案
- MyEclipse中tomcat部署时,找不到web项目的解决方案
- java web项目中路径问题的解决方案
- Java Web项目中路径问题的解决方案
- Web开发中跨域的几种解决方案
- 获取JAVA[WEB]项目相关路径的几种方法(转载)
- 项目路径的几种获取方式
- Java web项目路径终极解决方案
- eclipse部署web项目至本地的tomcat但在webapps中找不到的解决方案
- SpringMVC WEB项目 jsp引入的js,css,gif等类型文件找不到路径问题
- SpringMVC WEB项目 jsp引入的js,css文件找不到路径问题()
- 有朋自远方来不亦乐乎
- 感受
- 关于QQ判断是否安装360 不需要扫描硬盘
- 我的论坛记录
- 嵌入式菜鸟的心情2
- web项目找不到路径的几种解决方案
- WEB层访问会话bean
- 密码
- 开心
- java,c++学习交流群(126330898)
- 整理数据库
- 做人要快乐
- asp.net 中总是出现服务器标记不正确
- 那么喜欢犯贱?