访问静态资源有问题(配置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中图片路径修改
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类