快速構建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等優點。
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等優點。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.