3、SpringMVC XMLに基づいた構成と注釈に基づく構成
一、SprigMVC XML構成による実現
1、環境を構築する
SpringMVC関連のJarを導入してWEB-INFの下のlibディレクトリに包み、springのIOCjarバッグ、webMVCのjarバッグを含みます.
2、Displatch ServletフロントエンドコントローラのコンポーネントDispar Servletをweb.xmlに配置し、SprigMVCに提供しました.配置だけでいいです.org.springframe ewek.web.servlet.Dispartch Servlet.
1、環境を構築する
SpringMVC関連のJarを導入してWEB-INFの下のlibディレクトリに包み、springのIOCjarバッグ、webMVCのjarバッグを含みます.
2、Displatch ServletフロントエンドコントローラのコンポーネントDispar Servletをweb.xmlに配置し、SprigMVCに提供しました.配置だけでいいです.org.springframe ewek.web.servlet.Dispartch Servlet.
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- servlet -->
<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>springmvc</servlet-name>
<!-- *.do -->
<url-pattern>*.do</url-pattern>
</servlet-mapping>
3、Controllerコンポーネントを作成し、Controllerインターフェースを実現するjavaクラスを構築する.Controllerコンポーネントは、具体的な業務方法を実行する責任があり、他のコンポーネントを呼び出して具体的な業務を完了することができます.package pers.zky.controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
/**
* Controller
* @author Zky
* @version
*/
public class HelloController implements Controller{
/**
* ModelAndView
*/
@Override
public ModelAndView handleRequest(HttpServletRequest arg0,
HttpServletResponse arg1) throws Exception {
System.out.println(" HelloController");
return new ModelAndView("first");
}
}
4、SpringMVCでXMLに基づく配置の実現1)、appication Conteextにbeanを配置登録する<bean id="helloController" class="pers.zky.controller.HelloController"></bean>
(1)、配置処理マッピングのHandlerMapperは、プロの中の値を除いて自分で書く以外は、他のものは全部固定書き方です.keyはアクセス経路で、中のvalueは呼び出し処理のbeanです.<bean id="handlerMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<!-- bean -->
<property name="mappings">
<props>
<prop key="/hello/hello.do">helloController</prop>
<!-- web.xml .do , web.xml spring application.xml -->
<prop key="/hello/*.do">helloController</prop>
<!-- web.xml .jsp , web.xml -->
<prop key="/hello/*.jsp">helloController</prop>
</props>
</property>
</bean>
(2)配置ビュー解析器は、propertyの中の値を自分で書く以外は、他のものは固定された書き方です.<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!--
prefix / WebRoot , /WEB-INF/ WebRoot/WEB-INF
suffix .jsp .jsp
-->
<property name="prefix" value="/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
5、jspページを新規作成して、ジャンプの機能を完成してウェブプロジェクトにアクセスする時、ポートの後ろに付いているのは実はプロジェクト名ではなく、プロジェクト名の別名です.しかし、一般的に開発時のプロジェクト名と訪問時のプロジェクト名を同じように書いています.ウェブプロジェクトを作る時にはデフォルトでも同じです.この名前は以下の経路でプロジェクト名→MyEclipse→Project Facets→Web→Contect Root→Web Contect-root→アクセスするプロジェクト名の例を修正して見ることができます.私たちはSpringMVC 03訪問に変更しました.http://localhost/SpringMVC03/hello/a.do→要求がweb.xmlに到達する→web.xmlは類型マッチングによってapple.xmlにアクセスするかどうかを決定する→handleMappingに到達することを要求する→handleMappingは類型マッチングによってアクセスのController→Controllerに適合するタイプはハローControllerであり、Hello Controllerのbeanの配置によってHello Controller類を訪問しました.Hello Controllerはビューfirst→helloビュー解像器に戻りました.中にはprefixとsuffixによって戻りたい具体的なページのパスと拡張子を確定します.この例で返したページは/first.jspです.つまりWebRootの下のfirst.spjページに戻ります.http://localhost/SpringMVC03/first.jspを選択します.住所欄はまだhttp://localhost/SpringMVC03/hello/a.doアクセスhttp://localhost/SpringMVC03/hello/*.ドは上のページに戻りますが、アクセスしてください.http://localhost/SpringMVC03/hello/*.jspまたは*.htmlなどは404エラーに戻ります.