IDEA工具中web项目目录结构与发布后的目录结构的对应关系 相对路径与绝对路径

来自这个博客

项目名称(存放于:Tomcat软件安装目录中,webapps目录下的子文件夹)结合下边就是moubao
	|-----静态资源 HTML,CSS,JS
	|-----WEB-INF   (客户不能直接通过浏览器进行访问)
		|----web.xml  当前WEB项目的核心配置,Servlet2.5必须有,3.0以后可省略
		|----lib	  当前WEB项目所需要的第三方的jar的存放位置。
		|----classes  Java源码编译后生成class文件存放的位置。

在这里插入图片描述

这个博客
一般例如jsp,css,js之类的文件以及项目自带的图片资源什么的都是放在项目名(moubao)/WebContent目录下(也可能是项目名(moubao)/Webapp),以下事实基于这个环境下,并假设我有一个项目叫MouBao,下面是目录
java web中访问资源的几种方法:

在这里插入图片描述

//重定向

response.sendRedirect("/moubao/index.jsp");

//转发

request.getRequestDispatcher("/index.jsp").forward(request, response);

//超链接

//表单提交

...

以上4中方式,除了转发是由服务器发起的路径,其他都是浏览器发起的(大家明白这句话我想表达的意思就可以了)

路径开头直接“/”表示当前路径

结论:

1、浏览器发起的请求中的“/”表示“Tomcat/webapps”目录下,比如你在浏览器中输入“localhost:8080/TaoBao”中的“/”就是表示Tomcat/webapps,调用资源的时候需要写/TaoBao/index.jsp

2、而服务器发起的请求中“/”表示“Tomcat/webapps/TaoBao”的目录,调用的时候写/index.jsp

注意到区别了吗

根据以上结论,比方说,我在cart.jsp中需要访问另一个jsp页面或者images中的图片
浏览器访问

<a href="/TaoBao/details.jsp>

<img src="/TaoBao/images/001.jpg>

或者也可以这样,利用”…“切换到目录/TaoBao之下

<a href="…/details.jsp>

<img src="…/images/001.jpg>

项目如果要重命名什么的,你也可以选择String path = request.getContextPath();来获取当前项目,System.out.print(path)在我当前项目下的输出结果就是 /TaoBao,(ps:在.jsp中可以直接这样调用方法;在.java中如果想使用这个方法需要注意的是request是HttpServletRequest类的实例,如果你的方法中request是ServletRequest的实例,那需要转换一下)

有的项目http://localhost:8080/代表的是部署后的项目名目录下

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值