Web项目中路径问题

Web项目中路径问题
一个项目的URL是:http://localhost:8080/fengmiproject/UserFuzzyServlet
分别是:协议;IP(域名);端口;项目名字;文件(Servlet 或者jsp 文件)

一. URL 问题

  1. 当浏览器解析URL到端口时,代表了此时已经到了当前IP地址的服务器,比如我这个计算机就是tomcat服务器,代表进来了!
  2. 而一个服务器下可能有很多项目名称,用来区分项目。如这里的fengmiproject就算是一个项目名称。我们在web项目中得到的contextpath就是 /fengmiproject 这个路径,代表这个服务器下的这个项目的入口。

路径分类:

1、请求重定向

2、转发

3、超链接 (href)

4、form表单提交的action

路径的写法主要注意以两点:

1、路径是谁发起的(浏览器,服务器)

2、路径开头直接 “/” 表示当前路径(主要就是这个当前路径,搞清楚就明白了)

  1. 首先来分析“路径是由谁发起的”,以上四种写法,除了**“转发”是服务器发起的**,其他都是由浏览器发起的。而由浏览器发起的请求,你都要从新定位到项目中,也就是加contextpath

  2. 由浏览器发起的路径,“/”表示%tomcat根目录%/项目根目录
    由服务器发起的路径,“/”表示项目的根目录

其他杂七杂八解释:

二.超链接路径

  1. 路径是以 / 开头的:这个 / 就等于浏览器中的http://ip:port/也就是服务器的路径。也就是此时没有定位到具体的项目的。
    跳转
  2. 路径不以 / 开头:此时以浏览器地址正在访问的这个资源所在的目录为基准
    跳转

三.后端路径,也就是Servlet路径

  • 转发是在项目内部,所以 / 就是代表了,当前的项目路径。
  • 重定向,代表在整个网络资源下访问所以你要加上 / 就是要服务器的项目名来定位到这个项目。

四. action和超链接性质一样

五. 带 / 和 不带 / 区别

  • 不以 / 开头 ,则是默认了但当前的这个资源到目录
  • 以 / 开头,则按照上面的情况判断,是 转发发还是重定向。

本文,摘抄了其他作者的内容。