SpringMVC+MyBatis项目,通过Controller访问不到WEB-INF下面的jsp页面+expected single matching bean but found 2 柔光的暖阳◎ 2023-10-04 11:11 1阅读 0赞 ## 一、错误提示 ## > 1.**message** /WEB-INF/jspaddUser.jsp **description** The requested resource is not available. > > 2.SqlSessionFactory\] is defined: expected single matching bean but found 2 > > 3.found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. > > 4.class path resource \[spring/\] cannot be resolved to URL because it does not exis > > 特别提示:以上错误,都是由于配置文件小细节引起的。 ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hwODcxMDM4OTUx_size_16_color_FFFFFF_t_70][] ## 二、目录结构 ## ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hwODcxMDM4OTUx_size_16_color_FFFFFF_t_70 1][] ## 三、问题描述 ## > 1.项目通过Controller里的方法,访问WEB-INF下面的私有目录,始终访问不了(只能直接访问webapp根目录下的jsp),奇葩的是,前台浏览器返回的错误会在我要访问的addUser.jsp页面前添加个jsp(WEB-INF/jspaddUser.jsp )。百思不得其解,然后就各种排查。 > > 注:访问方法没有任何问题,如下: @Controller public class PageController { @RequestMapping("/{page}") public String showPage(@PathVariable String page) { return page; } } > 2.在排查过程中,出现了各种奇葩的错误,如上错误提示。 ## 四、排查思路 ## > 注:为了节省大家的时间,中间的曲折就不废话了(都是泪,折腾了半天),直接上干货,下面的方法一个个排查,问题总能解决。 ## 五、解决方案 ## > ### 1.请检查你的springmvc.xml.中的配置。 ### > > 特别提示:请检查下面代码中jsp css js img 处的代码,都应该以**“/”**结尾,比如:**value="/WEB-INF/jsp****/**"。否则前台请求不到对应界面。 > > 提示:**message** /WEB-INF/jspaddUser.jsp **description** The requested resource is not available. <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/jsp/"/> <property name="suffix" value=".jsp"/> </bean> <!--配置静态资源映射--> <mvc:resources location="/WEB-INF/css/" mapping="/css/**"/> <mvc:resources location="/WEB-INF/js/" mapping="/js/**"/> <mvc:resources location="/WEB-INF/img/" mapping="/img/**"/> > ### 2.检查你maven主工程的pom.xml文件。 ### > > 特别提示:由于创建maven工程时,IDEA不会自动创建resources等目录,手动创建的时候,此时就容易出现错误一个字母。 > > 请仔细检查自己创建的目录的英文名称,和下面配置中的是否一致。尤其是resources这个目录。如果错误了,系统是如何也读取不到配置文件的。 > > 控制台错误提示:class path resource \[spring/\] cannot be resolved to URL because it does not exis <build> <!--配置资源拷贝插件--> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> </resource> <resource> <directory>src/main/resources</directory> <includes> <include>**/*.xml</include> <include>**/*.properties</include> </includes> </resource> </resources> </build> > ### 3.检查你的web.xml,存放位置是否正确;里面的配置是否正确。 ### > > 注:**classpath:** 此处冒号前面没有\*,如果添加\*了,你的数据源配置问题会被读取两次。于是就出现了下面的错误。 > > 错误提示:SqlSessionFactory\] is defined: expected single matching bean but found 2 > > 扩展(一般Maven工程不需要带\*): > > classpath和classpath\*区别: > classpath:加载本项目下的指定目录的配置文件 > classpath\*: 加载本项目下和本项目所依赖的所有项目的指定目录下的配置文件 <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring/applicationContext-*.xml</param-value> </context-param> > ### 4.如果是各种maven依赖的包引起的错误,如下图所示,点击,下载Sources。 ### > > 比如这样的错误提示:Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4 ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hwODcxMDM4OTUx_size_16_color_FFFFFF_t_70 2][] > 5.还有一些其他小错误,坑太多,不累述了。 鼓捣了半天,问题终于解决了。 注:这里的addUser访问的是PageController里的showPage方法,通过这个方法,访问的WEB-INF私有目录下的addUser.jsp ![2021041901061368.png][] ## 六、总结 ## > 诸如这样的错误提示,总是使人狂抓。尤其是,独自跟着某个课程,自己敲的时候。之前一直在用MyEclipse,换成IDEA后,各种的坑,一起来踩吧! > > 欢迎吐槽交流,我们一起进步! [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hwODcxMDM4OTUx_size_16_color_FFFFFF_t_70]: https://img-blog.csdnimg.cn/20210419001751968.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hwODcxMDM4OTUx,size_16,color_FFFFFF,t_70 [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hwODcxMDM4OTUx_size_16_color_FFFFFF_t_70 1]: https://img-blog.csdnimg.cn/20210419001504775.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hwODcxMDM4OTUx,size_16,color_FFFFFF,t_70 [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hwODcxMDM4OTUx_size_16_color_FFFFFF_t_70 2]: https://img-blog.csdnimg.cn/20210419140753458.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hwODcxMDM4OTUx,size_16,color_FFFFFF,t_70 [2021041901061368.png]: https://img-blog.csdnimg.cn/2021041901061368.png
还没有评论,来说两句吧...