この記事では 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 で直接実行してみましょう。
0c02004446d7f3f85c79ae2f5dedf06erequest.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 サイトの他の関連記事を参照してください。