`
wx1569484809
  • 浏览: 64010 次
文章分类
社区版块
存档分类
最新评论

springmvc中找不到页面,进入不到方法,并且不报错

 
阅读更多

在springmvc配置中,出现了两次进入不到action方法中,并花费了大部分时间去找问题,所以详细记录下相关的配置

1.配置的位置:

applicationContext.xml文件,是必须配置的,也是spring的配置:

servlet-context.xml文件,是给Tomcat配置的,可以写,也可以不写,但是如果写的话就一定要注意,因为问题基本都会出现在这个配置上

两种写法:

项目中,在base-package指定的包中有的子包是不含有注解的,所以这些包可以不进行扫描,此时可以指定
<context:exclude-filter>来进行过滤,说明此包不需要被扫描。
Use-dafault-filters=”false”的情况下:<context:exclude-filter>指定的包不进行相应注解的扫描,
<context:include-filter>指定包或其子包进行相应注解的扫描。

不扫描@Controller注解

applicationContext.xml

<mvc:annotation-driven />
        <context:component-scan base-package="包名">
            <context:exclude-filter type="annotation"
                expression="org.springframework.stereotype.Controller" />    
        </context:component-scan>

servlet-context.xml

<!-- 扫描@Controller注解 -->
<mvc:annotation-driven />
		<context:component-scan base-package="包名">
			<context:include-filter type="annotation"
				expression="org.springframework.stereotype.Controller" />	
		</context:component-scan>

区别在于一个用的是include,一个用的是exclude,

spring不仅扫描了@Controller修饰的javaod ,还扫描了指定包或其子包下有@Service
@Repository注解修饰的java类此时指定的include-filter没有起到作用,只要把use-default-filter设置成
false就可以了。这样就可以避免在base-packeage配置多个包名。

第二种写法,个人觉得如果是传统的springmvc,那么第二种方法出错的概率会更小一些

<mvc:annotation-driven />
		<context:component-scan base-package="包名">
		</context:component-scan>

扫描此包下面的所有注解,可以将controller,service等都注入进去,只需要在applicationContext.xml中配置就可以了

还有一个疑惑就是:

springmvc的工作流程就是从controller到service,那么exclude这种配置方法的意义在哪里?

理解:

有的时候会出现框架混用,或者不需要controller中的注解,需要使用service,或者自己想要的注解,这种我自己还没有接触过,所以也只是一个大概的理解。

参考概念:

https://www.jianshu.com/p/72f24dc82560

转载于:https://my.oschina.net/u/3829307/blog/3076341

分享到:
评论

相关推荐

    解决idea使用maven编译正常但是运行项目时却提示很多jar包找不到的问题

    如果其他同事提交代码时把.iml文件也一起提交了,而该文件中的JDK lib路径与自己电脑中的该路径不一致时,就会出现jar包找不到的问题。解决方法很简单,只需执行一下Maven update即可,也可以手动修改.iml文件中的该...

    SpringMVC-Mybatis-Shiro-redis-master 权限集成缓存中实例

    * 我们平常用的获取上一个请求的方式,在Session不一致的情况下是获取不到的 * String url = (String) request.getAttribute(WebUtils.FORWARD_REQUEST_URI_ATTRIBUTE); */ 三、删除了配置文件中的cookie写入域...

    springmvc_mybatis_多数据源

    当项目需求涉及到多个数据源时,如何在SpringMVC和MyBatis中配置和管理这些数据源就成为了一个关键问题。"springmvc_mybatis_多数据源"这个项目就是针对这种情况提供的一种解决方案。 首先,我们来看SpringMVC如何...

    SpringMVC+JNDI+Tomcat配置数据源

    1. **找不到JDBC驱动**:确保已经将正确的JDBC驱动包放置在Tomcat的`lib`目录中。 2. **JNDI查找失败**:检查数据源名称是否正确配置,以及应用程序中是否有正确的JNDI查找代码。 3. **连接超时**:检查数据库连接...

    SpringMVC+Spring3.2.8+Hibernate4.3.5+分页实例

    SpringMVC+Spring3.2.8+Hibernate4.3.5带简单的分页实例,集成时使用hibernate-core-4.3.5.Final.jar时会报错...(网上说该Jar包中某个类的包路径改了,Spring找不到,所以换成了Hibernate4.2 的Core包了)这是BUG么?

    SpringMvc静态资源访问实现方法代码实例

    SpringMvc会把他们作为普通的请求处理,从而因为找不到对应处理器报错。解决这个问题的方法有多种,其中官方推荐的方法是使用,该方法可以让servlet容器处理映射,而不是由SpringMvc拦截。 另一种方法是使用xml方式...

    Spring MVC不能直接接收list类型参数的问题

    在 Web 开发过程中,前后端数据交互是必不可少的一部分。对于基于 Java 的 Spring MVC 框架而言,处理这种交互通常需要理解如何正确地接收前端发送的数据。本文探讨的是一个常见的问题——Spring MVC 无法直接接收 ...

    layui数据表格 table.render 报错的解决方法

    在使用过程中可能会遇到各种报错问题,导致表格无法正确显示或功能异常,这篇文章将探讨遇到报错时的常见解决方法。 一、报错信息解析 报错信息是问题诊断的重要线索,通常包含错误的类型、状态码以及可能的错误...

    基于SpringMVC+Spring+MyBatis开发的个人博客网站-毕业设计.zip

    实体类中多次使用到 @Data 注解,请确保你的 IDE 安装了 Lombok 插件,否则找不到 getter/setter 方法 数据库乱码,在MySQL安装路径,比如(E:\MySQL\MySQL Server 5.5)下找到my.ini文件进入编辑,修改这两处地方...

    基于SpringMVC接受JSON参数详解及常见错误总结

    - **缺少必要的注解**:若没有在控制器方法中正确使用注解,比如缺少了@Controller或@RequestMapping注解,或者参数绑定相关的注解使用不正确,都可能导致SpringMVC无法识别和处理请求。 在实际开发过程中,处理...

    java,html,jquery,js各种报错解决方案

    1. **Java**:Java是一种广泛使用的面向对象的编程语言,其报错主要涉及语法错误、类型不匹配、空指针异常、运行时异常等。解决Java错误通常需要理解错误信息,检查变量声明、方法调用、异常处理等。例如,"Java就业...

    springMVC依赖jar

    Spring 框架广泛使用 Commons Logging 进行日志记录,因为它提供了灵活性,可以在不修改代码的情况下切换到不同的日志框架(如 log4j、logback)。这个压缩包包含的 Commons Logging 是版本 1.2,适用于大多数现代...

    springmvc mybatis freemarker

    这三者之间的协同工作是现代Web开发中的基础,对于任何希望在Java领域深入发展的程序员来说,都是不可或缺的知识点。在实际工作中,你可能还会接触到如Spring Boot、Hibernate等其他框架,它们与Spring MVC、MyBatis...

    springmvc+spring+mybatis+maven示例_1.0

    工程名ssmm表示:springmvc+spring+mybatis+maven ...打包时注意,先运行Maven-clean,再运行Project-clean,再运行Maven-package,我本地Eclipse运行Maven-clean后,class文件没有拷贝到target/class文件夹中

    SpringMVC自定义参数绑定实现详解

    @RequestParam注解可以指定request请求的参数名绑定到哪个方法形参上,並可以设置必填的参数通过required属性设置为true,如果不传入该参数,则报错。同时,也可以设置默认值通过defaultvalue属性设置。 参数绑定...

    Spring源码学习十一:SpringMVC-@RequestBody接收json数据报4151

    `getMessageConverters()` 方法会检查是否存在如Jackson或Gson的相关类,如果找到并且可以加载,那么对应的转换器就会被添加到集合中。 例如,如果`jackson2Present` 为true,表示项目中包含Jackson库,那么`...

    rabbitMq与spring、springmvc结合的测试工程

    - **Web应用中的消息生产**:在Spring MVC的Controller中,可以使用RabbitTemplate发送消息到指定的交换机和队列,例如,创建一个消息发送方法,将HTTP请求处理的结果转化为消息。 - **异步处理**:通过在...

    log4j日志报错解决办法

    在Java开发过程中,如果遇到"log4j:WARN Please initialize the log4j system properly"这样的错误提示,通常意味着Log4j没有正确配置或者找不到配置文件。 首先,错误信息"log4j:WARN No appenders could be found...

    SpringMVC解析JSON请求数据问题解析

    关键在于使用`@RequestBody`注解,它告诉SpringMVC将请求体的内容映射到指定的对象或Map中: ```java @RequestMapping(value = "testJson") public String testJson(@RequestBody Map, String&gt; name, ...

Global site tag (gtag.js) - Google Analytics