Java Web 开发中路径相关问题小结

Java Web开发中路径问题小结

(1) Web开发中路径的几个基本概念

假设在浏览器中访问了如下的页面,如图1所示:

图1

Eclipse中目录结构如图2所示:

图2

那么针对这个站点的几个基本概念表述如下:

1. web站点的根目录:http://localhost:8080/

2. web应用程序的的根目录:http://localhost:8080/test/

3.同级目录:http://localhost:8080/test/articles/article1.jsphttp://localhost:8080/test/articles/article2.jsp 就是处于同级目录

二.几个路径相关函数的返回值:

在TestURL.jsp文件中测试了三个路径相关函数:

1. getRequestURI()

2. getContextPath()

3. getServletPath()

结果如图3所示:

图3

三.web.xml中的路径

Servlet 映射 <url-pattern>/xx</url-pattern> 中的 “/” 代表当前 web 应用的根路径。

这个只要思考一下就能得出结论:所有的web.xml文件都是描述某个web应用的部署相关信息,所以“/”只能代表当前 web 应用的根路径,而不是指向web站点的根目录

四.转发和重定向中的路径问题

1. 如果没有“/”,如request.getRequestDispatcher("hello.jsp ").forward(request, response) 和response.sendRedirect(" hello.jsp ") 就表示在同级目录中寻找login.jsp文件。

2. 如果路径中包含“/”(注意,这里的“/”是指路径中的第一个“/”)

a, 转发

如request.getRequestDispatcher("/hello.jsp").forward(request, response) :代表到http://localhost:8080/test/ 下目录寻找hello.jsp文件。

b,重定向

如response.sendRedirect("/hello.jsp"):代表到http://localhost:8080/ 目录下寻找hello.jsp文件

五.<form action=“/xxx”> <a href=/xxx></a>中的路径

“/”代表的是 web 站点的根路径.。

因为超链接可以链接到任何需要的目标资源, 所以 / 代表的肯定不是当前 web 应用的根路径, 而是当前 web 站点的根路径。

六.Page标签中errorPage属性的路径问题

errorPage属性值如果以”/”开头表示,表示相对于当前WEB应用程序的根目录,否则,表示相对与当前页面。

时间: 2024-08-01 18:44:01

Java Web 开发中路径相关问题小结的相关文章

Java Web开发中路径问题小结

看以博客感觉不错,分享一下http://www.cnblogs.com/tianguook/archive/2012/08/31/2665755.html (1) Web开发中路径的几个基本概念 假设在浏览器中访问了如下的页面,如图1所示: 图1 Eclipse中目录结构如图2所示: 图2 那么针对这个站点的几个基本概念表述如下: 1. web站点的根目录:http://localhost:8080/ 2. web应用程序的的根目录:http://localhost:8080/test/ 3.同

java web开发中的奇葩事web.xml中context-param中的注释

同事提交了代码.结果除同事之外,其他人全部编译报错.报错说web.xml中配置的一个bean 没有定义.按照报错提示,各种找,无果. 由于代码全部都是提交到svn主干,之前也没有做过备份,只能一步一步删除同事提交的代码,进行还原. 奇葩事情出现了! <context-param> <param-name>contextConfigLocation</param-name> <param-value> classpath:/context_entry.xml

日常 java web 开发中遇到的常见问题

view 层: 问题:jsp 页面double 值过大,会变成科学计数法 第一步:引入标签 <%@ taglib prefix= "fmt" uri ="/WEB-INF/tld/fmt.tld" %> 第二步: <fmt:formatNumber value= "${变量名} " pattern="#.00"/> 2.jsp和java后台交互,通过js 转码问题 js代码:       var tes

java web开发中,如何查看JSP和Servlet版本 (转)

原文出处:http://blog.163.com/qiu_yin_good/blog/static/16732934920123277481492/ 在看<struts2权威指南>的时候,书上很多处都提到环境要支持的JSP,Servlet版本.如果版本低,会出现异常.或者需要修改web.xml等. 现在记录下如何看自己java  web工程的JSP和servlet版本. 我的tomcat版本是7.0.26 方法:打开tomcat/lib,找到jsp-api.jar和servlet-api.ja

Java Web开发中MVC设计模式简介

一.有关Java Web与MVC设计模式 学习过基本Java Web开发的人都已经了解了如何编写基本的Servlet,如何编写jsp及如何更新浏览器中显示的内容.但是我们之前自己编写的应用一般存在无条理性,对于一个小型的网站这样的编写没有任何问题,但是一但我们需要编写大型的web工程的话,我们现有的编写模式会造成web应用的可扩展性较差,而且一但出现问题不能准确的定位出问题出在哪里. Java是一门应用设计模式比较广泛的语言.目前主流提出的23种设计模式均可在Java语言编写的程序中所应用.目前

关于web开发中路径的问题的总结

web开发中的一个困扰web开发新人的是路径问题: 1:项目的静态资源的根路径:http://localhost:8080/sqec-monitor 即是部署在web服务器中(比如tomcat)中项目(假设此项目名为sqec-monitor)的webapp: 2:深入理解绝对路径和相对路径,以及相对路径中的" .." 和" . ":  3:前端给后端路径,而且都是完整的绝对路径,后端给前端文本: 4:一些引入项目静态资源的href,scr,url等等非常智能,能够自

Java web开发中主要用到的jar包

1.Java开发中主要用到的jar包介绍:(1)java JDK基础开发包:java包和javax包.书写方式:import java.lang.reflect.InvocationTargetException; import java.util.HashMap; import java.util.Map; 1.java.util包:集合类list/set/map等接口和实现类.calendar,date日期操作类.properties读取配置文件类.random随机数类.Timer计时器类.

Java web开发中页面跳转小技巧——跳转后新页面在新窗口打开

最近学习Java web,在学习过程中想实现一个需求,就是在jsp页面跳转的时候,希望跳转后的新页面在新窗口中打开, 而不是覆盖原来的页面,这个需求使我困惑了好长时间,后来通过大海捞针似的在网上寻找方法,最后终于得以解决, 现将此方法跟大家分享,如果有不足的地方,请多包涵,我的初衷是能帮助到有这方面需要的人. 之前我在网上也曾搜到过相对靠谱的方法,就是在jsp页面相应位置加入代码:target="_black",如 <a href="articleView?id=${a

Java Web开发中Spring+MyBatis框架的简单搭建

这里使用的eclipse,首先创建一个动态web项目. 1.导入Spring IOC.AOP.DAO.dbcp.dbdrive.mybatis.jar . mybatis-spring.jar  本人使用的jar包和版本如下: aopalliance.jaraspectjweaver.jarcommons-dbcp-1.4.jarcommons-logging.jarcommons-pool-1.5.6.jarmybatis-3.2.5.jarmybatis-spring-1.2.2.jarmy