1. web中常见的静态资源html、css、js和img。
2. web中常见的动态资源jsp和servlet。
3. 常用请求配置
3.1. <url-pattern>/*</url-pattern>拦截所有的请求, 通过该设置, 那些没有经过Controller程序来访问的webapp下的静态文件会被拦截, 直接通过地址栏无法访问, 需要在spring-mvc中配置其相应的访问授权。
3.2. <url-pattern>/</url-pattern>与/*的区别就是不会匹配jsp。
3.3. <url-pattern>*.action</url-pattern>拦截所有以action结尾的请求, 不会拦截静态资源和jsp, 不能有/。
3.4. <url-pattern>/xxx.action</url-pattern>拦截某个具体的xxx.action请求, 不会拦截静态资源和jsp, 必须加/。
4. <mvc:default-servlet-handler />如果发现是静态资源的请求, 就将该请求转由Web应用服务器默认的Servlet处理, 如果不是静态资源的请求, 才由DispatcherServlet继续处理。但是如果静态资源放在WEB-INF目录下, 就没法在地址栏直接访问。
5. 官方推荐静态资源配置
5.1. location配置webapp的路径下的文件夹。
5.2. mapping配置location对应路径的请求映射。
5.3. **表示二级及二级以上目录。
5.4. DispatcherServlet不会拦截一下location配置的路径。
5.5. 可以访问WEB-INF下的资源同时配置请求映射。
6. 例子
6.1. 新建一个名为StaticResReqPathSpringMVC的动态Web项目, 同时添加相关jar包。
6.2. 在WEB-INF下创建static静态资源存放目录, 我们主要演示图片的访问
6.3. 编写index.jsp
6.4. 在src目录下创建springmvc.xml
6.5. 修改web.xml
6.6. 运行项目, 进入主页面, 说明/不会拦截jsp
6.7. 访问一级目录bag.png
6.8. 访问二级目录shop_tittle.png
6.9. 访问三级目录shop_coin.png