精华内容
下载资源
问答
  • 关于SpringMVC静态资源访问 今天在使用jquery时js的请求被拦截,查看原因之后时因为使用SpringMVC后所有的请求都由DispatcherServlet来处理,而js请求找不到对应的处理器所以被拦截,查了资料后可以使用Tomcat的默认...

    关于SpringMVC静态资源访问

    今天在使用jquery时js的请求被拦截,查看原因之后时因为使用SpringMVC后所有的请求都由DispatcherServlet来处理,而js请求找不到对应的处理器所以被拦截,查了资料后可以使用Tomcat的默认请求处理的Servlet,在SpringMVC的配置文件中 添加一个标签即可
    mvc:default-servlet-handler

    在这里插入图片描述

    在这里插入图片描述

    展开全文
  • 使用SpringMVC框架的时候...1. 使用springmvc标签配置静态文件的访问,允许DispatcherServlet不拦截静态资源 2. 在项目的web.xml中配置不拦截 Tomcat, Jetty, JBoss 自带的默认Servlet的名字 -- "default" We

    使用SpringMVC框架的时候,有些文件例如图片,CSS等不需要拦截,我们可以使用这两种方法:


    1.  使用springmvc标签配置静态文件的访问,允许DispatcherServlet不拦截静态资源




    2. 在项目的web.xml中配置不拦截


    Tomcat, Jetty, JBoss 自带的默认Servlet的名字 -- "default"
    WebLogic 自带的 默认Servlet的名字  -- "FileServlet"
    WebSphere  自带的 默认Servlet的名字 -- "SimpleFileServlet"

    展开全文
  • 最近在弄SpringMVC与Shiro整合,发现如果将DispatcherServlet拦截 *.do这样的URL,就不存在访问不到静态资源的问题。如果DispatcherServlet改为拦截“/”,拦截了所有的请求,同时对*.js,*.jpg的访问也就被拦截了。 ...

    最近在弄SpringMVC与Shiro整合,发现如果将DispatcherServlet拦截 *.do这样的URL,就不存在访问不到静态资源的问题。如果DispatcherServlet改为拦截“/”,拦截了所有的请求,同时对*.js,*.jpg的访问也就被拦截了。

    解决方法:
     方案一:激活Tomcat的defaultServlet来处理静态文件

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

    tip:要写在DispatcherServlet的前面, 让defaultServlet先拦截,这个就不会进入Spring

    方案二: 在spring3.0.4以后版本提供了mvc:resources 

    <mvc:resources 的使用方法:
    <!--对静态资源文件的访问-->
    <mvc:resources mapping="/images/**" location="/images/" />
    

    /images/** 映射到 ResourceHttpRequestHandler 进行处理,

    location指定静态资源的位置.可以是web application根目录下、jar包里面,这样可以把静态资源压缩到jar包中。cache-period可以使得静态资源进行web cache  

    报错WARNING: No mapping found for HTTP request with URI [/mvc/user/findUser/lisi/770] in DispatcherServlet with name 'springMVC'

    可能是没有配置如下代码

     

     <mvc:annotation-driven />
    

     

     

    使用 <mvc:resources/> 元素,把 mapping 的 URI 注册到 SimpleUrlHandlerMapping的urlMap 中,
    key 为 mapping 的 URI pattern值,而 value为 ResourceHttpRequestHandler,
    这样就巧妙的把对静态资源的访问由 HandlerMapping 转到 ResourceHttpRequestHandler 处理并返回,所以就支持 classpath 目录, jar 包内静态资源的访问.
    另外需要注意的一点是,不要对 SimpleUrlHandlerMapping 设置 defaultHandler. 因为对 static uri 的 defaultHandler 就是ResourceHttpRequestHandler,
    否则无法处理static resources request.

    方案三 ,使用<mvc:default-servlet-handler/>

     

    <mvc:default-servlet-handler/>
    

     

     把 "/**" url,注册到 SimpleUrlHandlerMapping 的 urlMap 中,把对静态资源的访问由 HandlerMapping 转到 org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler 处理并返回.

    DefaultServletHttpRequestHandler 使用就是各个 Servlet 容器自己的默认 Servlet.

    补充说明:多个HandlerMapping的执行顺序问题:

    DefaultAnnotationHandlerMapping 的 order 属性值是:0

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

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

    spring 会 先执行 order 值比较小的。当访问一个 a.jpg 图片文件时,先通过 DefaultAnnotationHandlerMapping 来找处理器,一定是找不到的,我们没有叫 a.jpg 的 Action。再按 order 值升序找,由于最后一个 SimpleUrlHandlerMapping 是匹配 "/**" 的,所以一定会匹配上,再响应图片。

    访问一个图片,还要走层层匹配。真不知性能如何?改天做一下压力测试,与Apache比一比。

    最后再说明一下,如何你的 DispatcherServlet 拦截 *.do 这样的 URL,就不存上述问题了。

    转载于:https://www.cnblogs.com/wangfajun/p/5523965.html

    展开全文
  • 首先要配置tomcat的web.xml <init-param> <param-name>listings</param-name> <param-value>true</param-value> </init-param>...-- 静态资源访问 --> <servle...

    首先要配置tomcat的web.xml

    <init-param>
    <param-name>listings</param-name>
    <param-value>true</param-value>
    </init-param>
    

    1、在项目的web.xml中配置

    <!-- 静态资源访问 -->
    	<servlet-mapping>
    		<servlet-name>default</servlet-name>
    		<url-pattern>*.html</url-pattern>
    		<url-pattern>*.jpg</url-pattern>
    		<url-pattern>*.jpeg</url-pattern>
    		<url-pattern>*.jpe</url-pattern>
    		<url-pattern>*.jfif</url-pattern>
    		<url-pattern>*.png</url-pattern>
    		<url-pattern>*.gif</url-pattern>
    		<url-pattern>*.bmp</url-pattern>
    		<url-pattern>*.tif</url-pattern>
    		<url-pattern>*.tiff</url-pattern>
    		<url-pattern>*.ico</url-pattern>
    		<url-pattern>*.dib</url-pattern>
    		<url-pattern>*.css</url-pattern>
    		<url-pattern>*.js</url-pattern>
    		<url-pattern>*.swf</url-pattern>
    		<!-- Awesome字体文件 -->
    		<url-pattern>*.map</url-pattern>
    
    		<url-pattern>*.ttf</url-pattern>
    		<url-pattern>*.woff</url-pattern>
    		<url-pattern>*.woff2</url-pattern>
    		<url-pattern>*.apk</url-pattern>
    		<url-pattern>*.ipa</url-pattern>
    		<url-pattern>*.plist</url-pattern>
    <!--必须通过下载服务
    		<url-pattern>*.doc</url-pattern>
    		<url-pattern>*.docx</url-pattern>
    		<url-pattern>*.xls</url-pattern>
    		<url-pattern>*.xlsx</url-pattern>
    		<url-pattern>*.pdf</url-pattern>
    		<url-pattern>*.apk</url-pattern>
    -->
    	</servlet-mapping>
    

    2、springmvc配置文件中配置

    <!-- 全部资源放行 -->
    <mvc:default-servlet-handler/>
    
    <!-- 对指定目录下的静态资源放行 -->
    <mvc:resources location="/images/" mapping="/images/**"/>
    <mvc:resources location="/css/" mapping="/css/**"/>
    <mvc:resources location="/js/" mapping="/js/**"/>   
    
    

    3、对于url的拦截:

    <mvc:interceptor>
    			<mvc:mapping path="/**" />
    			<bean class="com.newtouch.cloud.platform.interceptor.LoginCheckInterceptor">
    				<!-- 过滤URL -->
    				<property name="filteURLs">
    					<list>
                            <value>/platform/security/manage</value>
    						<value>/platform/security/login</value>
    						<value>/platform/security/logout</value>
    						<value>/platform/security/updatepassword</value>
                            <value>/platform/security/appSsoLogin</value>
                            <value>/platform/security/PCSsoLogin</value>
                            <value>/platform/security/getSecurityCode</value>
                            <value>/app/login/login.html</value>
                            <value>/ui/sc/ctrip/login/verifieVersion</value>
                            <value>/ui/sc/ctrip/login/signJudge</value>
                            <value>/appHome/</value>
                            <value>/ui/sc/ebtp/app/</value>
                            <value>/ui/sc/saveNewFile</value>
                            <value>/ui/sc/saveAppFile</value>
                            <value>/ui/sc/ctrip/login/getTicket</value>
    						<value>/ui/sc/ctrip/transferAccess/getResponse</value>
    						<value>/ui/sc/ctrip/transferAccess/getTicket</value>
    						<value>/ui/sc/ctrip/transferAccess/getPreCheck</value>
                            <value>/ui/sc/ctrip/settlement/getInfo</value>
    						<value>/appCreateTrip</value>
                        </list>
    				</property>
    				<!-- 重登录URL -->
    				<property name="reloginURL" value="/platform/login/enter.jsp" />
    				<!-- 首页URL -->
    				<property name="homeFrameURL" value="/platform/frame/frame.jsp" />
    			</bean>
    		</mvc:interceptor>
    

    4、配置跨域访问

    	<mvc:cors>
    		<mvc:mapping path="/**" />
    	</mvc:cors>
    
    展开全文
  • 如何你的DispatcherServlet拦截 *.do这样的URL,就不存在访问不到静态资源的问题。如果你的DispatcherServlet拦截“/”,拦截了所有的请求,同时对*.js,*.jpg的访问也就被拦截了。  目的:可以正常访问静态文件,...
  • 我的项目想用spring mvc框架,URL采用REST风格,但是这样一来,服务器上的静态资源访问不到了,麻烦高手给看一下。 <p>web.xml文件如下   <pre name="code" class="xml"><?xml version="1.0" encoding="UTF-8...
  • 使用maven的tomcat插件,为项目配置路径后,静态资源无法访问 spring拦截路径是:*.html 配置路径如图: sprin配置文件中也以配置静态资源映射: 静态文件位置如图: 此时访问localhost:8080/student 不管路径...
  • web.xml中的DispatcherServlet对应的/拦截了所有请求,静态资源也无法访问。 有的静态资源是需要限制访问的,但有的静态资源(如:css样式文件和js文件、页面用到的图片)我们是不希望进行拦截的。 SpringMVC访问...
  • Tomcat的defaultServlet来处理静态文件要放在DispatcherServlet的前面, 让defaultServlet先拦截请求,这样请求就不会进入Spring了方案二: 在spring3.0.4以后版本提供了mvc:resource/images/**映射到...
  • Tomcat的defaultServlet来处理静态文件 要放在DispatcherServlet的前面, 让defaultServlet先拦截请求,这样请求就不会进入Spring了方案二: 在spring3.0.4以后版本提供了mvc:resource /images/**映射到...
  • 如何你的DispatcherServlet拦截 *.do这样的URL,就不存在访问不到静态资源的问题。如果你的DispatcherServlet拦截“/”,拦截了所有的请求,同时对*.js,*.jpg的访问也就被拦截了。 目的:可以正常访问静态文件,...
  • SpirngMVC静态资源拦截解决方法方法一 使用default配置映射方法二利用spring提供的mvc标签总结页面正常访问,图片不能显示的原因 方法一 使用default配置映射 使用tomcat默认的servlet处理,而不是交由...
  • 如何你的DispatcherServlet拦截 *.do这样的URL,就不存在访问不到静态资源的问题。如果你的DispatcherServlet拦截“/”,拦截了所有的请求,同时对*.js,*.jpg的访问也就被拦截了。 目的:可以正常访问静态文件,...
  • 如何你的DispatcherServlet拦截 *.do这样的URL,就不存在访问不到静态资源的问题。如果你的DispatcherServlet拦截“/”,拦截了所有的请求,同时对*.js,*.jpg的访问也就被拦截了。  目的:可以正常访问静态文件...
  • springboot静态资源访问+jsp

    千次阅读 2019-05-06 16:39:11
    因为前端选择的是jsp页面,所以就将静态资源都放到了webapp下,webapp是自己建的,springboot项目创建完毕无该文件夹。 使用的是外置tomcat,版本tomcat7 项目整体结构: 配置文件: 启动类:不拦截.do请求 ...
  • SpringMVC访问静态资源

    2016-11-19 14:34:00
    如何你的DispatcherServlet拦截 *.do这样的URL,就不存在访问不到静态资源的问题。如果你的DispatcherServlet拦截“/”,拦截了所有的请求,同时对*.js,*.jpg的访问也就被拦截了。 目的:可以正常访问静态文件,...
  • 方式一:激活Tomcat的defaultServlet来处理静态文件<!--web.xml--> <servlet-mapping> <servlet-name>default</servlet-name> *.js</url-pattern> <!--其他静态资源如*.css、*
  • DispatcherServlet中拦截所有请求: “/”, 导致项目的静态资源访问不了。 原因分析: Tomcat启动,加载自身的tomcat/conf/web.xml 配置文件; 也会加载所有项目的web.xml配置,如果项目的web.xml配置与tomcat...
  • 通常使用springMVC开发web 项目的时候,对于静态资源访问会被tomcat的默认servlet拦截到。 那么问题来了,如果说在某个jsp文件中引用了css或者jquery等静态资源,那么这个访问会被拦截。之后就导致无法正常使用...
  • 如何你的DispatcherServlet拦截 *.do这样的URL,就不存在访问不到静态资源的问题。如果你的DispatcherServlet拦截“/”,拦截了所有的请求,同时对*.js,*.jpg的访问也就被拦截了。  目的:可以正常访问静态文件...
  • 最近运行SSM项目时,每当通过tomcat访问静态资源时总报404。 通过对比别人的框架,才发现原来是自己的springmvc.xml配置文件中没有<mvc:default-servlet-handler />标签。 解决静态资源拦截的具体方法有两种...
  • SpringBoot配置静态资源路径与拦截

    千次阅读 2018-11-01 09:48:02
    一、整合springmvc/访问静态资源 我们接着上一节的说,对于springboot我们应该也是有了相应的了解了,上节中说到修改tomcat端口号,我们可以先测试一下,在application.properties中添加如下配置 # tomcat端口 ...
  • java web 静态资源访问配置三种方式

    万次阅读 2015-07-31 09:45:53
    方案一:Tomcat的defaultServlet来处理静态文件 要放在DispatcherServlet的前面, 让 defaultServlet先拦截请求,这样请求就不会进入Spring了 方案二: 在spring3.0.4以后版本提供了mvc:resource ...
  • springmvc静态资源访问 我们在web.xml文件中配置的核心控制器的url-pattern是什么? / 不能匹配 .jsp .js .css .png.....后缀 如果我们的项目中需要这些文件,是不能使用的! 所以需要设置静态资源访问!解决的...
  • Spring对静态资源文件的访问

    千次阅读 2015-03-16 19:49:22
    如何你的DispatcherServlet拦截"*.do"这样的有后缀的URL,就不存在访问不到静态资源的问题。 如果你的DispatcherServlet拦截"/",为了实现REST风格,拦截了所有的请求,那么同时对*.js,*.jpg等静态文件的访问也就被...

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 159
精华内容 63
热门标签
关键字:

tomcat拦截静态资源访问