`
2249665877
  • 浏览: 5539 次
社区版块
存档分类
最新评论

java web中servlet、jsp、html 互相访问的路径问题

 
阅读更多
在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\

总结:
这里主要弄明白是指向外部的还内部的,外部时"/"就是代表主机路径,内部时"/"就是代表当前项目路径.
分享到:
评论

相关推荐

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。.  本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

    本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。.  本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part4

    本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。.  本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part5

    本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。.  本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...

    在JAVA文件中获取该项目的相对路径.doc

    在 JAVA 文件中获取项目的相对路径是非常重要的,特别是在 JSP/Servlet 中。下面将详细介绍在 JAVA 文件中获取项目的相对路径的相关知识点。 1. 绝对路径和相对路径的概念 在讨论获取项目的相对路径之前,我们需要...

    Java™ Servlet 规范.

    1.6 与 Java Servlet 规范 2.5 版本间的兼容性 ..............................................................................................14 1.6.1 监听器(Listener)顺序 .................................

    java web开发技术大全

    《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax+》讲解了JSP/S rvlet技术的基础知识,并提供了一个综合案例展示其具体应用,它们是Java Web服务端技术的基石,也是学习Java Web开发所要必须掌握...

    java web技术开发大全(最全最新)

    《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax+》讲解了JSP/S rvlet技术的基础知识,并提供了一个综合案例展示其具体应用,它们是Java Web服务端技术的基石,也是学习Java Web开发所要必须掌握...

    JavaWeb开发技术-JSP动作元素.pptx

    JAVA WEB开发技术 JSP动作元素 语法 描述 jsp:include 在页面被请求的时候引入一个文件 jsp:useBean 寻找或者实例化一个JavaBean jsp:setProperty 设置JavaBean的属性 jsp:getProperty 输出某个JavaBean的属性 jsp:...

    java-servlet-api.doc

    所有的JavaServlet都会直接地或间接地执行javax.servlet.Servlet接口,这样它才能在一个Servlet引擎中运行。Servlet引擎是Web服务器按照JavaServletAPI定制的扩展。Servlet引擎提供网络服务,能够理解MIME请求,并...

    Java_Web总结

    Java Web 应用程序的核心技术是 Servlet 和 JavaServer Pages(JSP),它们是 Java 语言中最流行的 Web 开发技术。 1. Web 工作原理 Web 工作原理是指 Web 应用程序是如何处理用户请求的整个过程。该过程主要包括...

    JAVA web.xml配置详解

    --small-icon元素应指向web站台中某个小图标的路径,大小为16 X 16 pixel,但是图象文件必须为GIF或JPEG格式,扩展名必须为:.gif或.jpg. --&gt; 路径/small.gif &lt;!--large-icon元素应指向web站台中某个大图表路径,大小...

    java获取路径的各种方法

    包含Web的相对路径(HTML中的相对目录),例如:在Servlet中,"/"代表Web应用的跟目录。和物理路径的相对表示。例如:"./" 代表当前目录,"../"代表上级目录。这种类似的表示,也是属于相对路径。另外关于URI,URL,...

    jsp servlet 入门学习资料-新手一看就懂

    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属性 ...

    java web笔试题集锦经典2011年8月经典笔试题

    (1) 假设在helloapp应用中有一个hello.jsp,它的文件路径如下: %CATALINA_HOME%/webapps/helloapp/hello/hello.jsp c 那么在浏览器端访问hello.jsp的URL是什么? 选项: (A) http://localhost:8080/hello.jsp (B) ...

    JSP訳文--工具--Java

    Model1和Model2 ASP+和JSP之间的抉择 JSP中的虚拟路径 读取Text文件 new:ASPer看过来 困扰JSP的一些问题:jsp和宏之间的争议 jsp的5个不足之处 JSP不能代替Servlet Resin中的JSP范例 JSP...

    java源码包---java 源码 大量 实例

    嵌套在html中 各种EJB之间的调用示例 7个目标文件 摘要:Java源码,初学实例,EJB调用实例  各种EJB之间的调用源码示例,用远程接口的引用访问EJB、函数将被FirstEJB调用,同时它将调用secondEJB 基于JAVA的UDP...

    JSP文件是否有必要放在WEB-INF下

    真正的原因是,对于早期直接嵌入Java代码的JSP,是直接给出JSP路径给用户访问的,这种情况恰恰不能放在WEB-INF目录下。而到了现在的MVC模式,JSP已经不是曾经那个包含完整逻辑的JSP,而仅仅充当View层的模板,必须要...

    java后台部署html页面代码.docx

    在给定的代码中,我们可以看到使用了 JavaServlet 和 JavaServer Pages(JSP)技术来实现 Web 应用程序。JavaServlet 是一种 Java 类,用于处理 HTTP 请求和响应,而 JSP 是一种基于 Java 的服务器端脚本语言,用于...

Global site tag (gtag.js) - Google Analytics