springmvc中的几个问题

一   url-pattern的问题:

  <!-- No mapping found for HTTP request with URI [/WEB-INF/jsp/homePage.jsp] in DispatcherServlet with name ‘dispatcher‘
    其中/和/*的区别:
    <url-pattern> / </url-pattern>   不会匹配到*.jsp,即:*.jsp不会进入spring的 DispatcherServlet类.
    <url-pattern> /* </url-pattern>  会匹配*.jsp,会出现返回jsp视图时再次进入spring的DispatcherServlet 类,导致找不到对应的controller所以报404错

    -->
    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

二  访问静态资源的三种方式

(1)最后匹配,此处理器允许当dispatcherServlet的mapping为"/"时利用容器加载静态资源,会处理所有其它请求没有匹配后指向的缺省 servlet.比如的webapp下有一个1.jpg,不写这句无法加载.因为DispatcherServlet拦截“/”,拦截了所有的请求,同时 对*.js,*.jpg的访问也就被拦截了

  <mvc:default-servlet-handler/>

(2)

  <mvc:resources location="/img/" mapping="/img/**"/>
  <mvc:resources location="/js/" mapping="/js/**"/>
  <mvc:resources location="/css/" mapping="/css/**"/

(3)web.xml里添加如下的配置

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

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

</servlet-mapping>

<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>

三  <mvc:annotation-driven/>

这个标签不写的话,404,识别不了@controller标签.<mvc:annotation-driven/>相当于注册了AnnotationMethodHandlerAdapter的bean,里面有很多预先处理,即解决了@Controller注解的解析使用

四 重复打印各种无用日志

tomcat部署springmvc(什么也没配置的..)显示启动成功,但一直在重复打印下面几句话.浏览器访问可以:

19:49:07.507 [http-bio-8080-exec-10] DEBUG o.s.web.servlet.DispatcherServlet - Successfully completed request
19:49:07.510
[http-bio-8080-exec-10] DEBUG o.s.web.servlet.DispatcherServlet -
DispatcherServlet with name ‘dispatcher‘ processing HEAD request for [/]
19:49:07.510 [http-bio-8080-exec-10] DEBUG o.s.w.s.m.m.a.RequestMappingHandlerMapping - Looking up handler method for path /
19:49:07.511 [http-bio-8080-exec-10] DEBUG o.s.w.s.m.m.a.RequestMappingHandlerMapping - Did not find handler method for [/]
19:49:07.511
[http-bio-8080-exec-10] WARN  o.s.web.servlet.PageNotFound - No mapping
found for HTTP request with URI [/] in DispatcherServlet with name
‘dispatcher‘

网上查了不少原因,什么jar包冲突,配置错误,dispatcher路径等,均不管用. 最后多次尝试得到这个结论:
如果配置了tomcat after launch且并没有index.jsp首页就会发生这个情况.若是没有勾选after launch,则有无index.jsp都无所谓,都能正常启动不刷info 和 debug

五  全局异常处理器模板

   <bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
        <!-- 定义默认的异常处理页面 -->
        <property name="defaultErrorView" value="errorPage"/>
        <!-- 定义异常处理页面用来获取异常信息的变量名,如果不添加exceptionAttribute属性,则默认为exception -->
        <property name="exceptionAttribute" value="exception"/>
        <!-- 定义需要特殊处理的异常,用类名或完全路径名作为key,异常页面名作为值 -->
        <property name="exceptionMappings">
            <props>
                <!--<prop key="IOException">errorIOPage</prop>-->
                <!--<prop key="java.sql.SQLException">error/sql.jsp</prop>-->
            </props>
        </property>
    </bean>

六  读取配置文件

<util:properties id="properties" location="classpath:properties/authority.properties"/>
时间: 2024-10-20 20:13:24

springmvc中的几个问题的相关文章

SpringMVC中文件上传的客户端验证

SpringMVC中文件上传的客户端验证 客户端验证主要思想:在jsp页面中利用javascript进行对文件的判断,完成验证后允许上传 验证步骤:1.文件名称 2.获取文件的后缀名称 3.判断哪些文件类型允许上传 4.判断文件大小 5.满足条件后跳转后台实现上传 前台界面(验证上传文件是否格式满足要求): <body> <h2>文件上传</h2> <form action="upload01" method="post" 

springmvc 中 Instantiation of bean failed实例化Bean失败错误

配置springMVC 项目时,启动tomcat服务器报错: 错误: 信息: Initializing Spring FrameworkServlet 'springmvc' 2015-8-19 9:57:35 org.apache.catalina.core.ApplicationContext log 严重: StandardWrapper.Throwable org.springframework.beans.factory.BeanCreationException: Error cre

关于Springmvc中include与Sitemesh装饰器的基本使用

关于Springmvc中include与Sitemesh装饰器的使用 !!!转载请注明出处=>http://www.cnblogs.com/funnyzpc/p/7283443.html 静态包含:example:<%@include file="xxx.jsp"%> 文件的包含是发生在 jsp向servlet转换时期 ,相当于将jsp编译成html静态文件,由于对包含的文件不再编译(直接拷贝到父页面),则只产生一个class文件. 动态包含:example<j

详解SpringMVC中Controller的方法中参数的工作原理

前言 SpringMVC是目前主流的Web MVC框架之一. 如果有同学对它不熟悉,那么请参考它的入门blog:http://www.cnblogs.com/fangjian0423/p/springMVC-introduction.html SpringMVC中Controller的方法参数可以是Integer,Double,自定义对象,ServletRequest,ServletResponse,ModelAndView等等,非常灵活.本文将分析SpringMVC是如何对这些参数进行处理的,

在SpringMVC中 /* 和 / 的区别

<url-pattern> / </url-pattern>:会匹配到 /springmvc 这样的路径型url,而不会匹配到像 .jsp 这样的后缀型的url. <url-pattern> /* </url-pattern>:会匹配到所有的url:路径型url 和后缀型的url (包括/springmvc,.jsp,.js,和.html等). 在SpringMVC中需要添加这个标签:<mvc:default-servlet-handler />

springMVC 返回类型选择 以及 SpringMVC中model,modelMap.request,session取值顺序

springMVC 返回类型选择 以及 SpringMVC中model,modelMap.request,session取值顺序 http://www.360doc.com/content/14/0309/19/834950_359080244.shtml

springMVC中Dispatcher中的/和/*的区别

1. 首先 / 这个是表示默认的路径,及表示:当没有找到可以匹配的URL就用这个URL去匹配.2. 在springmvc中可以配置多个DispatcherServlet,比如: 配置多个DispatcherServlet有/和/*,先匹配的是/*这个 3. 当配置相同的情况下,DispathcherServlet配置成/和/*的区别< 一 > / :使用/配置路径,直接访问到jsp,不经springDispatcherServlet< 二 > /*:配置/*路径,不能访问到多视图的

详解SpringMVC中Controller的方法中参数的工作原理[附带源码分析] good

目录 前言 现象 源码分析 HandlerMethodArgumentResolver与HandlerMethodReturnValueHandler接口介绍 HandlerMethodArgumentResolver与HandlerMethodReturnValueHandler接口的具体应用 常用HandlerMethodArgumentResolver介绍 常用HandlerMethodReturnValueHandler介绍 本文开头现象解释以及解决方案 编写自定义的HandlerMet

SpringMVC中出现&quot; 400 Bad Request &quot;错误(用@ResponseBody处理ajax传过来的json数据转成bean)的解决方法

最近angularjs post到后台 400一头雾水 没有任何错误. 最后发现好文,感谢作者 SpringMVC中出现" 400 Bad Request "错误(用@ResponseBody处理ajax传过来的json数据转成bean)的解决方法 今天开发过程中,在SpringMVC中的Action中处理前台ajax请求传过来的json数据直接转成对应的实体类时出错:400 Bad Request,后台也不报错,400指的的是请求无效(请求有语法问题或者不能满足请求),调试了好长时间

【SpringMVC学习07】SpringMVC中的统一异常处理

我们知道,系统中异常包括:编译时异常和运行时异常RuntimeException,前者通过捕获异常从而获取异常信息,后者主要通过规范代码开发.测试通过手段减少运行时异常的发生.在开发中,不管是dao层.service层还是controller层,都有可能抛出异常,在springmvc中,能将所有类型的异常处理从各处理过程解耦出来,既保证了相关处理过程的功能较单一,也实现了异常信息的统一处理和维护.这篇博文主要总结一下SpringMVC中如何统一处理异常. 1. 异常处理思路 首先来看一下在spr