關於spring和springmvc的xml自動掃描配置問題
今天在嘗試搭建一下SSM框架的時候,在webapp目錄下有一個MyJsp.jsp。部署到伺服器後,能夠正常訪問,然後我去寫了一個頁面,通過controller進行訪問,但是死活不出來,而且提示一個404頁面。
我看了下控制檯DEBUG的輸出:No mapping found for HTTP request with URI [/Monitor/login.action] in DispatcherServlet with name 'springmvc',說沒有找到這個對映,
DEBUG [http-apr-8080-exec-3] - Bound request context to thread: [email protected]
DEBUG [http-apr-8080-exec-3] - DispatcherServlet with name 'springmvc' processing GET request for [/Monitor/login.action]
DEBUG [http-apr-8080-exec-3] - Testing handler map [org.springframework[email protected]13fa3263] in DispatcherServlet with name 'springmvc'
DEBUG [http-apr-8080-exec-3] - Looking up handler method for path /login.action
DEBUG [http-apr-8080-exec-3] - Did not find handler method for [/login.action]
DEBUG [http-apr-8080-exec-3] - Testing handler map [or [email protected]30facaa5] in DispatcherServlet with name 'springmvc'
DEBUG [http-apr-8080-exec-3] - No handler mapping found for [/login.action]
WARN [http-apr-8080-exec-3] - No mapping found for HTTP request with URI [/Monitor/login.action] in DispatcherServlet with name 'springmvc'
DEBUG [http-apr-8080-exec-3] - Cleared thread-bound request context: [email protected]
DEBUG [http-apr-8080-exec-3] - Successfully completed request
DEBUG [http-apr-8080-exec-3] - Publishing event in WebApplicationContext for namespace 'springmvc-servlet': ServletRequestHandledEvent: url=[/Monitor/login.action]; client=[127.0.0.1]; method=[GET]; servlet=[springmvc]; session=[9358E9BE84EAA25B3232FC982B81825F]; user=[null]; time=[27ms]; status=[OK]
DEBUG [http-apr-8080-exec-3] - Publishing event in Root WebApplicationContext: ServletRequestHandledEvent: url=[/Monitor/login.action]; client=[127.0.0.1]; method=[GET]; servlet=[springmvc]; session=[9358E9BE84EAA25B3232FC982B81825F]; user=[null]; time=[27ms]; status=[OK]
然後我就百度了一陣,沒有找到解決方法。然後我就仔細看了一下DEBUG的輸出,好像發現是因為springmvc的xml裡沒有找到controller的對映的問題。仔細想了下是不是因為我只在applicationContext.xml裡面配置了自動掃描沒有再springmvc.xml裡沒有自動掃描的原因。原配置如下:
springmvc.xml:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
<mvc:annotation-driven />
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp" />
<property name="suffix" value=".jsp" />
</bean>
</beans>
applicationContext.xml:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
<!-- 自動掃描註解 -->
<context:component-scan base-package="com.xytx.monitor" />
</beans>
然後我就在springmvc.xml裡面加了一個專門用來掃描存放controller的包:
<context:component-scan base-package="com.xytx.monitor.controller" />
然後再訪問controller就好了。
相關推薦
Spring和SpringMVC自動掃描註解類的衝突問題
Spring MVC專案中通常會有二個配置檔案,spring-servlet.xml和applicationContext.xml二個配置檔案,通常會出現以下幾個配置: 1. <context:annotation-config /> 它的作用是隱式地
關於spring和springmvc的xml自動掃描配置問題
今天在嘗試搭建一下SSM框架的時候,在webapp目錄下有一個MyJsp.jsp。部署到伺服器後,能夠正常訪問,然後我去寫了一個頁面,通過controller進行訪問,但是死活不出來,而且提示一個404頁面。 我看了下控制檯DEBUG的輸出:No mapping foun
Spring原始碼學習[email protected]註解和啟動自動掃描的三種
引用文章地址: 前言: @Autowired註解程式碼定義 @Target({ElementType.CONSTRUCTOR, ElementType.FIELD, ElementType.METHOD,
Spring boot中自動編譯配置
fig 配置 plugins ips pat dev 能夠 導致 enc MAVEN自動編譯配置 熱部署功能 <dependency> <groupId>org.springframework.boot</groupId
spring和springmvc元件掃描的要點
轉載於:https://www.cnblogs.com/junzi2099/p/8042476.html 在Spring整體框架的核心概念中,容器是核心思想,就是用來管理Bean的整個生命週期的,而在一個專案中,容器不一定只有一個,Spring中可以包括多個容器,而且容器有上下層關係,目前最常見
Spring和Hibernate整合xml配置
1、基於xml的配置 dbconfig.properties資料來源檔案配置 driverClass=com.mysql.jdbc.Driver jdbcUrl=jdbc:mysql://localhost:3306/databaseName user=root pass
spring cloud bus自動重新整理配置
1. spring cloud bus 自動重新整理配置的原理 、 2. 在config-server中匯入依賴 <!--自動重新整理配置--> <dependency> <groupId>org.springframework.cloud</
spring cloud 使用spring cloud bus自動重新整理配置
Spring Cloud Bus提供了批量重新整理配置的機制,它使用輕量級的訊息代理(例如RabbitMQ、Kafka等)連線分散式系統的節點,這樣就可以通過Spring Cloud Bus廣播配置的變化或者其他的管理指令。使用Spring Cloud Bus後的架構如圖9-2所示。 圖9-2 使用Sp
Spring依賴注入,自動掃描元件,自動裝配,註解注入
Spring 依賴注入 Spring框架中,依賴注入(DI)的設計模式是用來定義物件彼此間的依賴。它主要有兩種型別: Setter方法注入 構造器注入 <!-- 建立一個 Spring bean 的配置檔案,並在這裡宣告所有的Java物件的依賴。 --
Spring的元件自動掃描機制
Spring將所有的bean都納入到IOC中建立、管理和維護。對於大型的專案而言,專案中會有成百上千個bean,如果我們都在配置檔案中配置,那麼我們就會增加配置檔案的體積,顯得過於臃腫,過於龐大,查詢維護起來也不太方便。 在Spring2.5中引入了元件自動掃描機制,通過在classpath自動掃描的方式把
在eclipse中關於Spring和Hibernate 的XML配置如何提示類的包路徑的辦法
我們在配Spring 或者Hibernate 配置檔案的時候,發覺在配置類路徑的時候,在雙引號下是無法提示包的路徑的,這樣子很麻煩,不過在MyEclipse中是有得提示的,查了一下資料,最終發現在eclipse也是可以有這個功能的,只要新增2個外掛就行了。1 Spring T
spring和mybatis的整合配置(包括springmvc)
1)建立一個spring-mybaits-oracle這麼一個javaweb或java工程 2)匯入spring,mybatis,c3p0,oracle和mybatis提供的與spring整合的外掛包 mysql的jar: mysql-connect
spring配置mybatis自動掃描*mapper.java和*mapper.xml配置檔案
預設mybatis需要在配置檔案中載入每個mapper.xml,例如: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD
spring boot 導入xml配置文件所需註解和禁用自動配置類的註解
gpo exclude col 開始 XML post 正在 pri ann 導入XML配置 如果您絕對必須使用基於XML的配置,我們建議您仍然從一個@Configuration類開始。然後您可以使用@ImportResource註釋來加載XML配置文件。
Spring Cloud 進階之路 -- 訊息匯流排 Spring Cloud Bus 配置手動重新整理和動態自動重新整理
Spring Cloud Bus 配置步驟: 1、Spring Cloud Config 專案引入依賴,新增配置,配置暴露 endpoints 2、啟動Config 專案,註冊到Eureka,自動新增RabbitMQ佇列 3、客戶端的order應用引入依賴及配置,啟動Con
Spring整理系列(11)——@Configuration註解、@Bean註解以及配置自動掃描、bean作用域
1、@Configuration標註在類上,相當於把該類作為spring的xml配置檔案中的<beans>,作用為:配置spring容器(應用上下文) package com.test.spring.support.configuration; @Configuration pub
spring中自動註解配置以及@Resource和@Autowired的區別
1.spring中自動註解需要配置標籤<context:component-scan> 配置完這個標籤後,spring就會去自動掃描base-package對應的路徑或者該路徑的子包下面的java檔案,如果掃描到檔案中帶有@Service,@Com
springmvc與Spring配置檔案中掃描元件分開掃描和直接全掃描的區別
在主容器中(applicationContext.xml),將Controller的註解排除掉 <context:component-scan base-package="com"> <context:exclude-filter type="annotation" expression
Spring自動掃描和管理Bean
在大的專案中,通常會有上百個元件,如果這些元件採用xml的bean定義來配置,顯然會使配置檔案顯得很臃腫,查詢和維護起來不方便。Spring2.5 為我們引入了元件自動掃描機制,它可以在類路徑下尋找標記了@Component、@Service、@Controller、@Re
Spring自動掃描和裝配bean
1 引入context名稱空間(在Spring的配置檔案中),配置檔案如下: Xml程式碼 xmlns:context="http://www.springframework.org/schema/context" http://www.sprin