javaweb项目springmvc,和tomcat对静态文件的处理

1.激活Tomcat的defaultServlet来处理静态文件,web.xml配置

    <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>*.js</url-pattern>
    </servlet-mapping>

  a.说到了这里另外说说url-pattern的配置

  

<!--url-pattern的三种写法-->
<!--精确匹配:以"/"开头,加上servlet名称。-->
/abc

<!--路径匹配:以"/"开头,加上通配符"*"-->
/rsources/*

<!--扩展名匹配:以通配符"*"开头,加上扩展名。-->
*.action 

2.springmvc处理,spring-mvc.xml配置

<mvc:resources location="/resources/" mapping="/resources/**"/>

3.会把"/**" url,注册到SimpleUrlHandlerMapping的urlMap中,把对静态资源的访问由HandlerMapping转到org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler处理并返回.
DefaultServletHttpRequestHandler使用就是各个Servlet容器自己的默认Servlet.

<mvc:default-servlet-handler/>

多个HandlerMapping的执行顺序问题:

DefaultAnnotationHandlerMapping的order属性值是:0

<mvc:resources/ >自动注册的 SimpleUrlHandlerMapping的order属性值是: 2147483646

<mvc:default-servlet-handler/>自动注册 的SimpleUrlHandlerMapping 的order属性值是: 2147483647

spring 会先执行order比较小的。

总结:个人觉得第一种比较好,如果没有做静态文件cdn的话,还是在默认的servlet做处理比较好,这样就不会进入拦截器进行处理。

时间: 2024-09-30 19:47:25

javaweb项目springmvc,和tomcat对静态文件的处理的相关文章

使用Maven创建Web项目后,jsp引入静态文件提示报错。JSP 报错:javax.servlet.ServletException cannot be resolved to a type

使用Maven创建Web项目后,jsp引入静态文件提示报错. 错误提示:javax.servlet.ServletException cannot be resolved to a type 错误如下图: 解决方案: 在Maven的pom文件中引发如下依赖即可: <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <versio

eclipse中启动spring-mvc项目时无法加载静态文件的问题分析

问题表现: eclipse里使用spring-mvc框架开发web项目,项目正常启动后能访问jsp页面,但jsp页面的网页效果没有生效,并提示jsp文件里提示js找不到,404错误. (1)初步判断: 在浏览器里debug时,jsp页面提示js文件找不到,提示404错误.由于项目名是littlec-exchange-center,访问时url里是exchangecenter,初步判断是路径有错. 尝试解决:在tomcat的conf路径下查看server.xml配置如下: 可以看到,虽然tomca

tomcat部署静态文件

tomcat下部署静态文件.一般情况下,网站也做到静态文件的分离.静态文件这个时候就需要部署到特定的服务器上了.一般会部署到nginx上.如果做测试的话,也会部署到tomcat上. 部署的方法为: 在tomcat的conf目录下的server.xml文件中做相应的配置即可. 1.在<host></host>中添加配置. <Context docBase="/opt/tmp" path="/static" reloadable="

javaWeb项目springMVC框架下利用ITextpdf 工具打印PDF文件的方法(打印表单、插入图片)

方法一:打印PDF表单以及在PDF中加入图片 需要的资料: jar包:iTextAsian.jar ,itext-2.1.7.jar: 源码: 1 public static void main(String args[]) throws IOException, DocumentException { 2 String fileName = "D:/testPDF.pdf"; // pdf模板 3 InputStream input = new FileInputStream(new

基于maven的spring boot项目 部署到tomcat出现js文件失效处理思路总结

不久前遇到了这样一个问题:在eclipse上运行的很好的项目,在部署到tomcat上后js就不能正常运行了. 在网上找了很多文章,都没有很好的解决这个问题,最终只能一步步来排查. 确人部署环境的问题还是tomcat导致的问题:在本机上用tomcat的方式部署,启动,发现js任然无效-->确定是tomcat导致的问题. 通过浏览器查看页面源代码发现所有的js文件都正常导入,同时查看class/static,下面的所有资源都存在. 删除所有js,写入alert(1),能够真确显示.在每条js导入语句

Intellij IDEA使用一 创建javaweb项目并配置tomcat

一.新建Java web项目 参考:https://blog.csdn.net/chengtengfei352/article/details/79211619 1.点击创建新项目 2. 3.create project from  template页面,不勾选任何选项 -> Next 4.创建项目名称 5.创建完成后的界面: 6.添加Module到Project:在project右键->New->Module 7.新建Module:选择 Java Enterprise,设置 Modul

JavaWeb项目中WEB-INF目录下class文件自动生成以及显示

问题一:WEB-INF目录下的class字节文件是自动生成的,还是需要手动创建相关目录,然后再将字节件复制进去? 可以让eclipse自动生成 source folder:存放.java源文件的根目录 output folder:.class编译输出的根目录纯"java project"中,一般把"src"设置为source folder,把bin设置为output folder "web project"中,一般把"src"

JavaEE——Intellij Idea 创建JavaWeb项目

原文:JavaEE--Intellij Idea 创建JavaWeb项目 折腾Tomcat折腾了两个晚上,第一个晚上怎么都进不了Tomcat的首页,第二个晚上进去了,但是新建的Web项目,在浏览器中运行,总是 Error on Apache Tomcat: The requested resource is not available  坑爹!!!!. 首先我要说一点,在IntelliJ IDEA里面“new Project”就相当于我们eclipse的“workspace”,而“new Mod

将Eclipse中的Web项目部署到Tomcat与修改Tomcat服务器Server Locations

1.将Eclipse中的Web项目部署到Tomcat 记得开始学习JavaWeb的时候,首先用的是Eclipse开发,但是有一个问题始终没有弄明白,做好的Web项目是如何发布到Tomcat服务器上的呢?最后得到了一个结论,那就是Eclipse这个软件可能是将项目发布到了一个临时的目录,只有打开Eclipse的时候,启动服务器才能运行Web项目.也正是因为这个原因,一直用的都是MyEclipse开发Java Web项目(十分的方便和顺手).这几天用的比较多,因此又对这个问题产生了兴趣,能不能将做好