2017-07-30 21 views
0

私は単純なHello World Spring MVCプロジェクトを作成しました。私のコードは、これらの行せずに作業しているweb.xmlのcontextConfigLocationに関連する混乱

<init-param> 
<param-name>contextConfigLocation</param-name> 
<param-value>/WEB-INF/spring-servlet.xml</param-value>   
</init-param> 

は、私は私のweb.xmlに以下の行を追加しました。私はこれらの行を追加する目的を理解していません。誰でも簡単な言葉でその使い方を説明してくれますか?

{my-sevlet-name}-servlet.xml 

だから、それはあなたがあなたの春のDispatcherServlet「春」という名前のことのように思える:デフォルトのスプリングによって

答えて

1

DispatcherServletの初期化時に、WebアプリケーションのWEB-INFディレクトリにある [servlet-name] -servlet.xmlというファイルを探し、そこに定義されているBeanを作成しますグローバルスコープ内の同じ名前)。代わりに上記のサーブレット構成で

例えば、

<web-app> 
    <servlet> 
    <servlet-name> 
     spring 
    </servlet-name> 
     <servlet-lass>org.springframework.web.servlet.DispatcherServlet 
    </servlet-class> 
    <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
    <servlet-name> 
     spring 
    </servlet-name> 
    <url-pattern>*.do</url-pattern> 
    </servlet-mapping> 
</web-app> 

、あなたは「/ WEB-INF/ -servlet.xml」と呼ばれるファイルを持っている必要がありますし、それが自動的に選ばれます。

サーブレット名と構成ファイルの名前または場所が異なる場合は、以下のようにDispatcherサーブレットを初期化する際にファイル名と場所を指定する必要があります。

<web-app> 
    <servlet> 
     <servlet-name>SpringController</servlet-name> 
     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
     <init-param> 
      <param-name>contextConfigLocation</param-name> 
      <param-value>/WEB-INF/spring-servlet.xml</param-value> 
     </init-param> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 

    <servlet-mapping> 
     <servlet-name>SpringController</servlet-name> 
     <url-pattern>*.do</url-pattern> 
    </servlet-mapping> 
</web-app> 

(ここでは、サーブレット名はSpringControllerされ、構成ファイル名は春-servlet.xmlです。でも、ここにあなたがたとえば、あなたの設定ファイルには任意の名前を使用することができ、my_spring_mvc_configurtaion.xml

+0

@ジョグンダーパワン私は12時間早く同じ答えを返してくれたようです: –

+0

@Dmittry Senkovich、以前あなたは答えましたが、それは質問の実際の質問ではありませんでした。彼は実際ににcontextConfigLocationの重要性を知りたいと思っています。 –

+0

私はすべてが大丈夫だ、お友達、私は十分にはっきりしていなかった) –

1

は、そのWebコンテキストをロードするために、次のファイルを探します。この場合、Springは単にspring-servlet.xmlをロードし、あなたが言及した行はアプリケーションにまったく影響しません。

0

初期化パラメータcontextConfigLocationは、Springに設定ファイルをロードする場所を指示します。 web.xmlのコードがなくても動作するのなら、あなたのJavaコードのどこかを意味します。この設定ファイルはロードされています。

関連する問題