springMVC的dispatcherServlet访问路径映射问题

一:文章前言

spingMVC是一款非常优秀的MVC框架,用好它可以为我们解决许多技术问题。然而并不是所有的问题都可以通过框架来解决,有可能框架还会带来问题,遇到问题的时候不要急躁,静下心来仔细分析也许问题就会迎刃而解。
话不多说,总之,勤奋学习才是积累知识解决问题的主要途径,希望所有正在学习途中的朋友们学习愉快,天天进步。

二:映射问题,tomcat打开但是出现404

问题描述:org.springframework.web.servlet .PageNotFound. noHandlerFound No mapping found for HTTP request with URI [/favicon.ico] in DispatcherServlet with name 'dispatcher',红色字体很清楚的表示页面找不到,没有Control,这是为什么呢?
切入正题之前我先引入一个知识点,url-pattern的 "/"和“/*”的区别,"/*"的意思是所有的请求都会经过当前的servlet拦截,比如.jsp、/action等,然而"/"是不会对.jsp这样的请求进行拦截的。
用spingMVC的人都知道需要在web.xml文件配置dispatcherServlet。
 
        dispatcher
        org.springframework.web.servlet.DispatcherServlet
        
            contextConfigLocation
            classpath:dispatcher-servlet.xml
        
        1
    
    
        dispatcher
        /*
    

如果像这样配置url-pattern配置为/*就是说在打开tomcat的时候请求jsp页面,当页面返回视图的时候,会经过当前配置的这个dispatcherServlet,然而却没有当前这个页面的Control来返回,所以就出现找不到上面红色字所表现的错误。没有控制器。
    
        dispatcher
        org.springframework.web.servlet.DispatcherServlet
        
            contextConfigLocation
            classpath:dispatcher-servlet.xml
        
        1
    
    
        dispatcher
        /
    
而如果像这样url-pattern配置为/就不会出现这样的情况了,/不会对.jsp请求进行拦截。


三:总结

在对技术的学习上,学习框架并且使用它是很重要的,但是理解它的工作原理才是更重要的。













你可能感兴趣的:(java,Web框架)