0

私は Tomcat 内で Spring MVC を使用しており、標準構成だと思っていました。web.xml は次のようになります。

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

<servlet-mapping>
    <servlet-name>acme</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

Spring acme-spring.xml を使用して、view-controller タグをルート パスに設定します。

<mvc:view-controller path="/" view-name="login.jsp"/

およびサイト リゾルバー タグ:

<bean id="siteResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver" >
    <property name="prefix">
        <value>/WEB-INF/views/</value>
    </property>
    <property name="suffix">
        <value>.jsp</value>
    </property>
</bean>

ただし、localhost:8080/acme にアクセスすると、login.jsp が表示されるはずでしたが、代わりに無効な URL エラーが表示されます。Spring 3.1 MVC アプリのHTTP ステータス 404 とSpring 3.1 MVC アプリの HTTP ステータス 404の両方を調べましたが、喜びはありませんでした。

私が誤って設定したものについての考えは?

4

2 に答える 2

0

コンテキスト パスのみを使用してアクセスしている場合は、web-xml でウェルカム ファイル リストを指定するか、起動時に表示するウェルカムまたは jsp に直接アクセスする必要があります。1.最初に以下の行を追加するか、localhost:8080/acme を押す代わりに localhost:8080/acme/Login.jsp を押します。

<welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
</welcome-file-list>

2. 次のようなサーブレット名マッピングを追加します。

<servlet>
    <servlet-name>app_name</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
  1. サーブレット URL マッピングを追加します。

    app_name *.do //必要に応じて URL パターンを記述できます。

あなたが直面している他の例外があるかどうかを確認してお知らせください.. !!

于 2012-05-07T12:01:12.237 に答える
0

タグは次のようにする必要があります

<mvc:view-controller  path="/" view-name="login"/>

veiwResolver がプレフィックスとサフィックスを処理するためです。

于 2012-05-06T21:00:35.480 に答える