Spring4.0MVC學習資料,Controller中的方法詳解和使用(四)
在以前,mvc的框架,基本上就是struts框架了。但是現在不一樣了。springmvc出來了。spring的mvc框架不亞於struts了,springmvc出來了,我們有了更多的選擇。
Spring MVC屬於SpringFrameWork的後續產品,已經融合在Spring Web Flow裡面。Spring 框架提供了構建 Web 應用程式的全功能 MVC 模組。使用 Spring 可插入的 MVC 架構,可以選擇是使用內建的 Spring Web 框架還可以是 Struts 這樣的 Web 框架。通過策略介面,Spring 框架是高度可配置的,而且包含多種檢視技術,例如 JavaServer Pages(JSP)技術、Velocity、Tiles、iText 和POI。Spring
MVC 框架並不知道使用的檢視,所以不會強迫您只使用 JSP 技術。Spring MVC 分離了控制器、模型物件、分派器以及處理程式物件的角色,這種分離讓它們更容易進行定製。
jar包引入我就不講了,在前面幾章已經說過,而且我的下載資源裡也有相應的jar包進行下載。
我們看看web.xml的配置:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<!-- Spring MVC配置 -->
<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 可以自定義servlet.xml配置檔案的位置和名稱,預設為WEB-INF目錄下,名稱為[<servlet-name>]-servlet.xml,如spring-servlet.xml-->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:com/herman/ss/config/testAjax.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>*.herman</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
在看看spring配置檔案,testAjax.xml<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-4.0.xsd">
<!-- 啟用spring mvc 註解 -->
<context:annotation-config />
<!-- 自動註解 -->
<context:component-scan base-package="com.herman.ss.controller"></context:component-scan>
<!-- 配置http請求的json對映訊息轉換器 -->
<bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>application/json;charset=UTF-8</value>
</list>
</property>
</bean>
<!-- 完成請求和註解POJO的對映 -->
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="messageConverters">
<list>
<ref bean="mappingJacksonHttpMessageConverter"/>
</list>
</property>
</bean>
<!-- 對轉向頁面的路徑解析。prefix:字首, suffix:字尾 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix="/" p:suffix="" />
</beans>
ok,一切準備就緒,看看HermanController.javapackage com.herman.ss.controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
@Controller
@RequestMapping("super")
public class HermanController {
@RequestMapping("testAjax")
@ResponseBody
public String testAjax(){
System.out.println("我是測試Spring mvc的......");
return "{id:4,text:'Spring mvc'}";
}
@RequestMapping("html")
public String testHtml(){
//請求被重定向到herman.jsp頁面
return "redirect:/herman.jsp";
}
@RequestMapping("testforward")
public String testforward(){
//請求被轉發到forward.jsp頁面
return "forward:/forward.jsp";
}
@RequestMapping(value="root")
public String root(){
return "root.jsp";
}
@RequestMapping(value="test")
public String test(){
return "html/test.html";
}
@RequestMapping(value="suffix")
public String suffix(){
//如果想返回不帶字尾的頁面,則必須在配置xml中配置p:suffix=""
//如:p:suffix=".jsp"
return "suffix";
}
@RequestMapping(value="mav")
public ModelAndView mav(){
//如果想返回不帶字尾的頁面,則必須在配置xml中配置p:suffix=""
//如:p:suffix=".jsp"
ModelAndView mav=new ModelAndView();
mav.setViewName("html/mav.html");
return mav;
}
@RequestMapping(value="request")
public ModelAndView request(HttpServletRequest request, HttpServletResponse response){
//帶request請求引數的示例
//如:p:suffix=".jsp"
ModelAndView mav=new ModelAndView();
mav.setViewName("html/mav.html");
System.out.println(request.getParameter("testVale"));
return mav;
}
@RequestMapping(value="request")
public ModelAndView session(HttpSession httpSession, HttpServletResponse response){
//帶request請求引數的示例
//如:p:suffix=".jsp"
ModelAndView mav=new ModelAndView();
mav.setViewName("html/mav.html");
return mav;
}
}
好吧就到這裡結束了吧,我們下章再見。歡迎大家關注我的部落格!!
如有不懂,疑問或者欠妥的地方,也或者需要原始碼,請加QQ群:135430763 進行反饋,共同學習!
相關文章
- Spring4.0MVC學習資料,ApplicationContext中的方法詳解(三)SpringMVCAPPContext
- Spring4.0MVC學習資料,簡單學習教程(一)SpringMVC
- 詳解學習C#的方法和步驟C#
- VueJS中學習使用Vuex詳解VueJS
- 學習:FCKeditor使用方法技術詳解
- Spring4.0MVC學習資料,註解自動掃描bean,自動注入bean(二)SpringMVCBean
- (資料科學學習手札62)詳解seaborn中的kdeplot、rugplot、distplot與jointplot資料科學
- 深度學習中的資料預處理方法深度學習
- 大資料學習方法,學大資料需要的基礎和路線大資料
- Java 8中的default方法使用詳解Java
- 【深度學習】深度解讀:深度學習在IoT大資料和流分析中的應用深度學習大資料
- WCF學習(四):資料契約的事件事件
- 分享學習大資料的方法大資料
- 大資料學習筆記(四)大資料筆記
- 學習和使用技術的四種層次
- php中Session使用方法詳解PHPSession
- JDBC學習1:詳解JDBC使用JDBC
- Docker學習總結(四)——容器間的通訊和資料卷Docker
- jQuery中的Deferred詳解和使用jQuery
- MySQL學習筆記之資料型別詳解MySql筆記資料型別
- 詳解 View ControllerViewController
- MySQL 中 blob 和 text 資料型別詳解MySql資料型別
- 【海量資料學院】DBA的學習方法論系列—正確的學習方法
- 詳解MySQL資料備份之mysqldump使用方法MySql
- 詳解Java解析XML的四種方法JavaXML
- 一文詳解資料科學家的必備技能(附學習資源)資料科學
- 我的MYSQL學習心得(四)資料型別MySql資料型別
- Hive學習之三 《Hive的表的詳解和應用案例詳解》Hive
- 使用CRM系統資料分析的四種方法
- 聊聊springmvc中controller的方法的引數註解SpringMVCController
- 第四章 Controller介面控制器詳解(1)Controller
- 第四章 Controller介面控制器詳解(2)Controller
- 詳解MySQL中的SQRT函式的使用方法MySql函式
- redis資料結構詳解之Hash(四)Redis資料結構
- jQuery中的Deferred-詳解和使用jQuery
- 零基礎大資料學習線路詳解大資料
- 資料庫中的正規化和反正規化詳解!資料庫
- Oracle學習系列—資料庫優化—In和Exists的使用Oracle資料庫優化