java web中servlet、jsp、html 互相访问的路径问题。
来源:互联网 发布:ubuntu重置软件设置 编辑:程序博客网 时间:2024/06/06 07:04
在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中servlet、jsp、html 互相访问的路径问题。
- java web中servlet、jsp、html 互相访问的路径问题。
- 配置Servlet和jsp的访问路径映射 域对象 java web 四种include方法
- javaee 中servlet jsp HTML 三者路径问题
- JSP、Servlet中路径问题
- JSP/Servlet/HTML开发时路径问题
- HTML/JSP/Servlet中的路径问题
- Servlet 的路径访问问题
- Java Web中资源的访问路径
- Java Web中资源的访问路径
- 如何在web.xml中配置jsp的访问路径
- 直接访问Jsp和从Servlet跳转到Jsp时的路径问题
- Jsp,Servlet,Java中详细获得路径的方法!
- jsp中调用servlet路径问题
- Jsp和Servlet中引用路径问题
- jsp中调用servlet路径问题
- JSP中servlet中的路径配置问题
- jsp servlet 中 表单提交路径, RequestDispacher 路径,sendRedirect 路径的相关问题汇总
- 冒泡排序法
- 红与黑
- Re-factoring some internals of prepared statements in 5.7
- Hadoop学习四:hadoop分布式环境搭建
- 位运算之不用加减乘除做加法.
- java web中servlet、jsp、html 互相访问的路径问题。
- Xcode,OS X(SDK),iOS(SDK)版本对应
- java对象的强引用,软引用,弱引用和虚引用
- 选择排序法
- PPT快速制作缩略图
- awk命令详解
- 二分查找法
- Ubuntu的一些使用小技巧【不断更新中】
- ubuntu安装pip+python27+ipython+scrapy+zlib+libssl-dev-及遇到的各种问题解决