ホームページ >Java >&#&チュートリアル >SpringMVC環境構築の詳細な手順

SpringMVC環境構築の詳細な手順

不言
不言オリジナル
2018-09-26 14:45:023058ブラウズ

この記事では SpringMVC 環境を構築する詳細なプロセスを紹介します。必要な方は参考にしていただければ幸いです。

Spring MVC は、プレゼンテーション層の MVC 設計概念に基づいた優れた Web フレームワークを提供しており、現在最も主流の MVC フレームワークの 1 つです。

Spring 3.0以降はStruts2を完全に上回り、最高のMVCフレームワークと呼ばれています。 SpringMVCを学ぶと、Struts2がもたらす残酷さを一瞬で感じることになるでしょう。

Spring MVC は一連の MVC アノテーションを使用して POJO をリクエストを処理するコントローラーにします。インターフェイスを実装する必要はなく、結合度は低くなります。

そして、Spring MVC は休符スタイルを適切にサポートしています。 。

他の MVC フレームワークよりも拡張性と柔軟性に優れた、疎結合のプラグイン可能なコンポーネント構造を利用します。

Spring MVC 環境の構築

1) インターフェースメソッドに基づいて MVC 環境を構築します。 MVC を実装するためのコントローラー インターフェイスの実装

2) Spring 3.0 以降のバージョンでは、アノテーション方式に基づいて、アノテーションを使用することで従来の MVC 構成が大幅に簡素化され、柔軟性と保守性が大幅に向上します。

SpringMVC を実装するには、最初のステップは対応する jar パッケージを入力する必要があります。

次に Struts2 を使用します。また、Web.xml でコア コントローラーを構成します。リクエストをインターセプトするために使用されます。

<!-- 配置SpringMVC的请求的Servlet -->
  <servlet>
          <servlet-name>DispatcherServlet</servlet-name>
              <servlet-class>
                  org.springframework.web.servlet.DispatcherServlet
            </servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:applicationContext.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
 </servlet>
  <servlet-mapping>
      <servlet-name>DispatcherServlet</servlet-name>
      <url-pattern>/</url-pattern>
  </servlet-mapping>

これを見ると、Struts2 よりも数行多いだけで、見覚えがあると思いませんか? init-param は、初期化中にロードされる Spring ファイルです。複数のファイルがある場合は、カンマを使用してそれらを区切ることができます。

load-on-startup は起動時にすぐにロードされます。 66e1775cbd9d5002635ae3285442ba88/3ec4a5583206d351b61ed79c1a0f9c66すべてのリクエストをインターセプトします。 (同時に、css と js もインターセプトされます);

次に、Controller

package com.miya.spring.mvc.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@RequestMapping("/Miya")
public class MiyaHelloController {

    @RequestMapping("/hello")
    public String hello(){
        System.out.println("hello Miya");
        return "/hello";
    }
}

##@Controller This を記述します。アノテーションはあまり多くする必要はありません。たとえば、コントローラーを宣言します。

@RequestMapping は、スペースを宣言するクラスで定義されています。上記のメソッドでは、リクエスト パスが宣言されています。

文字列とアクセスするパスを返します。このパスはどこにありますか?

<context:component-scan base-package="com.miya.spring.mvc"/>
    
    <!-- 视图解析器 -->
    <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <!-- 前缀 -->
        <property name="prefix" value="/WEB-INF/views"/>
        <!-- 后缀 -->
        <property name="suffix" value=".jsp"/>
    </bean>

Spring XML 構成では、最初にすべての注釈をスキャンしてから、ビュー パーサーを構成します。

その hello を返すとき、ビューにアクセスするためのプレフィックス result(hello) サフィックスになります。

次に、index.jsp で直接実行してみましょう。

0c02004446d7f3f85c79ae2f5dedf06e

request.getContextPath() は、Web プロジェクトのルート パス、webContent (MyEclipse の webRoot) を取得します。これで、名前空間 Miya の後にメソッド リクエスト パス

hello が定義されていることがわかります。最後にアクセスしたアドレス http://localhost:8080/SpringMvcDemo1/Miya/hello は、ファイル WEB-INF/views/hello.jsp にアクセスしました。そして、このリクエストは依然として休息スタイルのリクエストです。

ここまで来ると、Struts2 よりもはるかに便利であることがわかります。Struts2 のすべての構成リクエストは、多くのアクションなどを構成するために Struts2 に送信する必要があり、場合によっては数千行になることもあります。 sturts ファイルでは、私は年をとりすぎているので、リクエストには 30 分かかりました。

これを実装する別の方法は、Spring が提供するコントローラー インターフェイスを実装し、インターフェイス内のメソッドを書き直すことです。

package com.miya.spring.mvc.controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
public class MiyaWordController implements Controller{
    @Override
    public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
        ModelAndView modelAndView = new ModelAndView();
        modelAndView.setViewName("/hello");
        return modelAndView;
    }
}

ビューは ModelAndView で設定できます。次に、Spring XML で Bean を設定する必要があります。 name はリクエストのパス、class は指定されたコントローラ クラスです。

32c97008f0b4c7cbcba6489f3ba8eac34bb0e59fd50cbfe6f6ce2215b9d94243
注: プロジェクト内のすべてのリクエストをインターセプトするため、画像、スタイル、JS がすべてレポートされます。 404.春にできる 外部リソース ファイルが XML に導入されるため、この方法でインターフェイスを実装すると結合度が高くなりすぎ、各関数をクラス内に記述する必要があり、コードが肥大化してしまいます。そのため、現在はアノテーションを使用することが推奨されています。また、多くのフレームワークがアノテーション メソッドをサポートしており、構文が単純なのでコードが簡潔になります。

うわー

以上がSpringMVC環境構築の詳細な手順の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。