0

プロジェクトで複数のコントローラーを使用したい。私の質問は、あるコントローラーから別のコントローラーに移動するにはどうすればよいですか。また、ユーザーがアクセスできる標準のホームページを作成するにはどうすればよいですか。これは別の「homeController」である必要がありますか?これがどのように機能するのかわかりません。「SpringinAction」の本では、これを説明するのに十分な詳細が説明されていません。

ありがとう

4

5 に答える 5

1

servlet-context.xmlでチェック

<context:component-scan base-package="com.domain.package.controller" />

そして使用する

@Controller

クラスでは、あなたはコントローラーになりたいです。

于 2012-10-11T17:40:33.907 に答える
1

アノテーションを使用してさまざまなコントローラー(Javaクラス)を使用できます@Controller。これは、コントローラーで定義されたメソッドに関連付けられたURLに応じて、次のようになります。

@Controller
public class HomeController {

    @RequestMapping(value = "/home", method = RequestMethod.GET)
    public ModelAndView home() {
        //code to process for the /home url
    }
    // More code
}
于 2012-12-10T22:50:36.167 に答える
0

ディスパッチャサーブレットを使用して、さまざまなコントローラに委任できます。

    <servlet>
        <servlet-name>your-servlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>your-servlet</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>

@RequestMappingこれで、コントローラーのバインディングに応じて、DispatcherServletがリクエストをルーティングする場所を決定します。

于 2012-08-06T14:24:03.040 に答える
0

また、githubの春のMVCショーケースも確認してください。https://github.com/SpringSource/spring-mvc-showcase

于 2012-08-06T14:26:11.270 に答える
0

Webにlogin.jspのような一般的なランディングページが必要な場合は、次のように行うことができます。次のように、web.xmlでディスパッチャサーブレットを設定します。

<servlet>
        <servlet-name>public</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
        <servlet-name>public</servlet-name>
        <url-pattern>/pub/*</url-pattern>        
</servlet-mapping>

次に、ディスパッチャのserveltがpublic-servelt.xmlを呼び出して、すべてのユーザーのログイン要求を処理する必要があります。このような構成が含まれている必要があります。

<context:component-scan base-package="com.mycompany.web.controller.secure" />

    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix="/WEB-INF/jsp/pub/"
        p:suffix=".jsp" />

    <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"
        p:synchronizeOnSession="true" />

次に、Webアプリの一般的なランディング場所であるindex.jspで、jspを前方に配置して、次のようにディスパッチャーサーブの上にヒットします。

<jsp:forward page="/pub/login" />

注:コントローラーでは、次のようにgetメソッドに/loginマッピングを含める必要があります。

@RequestMapping(method = {GET、HEAD}、value = "/ login")public String loginHandler(.......){}

これは、通常、スプリングコントローラーを介して一般的なランディングページを実現する方法です。

于 2012-08-08T06:26:29.920 に答える