当前位置: 首页 > news >正文

做特价的网站广东学校网站建设公司

做特价的网站,广东学校网站建设公司,互联网营销师挣的是谁的钱,大数据培训最近碰到了一个spring的web.xml无法跳转到index.html页面的小问题#xff0c;查了之后从下面这篇文章中受益#xff0c;特此转发#xff0c;谢谢#xff01;#xff01;#xff01; 一、我们都知道在基于Spring的Application中#xff0c;需要在web.xml中增加下面类似的…最近碰到了一个spring的web.xml无法跳转到index.html页面的小问题查了之后从下面这篇文章中受益特此转发谢谢 一、我们都知道在基于Spring的Application中需要在web.xml中增加下面类似的配置信息 listenerlistener-classorg.springframework.web.context.ContextLoaderListener/listener-class /listener!-- Spring MVC Servlet --servletservlet-nameservletName/servlet-nameservlet-classorg.springframework.web.servlet.DispatcherServlet/servlet-classload-on-startup1/load-on-startup /servletservlet-mappingservlet-nameservletName/servlet-name strongurl-pattern//url-pattern/strong /servlet-mapping 此处需要特别强调的是url-pattern//url-pattern使用的是/而不是/*,如果使用/*,那么请求时可以通过DispatcherServlet转发到相应的Action或者Controller中的但是返回的内容如返回的jsp还会再次被拦截这样导致404错误即访问不到jsp。所以如果以后发现总是有404错误的时候别忘了check一下url-pattern//url-pattern的配置是否是/*. 二、其实Spring 的Servlet拦截器匹配规则即url-pattern.../url-pattern都可以自己定义例当映射为RequestMapping(/user/add)时 1、拦截*.do、*.htm 例如/user/add.do 这是最传统的方式最简单也最实用。不会导致静态文件jpg,js,css被拦截。 2、拦截/例如/user/add 可以实现现在很流行的REST风格。很多互联网类型的应用很喜欢这种风格的URL。 弊端会导致静态文件jpg,js,css被拦截后不能正常显示。想实现REST风格事情就是麻烦一些。后面有解决办法还算简单。 3、拦截/*这是一个错误的方式请求可以走到Action中但转到jsp时再次被拦截不能访问到jsp。 三、如何访问到静态的文件如jpg,js,css? 如果你的DispatcherServlet拦截*.do这样的有后缀的URL就不存在访问不到静态资源的问题。 如果你的DispatcherServlet拦截/为了实现REST风格拦截了所有的请求那么同时对*.js,*.jpg等静态文件的访问也就被拦截了。 我们要解决这个问题。 目的可以正常访问静态文件不可以找不到静态文件报404。 方案一激活Tomcat的defaultServlet来处理静态文件 servlet-mapping servlet-namedefault/servlet-name url-pattern*.jpg/url-pattern /servlet-mapping servlet-mapping servlet-namedefault/servlet-name url-pattern*.js/url-pattern /servlet-mapping servlet-mapping servlet-namedefault/servlet-name url-pattern*.css/url-pattern /servlet-mapping 特点1. 要配置多个每种文件配置一个。 2. 要写在DispatcherServlet的前面 让defaultServlet先拦截请求这样请求就不会进入Spring了。 3. 高性能。 备注 Tomcat, Jetty, JBoss, and GlassFish 自带的默认Servlet的名字 -- default Google App Engine 自带的 默认Servlet的名字 -- _ah_default Resin 自带的 默认Servlet的名字 -- resin-file WebLogic 自带的 默认Servlet的名字  -- FileServlet WebSphere  自带的 默认Servlet的名字 -- SimpleFileServlet 方案二 在spring3.0.4以后版本提供了mvc:resources  使用方法 Xml代码   !-- 对静态资源文件的访问 --       mvc:resources mapping/images/** location/images/ /    images/**映射到 ResourceHttpRequestHandler进行处理location指定静态资源的位置.可以是web application根目录下、jar包里面这样可以把静态资源压缩到jar包中。cache-period 可以使得静态资源进行web cache  如果出现下面的错误可能是没有配置mvc:annotation-driven /的原因。  报错WARNING: No mapping found for HTTP request with URI [/mvc/user/findUser/lisi/770] in DispatcherServlet with name springMVC 使用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/ Xml代码   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 是匹配 /**的所以一定会匹配上就可以响应图片。 最后再说明一下方案二、方案三 在访问静态资源时如果有匹配的(近似)总拦截器就会走拦截器。如果你在拦截中实现权限检查要注意过滤这些对静态文件的请求。 如果你的DispatcherServlet拦截 *.do这样的URL后缀就不存上述问题了。还是有后缀方便。
http://www.zqtcl.cn/news/803892/

相关文章:

  • 除了外链 还有什么办法使网站提高排名网站建设珠海 新盈科技
  • 几分钟弄清楚php做网站中国风景摄影网
  • 卡片式网站网页设计公司的市场评估
  • 网站开发的感想wordpress水煮鱼
  • 网站开发入门培训机构自豪地采用wordpress更改
  • 手机网站来几个最近的国际新闻大事件
  • 重庆网站开发设计公司电话资源网站优化排名
  • 国土分局网站建设方案外贸seo网站
  • 营销型网站建设易网拓烟台h5网站建设公司
  • PHP网站开发都需要学什么中介网站模板
  • 网站建设与维护模板官方网站建设费用应入什么科目
  • 网站建设企业关键词seo关键词库
  • 美容院网站源码wordpress scandir
  • 长春电商网站建设报价北京创意设计协会网站
  • 企业3合1网站建设公司加强政协网站建设
  • 专业做互联网招聘的网站有哪些内容百度搜索引擎推广收费标准
  • 物流网站开发系统论文怎么知道网站程序是什么做的
  • 湖南高端网站制作公php网站后台
  • 建好的网站在哪里wordpress部署到git
  • 浙江坤宇建设有限公司网站毕业设计 旅游网站建设
  • 做网站月收入多少视频短视频api
  • 泰安网站建设哪家强网站流量指标
  • 网站毕业设计开题报告wordpress账户密码忘记
  • 做网站学费多少钱0基础学app程序开发
  • 忻州建站公司辽宁省建设执业信息网官网
  • 北京网站建设 云智互联集安网站建设
  • 无锡市建设培训中心网站私人订制软件平台
  • 宁波网站设计推荐荣盛网络招远网站制作
  • 网站开发维护运维室内设计师怎么找
  • 网站建设如何增加二级页面学网络工程好找工作吗