绝对路径
以/开头的路径为绝对路径
- 服务器解析绝对路径为
localhost:8080/JavaWeb/, - 浏览器解析为
localhost://8080,没有项目路径(虚拟目录)。
特殊情况:response.sendRediect(“/”)把
/发送给浏览器解析,得到localhost://8080
后端路径分析
以servlet在web.xml中的配置为例
<servlet>
<servlet-name>servletTest</servlet-name>
<servlet-class>com.tz.servlet.ServletTest</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>servletTest</servlet-name>
<url-pattern>/servletTest</url-pattern>
</servlet-mapping>
对于<url-pattern>/servletTest</url-pattern>的解析:
url-pattern是虚拟映射
已知此路径为后台路径,/解析为localhost:8080/JavaWeb/,故通过localhost:8080/JavaWeb/servletTest可访问到该servlet
注意:访问servlet只跟servlet设置的虚拟路径有关系!跟servlet存在于哪个包,哪个文件夹下没有关系
前端路径分析

以在webapp/templates下的index.jsp访问在同样在webapp/templates下的main.jsp为例
此时main.jsp的访问路径为:localhost:8080/JavaWeb/templates/main.jsp
<form action="/JavaWeb/templates/main.jsp">
内容:<input type="text">
<input type="submit">
</form>
此路径由浏览器解析,/解析为localhost:8080,故表单的提交地址为localhost:8080/JavaWeb/templates/main.jsp,所以可以提交到main.jsp页面
注意:
localhost:8080/JavaWeb映射到idea的webapp目录,如拦截器的url-pattern可以写为/,即拦截webapp下的所有资源;写为/templates,即拦截webapp下子目录templates中的资源
文章详细阐述了JavaWeb开发中绝对路径的概念,包括服务器和浏览器如何解析路径,以及在servlet配置和前端表单提交中的具体应用。强调了路径解析与servlet的虚拟映射、webapp目录结构的关系,并给出了拦截器url-pattern配置的例子。
1489

被折叠的 条评论
为什么被折叠?



