在java web种经常出现 404找不到网页的错误,究其原因,一般是访问的路径不对。
java web中的路径使用按我的分法可以分两种情况,当然啦两者使用相对路径是一致,本文只说绝对路径。
情况一、指向外部的web组件和本身关系不大的,这一类的有:html中使用路径的标签,比如<a>标签中的href;servlet和jsp中的重定向sendRedirect(path);
情况二、指向内部的web组件和本身有关系的,这一类我暂时看到的有:servlet或者jsp的转发
假设在myapp项目下有个login.html,index.jsp,还写了两个servletA和servletB.
在web.xml中的地址配置:
<url-pattern>/servlet/servletA</url-pattern>
<url-pattern>/servlet/servletB</url-pattern>
在情况一中:若在路径中以/开头,则这一/相当于http://localhost:8080/
1、login.html有个form表单有提交给servletA,那么action要填的路径:
绝对路径方式:action="/myapp/servlet/servletA" ------http://localhost:8080/myapp/servlet/servletA
相对路径方式:action="servlet/servletA" ------http://localhost:8080/myapp/servlet/servletA
2、login.html有个<a>链接到index.jsp 那么
绝对路径方式:href="/myapp/index.jsp" ------http://localhost:8080/myapp/index.jsp
相对路径方式:action="index.jsp" ------http://localhost:8080/myapp/index.jsp
3、index.jsp中重定向到servletA
绝对路径方式:sendRedirect("/myapp/servlet/servletA"); ------http://localhost:8080/myapp/servlet/servletA
相对路径方式:sendRedirect("servlet/servletA"); ---http://localhost:8080/myapp/servlet/servletA
在情况二中:若在路径中以/开头,则这一/相当于http://localhost:8080/myapp/
1.servletA转发到servletB
绝对路径方式:request.getRequestDispatcher("/servlet/servletB").forward(request, response);
--------http://localhost:8080/myapp/servlet/servletB
相对路径方式:request.getRequestDispatcher("servlet/servletB").forward(request, response);
--------http://localhost:8080/myapp/servlet/servletB
注意:
建议使用绝对路径,相对路径是相对于当前浏览器地址栏的路径(源地址)。
可能会出现:你在某个页面写了一个相对路径(目标路径),因为转发是不改变地址的,那么要是别人是通过转发到达你的这个页面的,那么地址栏的源地址就是不确定的,既然不确定你使用相对路径相对于这个不确定的路径就极有可能出错,所以建议使用绝对路径,这样可避免这种问题。
获得项目路径和绝对路径:
项目路径:String path=request.getContextPath(); ---- /myapp
String p=this.getServletContext().getRealPath("/"); ----- G:\environment\tomcat\webapps\myapp\
总结:
这里主要弄明白是指向外部的还内部的,外部时"/"就是代表主机路径,内部时"/"就是代表当前项目路径.
分享到:
相关推荐
本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。. 本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...
本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。. 本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...
本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。. 本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...
本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。. 本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...
1.6 与 Java Servlet 规范 2.5 版本间的兼容性 ..............................................................................................14 1.6.1 监听器(Listener)顺序 .................................
《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax+》讲解了JSP/S rvlet技术的基础知识,并提供了一个综合案例展示其具体应用,它们是Java Web服务端技术的基石,也是学习Java Web开发所要必须掌握...
《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax+》讲解了JSP/S rvlet技术的基础知识,并提供了一个综合案例展示其具体应用,它们是Java Web服务端技术的基石,也是学习Java Web开发所要必须掌握...
JAVA WEB开发技术 JSP动作元素 语法 描述 jsp:include 在页面被请求的时候引入一个文件 jsp:useBean 寻找或者实例化一个JavaBean jsp:setProperty 设置JavaBean的属性 jsp:getProperty 输出某个JavaBean的属性 jsp:...
所有的JavaServlet都会直接地或间接地执行javax.servlet.Servlet接口,这样它才能在一个Servlet引擎中运行。Servlet引擎是Web服务器按照JavaServletAPI定制的扩展。Servlet引擎提供网络服务,能够理解MIME请求,并...
--small-icon元素应指向web站台中某个小图标的路径,大小为16 X 16 pixel,但是图象文件必须为GIF或JPEG格式,扩展名必须为:.gif或.jpg. --> 路径/small.gif <!--large-icon元素应指向web站台中某个大图表路径,大小...
包含Web的相对路径(HTML中的相对目录),例如:在Servlet中,"/"代表Web应用的跟目录。和物理路径的相对表示。例如:"./" 代表当前目录,"../"代表上级目录。这种类似的表示,也是属于相对路径。另外关于URI,URL,...
4.1.2 JSP中的相对路径 4.2 注释 4.3 指令 4.3.1 page指令 4.3.2 include指令 4.3.3 taglib指令 4.4 内置对象 4.5 脚本元素 4.5.1 声明 4.5.2 表达式 4.5.3 脚本代码 4.6 动作 4.6.1 id和scope属性 ...
(1) 假设在helloapp应用中有一个hello.jsp,它的文件路径如下: %CATALINA_HOME%/webapps/helloapp/hello/hello.jsp c 那么在浏览器端访问hello.jsp的URL是什么? 选项: (A) http://localhost:8080/hello.jsp (B) ...
Model1和Model2 ASP+和JSP之间的抉择 JSP中的虚拟路径 读取Text文件 new:ASPer看过来 困扰JSP的一些问题:jsp和宏之间的争议 jsp的5个不足之处 JSP不能代替Servlet Resin中的JSP范例 JSP...
MLDN 李兴华 Java Web 开发实战经典.pdf (高清版) 全书分为两部分,需 要全部下载下载一起解压,此部分为第一部分 带有书签,清华大学出版社 第1章 JAVA WEB开发简介 1.1、WEB发展历程 1.2、企业开发架构 ...
此Java项目是Java Servlet JSP应用程序,还包括/api/*上正在运行的Jersey API。 该演示的目的是演示如何构建这样的应用程序以及如何将其与与Java Servlet App一起运行的React SPA一起使用。 所有这些都是为了让您...
1、包括自动扫描绑定映射路径,只要在web.xml中指定扫描包,系统启动后会将请求url绑定到指定的处理方法上。如: 在web.xml中定义如下: <param-name>ScanPackage <param-value>com.mvc.controller</param-value>...
MLDN 李兴华 Java Web 开发实战经典.pdf (高清版) 全书分为两部分,需 要全部下载下载一起解压,此部分为第二部分 带有书签,清华大学出版社 第1章 JAVA WEB开发简介 1.1、WEB发展历程 1.2、企业开发架构 ...
本文以项目部署在tomcat服务器为例,其他相信也是一样的。 先说明请求页面的写法,在... 以访问目录中index.jsp文件为例,jxf.path.PathServlet.jave中对以上四种路径的写法(红色部分) 1 package jxf.path; 2