Spring MVC 和Tomcat对 静态文件的处理:
• 当spring这样配置的时候,我们会拦截所有的request其中也包括了js,css和image文件
<servlet>
<servlet-name>xx</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>xx</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
那么我们会在xx-servlet.xml中加入下面几个配置达到对静态文件的处理
<mvc:annotation-driven/>
<mvc:resources mapping="/img/**" location="/img/" />
<mvc:resources mapping="/js/**" location="/js/" />
<mvc:resources mapping="/css/**" location="/css/" />
具体处理的流程:
1) ResourceHttpRequestHandler会拦截静态文件的请求
2) checkAndPrepare
检查request的类型
检查session是否过期
检查是否需要缓存
3)getResource得到资源
3) setHeaders处理header
4) writeContent把resource的资源写到response中去
• 当然你也可以在web.xml中配置默认的处理了
<servlet>
<servlet-name>static</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>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name> static </servlet-name>
<url-pattern>*.js</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name> static </servlet-name>
<url-pattern>*.css</url-pattern>
</servlet-mapping>
• 那我们在来看看tomcat的DefaultServlet做了些什么事情
1) tomcat的默认拦截器拦截了你的请求org.apache.catalina.servlets.DefaultServlet
2) serveResource处理你的资源
3) DirContext resources = getResources();得到tomcat的上下问资源
4) ResourceInfo resourceInfo = new ResourceInfo(path, resources);得到请求的资源
5) 吧资源写到response中去
分享到:
相关推荐
ssm(spring+spring mvc+mybatis+maven)高仿bilibili视频网站项目实例 里面包含论坛, 购物商城 网页 后台管理的java项目集成 演示地址: http://106.75.216.49/bilibili/ (服务器不太稳定,可以尝试刷新,感谢...
主要介绍了JavaWeb项目中springmvc和tomcat对静态文件的处理 的相关资料,需要的朋友可以参考下
自己写的模拟在线考试系统,虽然只是个demo(其实就是木有用数据库,用的一个静态集合模拟的,方便快速部署),但是建模和架构都是完整的,包含war和源码,只需把war部署到tomcat服务器中就可以运行
8.2.2 创建Spring MVC的xml配置文件85 8.2.3 创建Controller和view86 8.3 关联spring源代码87 8.4 小结89 第9章 创建Spring MVC之器90 9.1 整体结构介绍90 9.2 HttpServletBean93 9.3 FrameworkServlet95 ...
ssm(spring+spring mvc+mybatis+maven)高仿bilibili视频网站项目实例里面包含论坛, 购物商城 网页 后台管理的java项目集成演示地址: (服务器不太稳定,可以尝试刷新,感谢大佬捐赠的服务器费用)开发环境:Eclipse ...
Spring Web Reactive 在 spring-webmvc 模块中现有的(而且很流行)Spring Web MVC旁边的新的 spring-web-reactive 模块中。 请注意,在 Spring5 中,传统的 SpringMVC 支持 Servlet3.1 上运行,或者支持 JavaEE7 的...
《JavaEE开发的颠覆者: Spring Boot实战》从Spring 基础、Spring MVC 基础讲起,从而无难度地引入Spring Boot 的学习。涵盖使用Spring Boot 进行Java EE 开发的绝大数应用场景,包含:Web 开发、数据访问、安全控制...
37.5 Spring MVC和CSRF集成 271 37.5.1自动令牌包含 271 37.5.2解析CsrfToken 272 第七部分 Spring数据集成 273 38. Spring Data&Spring安全配置 273 39. @Query中的安全表达式 273 第八部分 附录 274 40.安全...
Spring3.0是Spring在积蓄了3年之久后,隆重推出的一个重大升级版本,进一步加强了Spring作为Java领域第一开源平台的翘楚地位。 Spring3.0引入了众多Java开发者翘首以盼的新功能和新特性,如OXM、校验及格式化框架...
《JavaEE开发的颠覆者: Spring Boot实战》从Spring 基础、Spring MVC 基础讲起,从而无难度地引入Spring Boot 的学习。涵盖使用Spring Boot 进行Java EE 开发的绝大数应用场景,包含:Web 开发、数据访问、安全控制...
《JavaEE开发的颠覆者: Spring Boot实战》从Spring 基础、Spring MVC 基础讲起,从而无难度地引入Spring Boot 的学习。涵盖使用Spring Boot 进行Java EE 开发的绝大数应用场景,包含:Web 开发、数据访问、安全控制...
该项目旨在介绍如何创建Spring MVC + JPA / Hibernate Web应用程序。 目录 先决条件 图书馆 图书馆名称 描述 Spring使每个人都可以更快,更轻松和更安全地进行Java编程。 Hibernate ORM使开发人员可以更轻松地编写...
Spring3.0是Spring在积蓄了3年之久后,隆重推出的一个重大升级版本,进一步加强了Spring作为Java领域第一开源平台的翘楚地位。 Spring3.0引入了众多Java开发者翘首以盼的新功能和新特性,如OXM、校验及格式化框架...
1、采用Spring MVC的静态加载缓存功能,在首页将Javascript文件、CSS文件和图片等静态资源文件加载进来放进内存,极大提高ExtJS的加载速度。 2、三种皮肤主题:经典、灰色和海王星,支持多浏览器和多分辨率。 3...
项目技术:spring+spring mvc+mybatis+bootstrap+jquery+highcharts+Ajax 后台访问地址:http://localhost:8080/HealthBeauty/user/tzlogin 帐号密码:admin 123 注意: 1.导入后检查版本配置,编码全为utf-8 2.静态...
关闭Spring MVC DispatcherServlet vii. 65.7. 关闭默认的MVC配置 Spring Boot参考指南 7 viii. 65.8. 自定义ViewResolvers v. 66. 日志 i. 66.1. 配置Logback ii. 66.2. 配置Log4j i. 66.2.1. 使用YAML或JSON配置...
演示应用程序,用于使用一些Java和Spring Boot在Heroku上托管静态网站。 Spring Boot用于引导提供静态网站的Tomcat Web服务器。 此演示目前仅显示一些基本配置。 它最有可能改善其他功能,例如使用Spring MVC实现的...
14.2.1spring对hibernate的支持 279 14.2.2管理sessionfactory 279 14.2.3hibernate的dao实现 281 14.2.4使用hibernatetemplate 281 14.2.5管理hibernate事务 282 14.3项目实战——学生成绩查询系统 283 本章...
4、 系统的数据要求:1、数据录入和处理的准确性和实时性。2、数据的一致性与完整性。3、数据的共享与独立性。 2.2. 系统的可行性分析 2.2.1. 技术可行性 技术上的可行性分析要考虑将来要采用的硬件和软件技术...