1. 程式人生 > >關於spring和springmvc的xml自動掃描配置問題

關於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就好了。

相關推薦

SpringSpringMVC自動掃描註解類的衝突問題

Spring MVC專案中通常會有二個配置檔案,spring-servlet.xml和applicationContext.xml二個配置檔案,通常會出現以下幾個配置: 1. <context:annotation-config /> 它的作用是隱式地

關於springspringmvc的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

springspringmvc元件掃描的要點

轉載於:https://www.cnblogs.com/junzi2099/p/8042476.html 在Spring整體框架的核心概念中,容器是核心思想,就是用來管理Bean的整個生命週期的,而在一個專案中,容器不一定只有一個,Spring中可以包括多個容器,而且容器有上下層關係,目前最常見

SpringHibernate整合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中關於SpringHibernate 的XML配置如何提示類的包路徑的辦法

我們在配Spring 或者Hibernate 配置檔案的時候,發覺在配置類路徑的時候,在雙引號下是無法提示包的路徑的,這樣子很麻煩,不過在MyEclipse中是有得提示的,查了一下資料,最終發現在eclipse也是可以有這個功能的,只要新增2個外掛就行了。1 Spring T

springmybatis的整合配置(包括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