2014-03-07 120 views
0

我已經通過eclipse創建了一個Spring MVC項目。我相信我使用了一些插件來生成項目目錄。我在這裏找到配置文件。Eclipse Spring MVC項目配置文件

  1. 的web.xml
  2. 根的context.xml
  3. 的servlet-context.xml的

  4. 我還挺熟悉Spring MVC &其依賴注入。不過,我在理解最後兩個配置文件(root-context & servlet-context)時遇到了問題。 它們包含什麼樣的配置?

  5. 另外在可能的在線示例中,我將看到mvc-dispatcher-servlet.xml。爲什麼eclipse不能在我的項目中生成這個xml文件?

  6. [重要]我想爲我的web應用程序設置強大的安全性和用戶身份驗證。我一直在關注在線教程,他們都創建了一個名爲spring-security.xml的單獨的 xml文件,並將命名空間信息添加到該文件中。如果我只是創建這個文件並添加名稱空間信息就足夠了嗎?我的意思是 dont'我需要將該文件導入到由Spring框架掃描的主文件中?

  7. 如何定義和在哪裏放置spring應用程序context.xml文件並開始將依賴關係連接在一起?另外如果我定義了所有的東西(這裏所有的依賴),這個文件是如何被框架拾取的?

感謝,

回答

2

配置文件

如果你檢查你的web.xml,你會發現兩者的root-context.xmlservlet-context.xml文件正在這裏所指。一個使用Dispatcher Servlet和其他Context Loader Listenter。除非他們在web.xml中被吹罰

Eclipse中不產生文件

每一個編輯的工作自己的方式,你可以命名您的文件什麼的。有些可能會生成完整的項目/應用程序,配置DispatcherServletContextLoaderListner,或者一些僅使用DispatcherServlet(具有最小配置)。檢查Spring Roo它從基礎開始,併爲您提供生成強大應用程序的靈活性。

MVC-調度-servlet.xml中不存在

一些春季項目的事情都約定基礎,例如,如果你沒有提供任何文件到您的DispatcherServletweb.xml春季查找mvc-dispatcher-servlet.xml文件,如果你提供了它不會尋找。

春季安全

配置Spring安全,您需要提供至少一些配置。但問題在哪裏。您只需將此配置添加到您的web.xml。因此不需要將其導入任何其他文件。

<listener> 
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener- class> 
</listener> 
<context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value> 
     /WEB-INF/spring/spring-security.xml       
    </param-value> 
</context-param> 
<filter> 
    <filter-name>springSecurityFilterChain</filter-name> 
    <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class> 
</filter> 
<filter-mapping> 
    <filter-name>springSecurityFilterChain</filter-name> 
    <url-pattern>/*</url-pattern> 
</filter-mapping> 

如果定義應用程序的context.xml

只要定義它的任何地方,在它配置豆類。 可以按如下方式添加此文件:

一)無論是導入到這個像root-context.xmlservlet-context.xml 一些其他的配置文件作爲<import resource="application-context.xml"/>

B)添加到這個web.xml中與ContextLoaderListnercontext param

<context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value> 
      classpath*:META-INF/spring/application-context*.xml 
      classpath*:META-INF/spring/abc*.xml 
    </param-value> 
</context-param> 
+0

很好的答案!幾乎所有我想知道的答案。儘管我可以補充說我具有spring-security.xml文件中的所有安全配置,並在web.xml中的內引用它。提供良好的關注組織和代碼分離。 – Ace