快速構建Spring+hibernate WEB應用(二)

Spring MVC控制器

AbstractController

當使用AbstractController作爲你的控制器基類時(一般不推薦這樣做,因爲有許多預定義的控制器你可以選擇),

MultiActionController Spring提供一個多動作控制器,使用它你可以將幾個動作合併在一個控制器裏,這樣可以把功能組合在一起。

MethodNameResolver根據收到的請求解析方法名。有三種解析器可以供你選擇,當然你可以自己實現解析器。

ParameterMethodNameResolver - 解析請求參數,並將它作爲方法名(http://www.sf.net/index.view?testParam=testIt的請求就會調用testIt(HttpServletRequest,HttpServletResponse))。使用paramName配置參數可以調整所檢查的參數

InternalPathMethodNameResolver - 從路徑中獲取文件名作爲方法名(http://www.sf.net/testing.view的請求會調用testing(HttpServletRequest, HttpServletResponse)方法)

如果使用MultiActionController,還要進行以下的額外定義

<bean id="paramResolver" class="org....mvc.multiaction.ParameterMethodNameResolver"> <property name="paramName"><value>method</value></property> </bean>



<bean id="paramMultiController" class="org....mvc.multiaction.MultiActionController"> <property name="methodNameResolver">

<ref bean="paramResolver"/></property> </bean>

以上的參數配置法是現在通用的方法,而web2.0更喜歡用第二種方法,用URL中的參數進行匹配。

CommandControllers你可以使用這個命令控制器來創建你自己的命令控制器,它能夠將請求參數綁定到你指定的數據對象。這個類並不提供任何表單功能,但是它提供驗證功能,並且讓你在控制器中定義如何處理包含請求參數的數據對象

SimpleFormController - 這是一個更具體的FormCotnroller,它能用相應的數據對象幫助你創建表單。SimpleFormController讓你指定一個命令對象,表單視圖名,當表單提交成功後顯示給用戶的視圖名等等

à被指過於複雜,但是卻是很好用的東西!



Spring MVC視圖與視圖解析

Spring提供了視圖解析器,這使得你在瀏覽器顯示模型數據時不需要指定具體的視圖技術。Spring允許你使用Java Server Page,Velocity模版和XSLT視圖。

ViewResolvers

<bean id="viewResolver"

class="org.springframework.web.servlet.view.InternalResourceViewResolver">

<property name="viewClass">

<value>org.springframework.web.servlet.view.JstlView</value>

</property>

<property name="prefix">

<value>/WEB-INF/jsp/</value>

</property>

<property name="suffix">

<value></value>

</property>

</bean>

<!-- Spring mvc 通用錯誤解析 -->

<bean id="exceptionResolver"

class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">

<property name="exceptionMappings">

<props>

<prop key=“java.lang.Exception(可以是任何自定義異常)”>friendlyError.jsp</prop>

</props>

</property>

</bean>



Spring WebApplicationContext



要初始化Spring容器,就是按照Spring定義文件進行初始化,將類進行代理,實例化……

<!-- spring 資源讀取 -->

<context-param>

<param-name>contextConfigLocation</param-name>

<param-value>

/WEB-INF/classes/configure/applicationContext-tomcat.xml

</param-value>

</context-param>



<!--Spring Context loader-->

<listener>

<listener-class>

org.springframework.web.context.ContextLoaderListener

</listener-class>

</listener>

至此,web應用程序已經支持了Spring,在Spring 定義文件中所定義的類已經運行在了WEB環境下,並且受Spring管理,獲得瞭如IOC,AOP等優點。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章