SpringMVC组件扫描,HandlerMapping配置,servlet配置过程出错

枕上从妨一夜睡,灯前读尽十年诗。这篇文章主要讲述SpringMVC组件扫描,HandlerMapping配置,servlet配置过程出错相关的知识,希望能为你提供帮助。
1.引入了前缀,解决了前缀问题 http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd

SpringMVC组件扫描,HandlerMapping配置,servlet配置过程出错

文章图片

 
 
 
SpringMVC组件扫描,HandlerMapping配置,servlet配置过程出错

文章图片

组件扫描将组件扫描< context:component-scan base-package="*"/>
将扫描全部改到扫描具体的包下
 
 
 
SpringMVC组件扫描,HandlerMapping配置,servlet配置过程出错

文章图片

 
 
  不断导入jar包,错误又是不同的
其他人链接:https://blog.csdn.net/m0_37927008/article/details/78288509
【SpringMVC组件扫描,HandlerMapping配置,servlet配置过程出错】
SpringMVC组件扫描,HandlerMapping配置,servlet配置过程出错

文章图片

 
 
  出现No mapping情况 无非几种情况 1、controller没被扫描注册到 2、RequestMaping 的映射地址写错 3、映射后缀的问题
这是我的Controller
      No mapping 就是映射问题,我写的是
@RequestMapping("./login.do")报错,将./去掉编译成功,成功跳到jsp
junit不断取组件值,确认是否被扫描到,Contoller组件是扫描到,可以获取到,然后再确认HandlerMapping是否配置

@Test public void test() { ApplicationContext ac=new ClassPathXmlApplicationContext("./spring-mvc.xml"); LoginController lc=ac.getBean("loginController",LoginController.class); System.out.print(lc); }

SpringMVC组件扫描,HandlerMapping配置,servlet配置过程出错

文章图片

 
spring-mvc.xml
< !-- 配置HandlerMapping开启注解配置 --> < !-- 配置mvc标注扫描 --> < mvc:annotation-driven/> < !-- 开启组件扫描 --> < context:component-scan base-package="com.tracy.*"> < /context:component-scan> < !-- 配置ViewResolver --> < bean id="ModelAndView" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> < propertyname="prefix" value="https://www.songbingjia.com/"> < /property> < propertyname="suffix" value="https://www.songbingjia.com/android/.jsp"> < /property> < /bean>

 
LoginController

@Controller public class LoginController {@RequestMapping("login.do") public String execute1() {return "login"; }}

< ?xml version="1.0" encoding="UTF-8"?> < web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> < servlet> < servlet-name> springmvc< /servlet-name> < servlet-class> org.springframework.web.servlet.DispatcherServlet < /servlet-class> < init-param> < param-name> contextConfigLocation< /param-name> < param-value> classpath:spring-mvc.xml< /param-value> < /init-param> < /servlet> < servlet-mapping> < servlet-name> springmvc< /servlet-name> < url-pattern> *.do< /url-pattern> < /servlet-mapping> < /web-app>

 
SpringMVC组件扫描,HandlerMapping配置,servlet配置过程出错

文章图片

 
  不能够自动注入,不知道什么错误,什么也没有修改,运行成功,显示的无法注入,Spring容器未实例化,未创建对象,也未注入,应该是缓存问题,可能出现的问题,,,配置文件初始化可能有先后顺序,先实例化,然后在扫描,根据注入的参数,进行注入。
进行组件扫描的时候,
String[] config= {"spring-mvc.xml","./spring-dao.xml"};
ApplicationContext ac=new ClassPathXmlApplicationContext(config);
如只写了一个xml,在进行注解扫描的时候,spring-dao.xml实例化JdbcTemplate组件进行注入,spring-mvc.xml组件扫描配置,只获取了此容器,在扫描Autowire组件时候,JdbcTemplate无法注入

    推荐阅读