访问静态资源有问题(配置url-pattern 用"/")(两种静态资源处理)

发起的请求是由哪些服务器程序处理的

http://localhost:8080/ch05_url_pattern/index.jsp: tomcat(jsp会转为servlet)

http://localhost:8080/ch05_url_pattern/js/jquery-3.4.1.min.js:tomcat

http://localhost:8080/ch05_url_pattern/images/qplay_1.jpg:tomcat

http://localhost:8080/ch05_url_pattern/html/test.html:tomcat

http://localhost:8080/ch05_url_pattern/some.do:DispatcherServlet (springmvc框架处理的)

 

tomcat本身能处理静态资源的访问,像html,图片,js文件都是静态资源

tomcat的web.xml文件有一个servlet 名称是default,在服务器启动时创建的。

<servlet>
<servlet-name>default</servlet-name>
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>

default这个servlet作用
<!-- The default servlet for all web applications, that serves static     -->
<!-- resources. It processes all requests that are not mapped to other -->
<!-- servlets with servlet mappings (defined either here or in your own -->
<!-- web.xml file).

1,处理静态资源
2,处理未映射到其它servlet的请求。

比如:a,b两个请求都映射了servlet,c没有

 

 

http://localhost:8080/myweb/c 就是未映射到任何一个servlet的请求 ,tomcat可以处理



<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>/</url-pattern> 设置成了/ 表示静态资源和未映射的请求都给这个default处理
</servlet-mapping>


 

 

 这种情况下有两种方式可以访问静态资源:

第一种:

 

 

 

 

 

 

 缺点:tomcat必须有default才能使用 优点使用方便

 

第二种静态资源处理

 

 

 index.jsp中图片路径修改

 

posted @   doremi429  阅读(216)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类
点击右上角即可分享
微信分享提示