一、導入 jar 包
二、配置 web.xml 文件
<servlet> <servlet-name>dispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/springmvc-servlet.xml</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>dispatcherServlet</servlet-name> <url-pattern>*.action</url-pattern> </servlet-mapping>
說明:
配置了 SpringMVC 的核心處理器類 org.springframework.web.servlet.DispatcherServlet ,其中 url-pattern 指定了要過濾的請求。
需要注意的是:DispatcherServlet 默認加載 /WEB-INF/servletName-servler.xml 的 SpringMVC Config 文件,可以通過初始化參數修改其位置和名稱。
三、添加 SpringMVC Config 文件(springmvc-servlet.xml)
<context:component-scan base-package="com.nucsoft.springmvc.handler"/> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/views/"/> <property name="suffix" value=".jsp"/> </bean>
說明:
(1)指定要掃描的基包
(2)指定視圖解析器:prefix + viewName + suffix
四、添加目標類
/** * @author solverpeng * @create 2016-08-01-19:19 */ @Controller public class HelloWorldHandler { @RequestMapping("/hello") public String hello() { System.out.println("hello world..."); return "hello"; } }
說明:
(1)請求處理類必須在 IOC 容器中
(2)@RequestMapping 用來映射請求,其中 value 屬性指定映射的 url。可以作用類上,相當於 namespace 的作用。
(3)返回值最終會被解析為 ModelAndView 對象。結合視圖解析器,返回到視圖。
五、SpringMVC 作為一個表示層的框架,是繼 Stuts2 之後的又一個優秀的框架,且有 Spring 整個體系作用支撐,使用起來感覺更加的優雅。
學習 SpringMVC時,要明白它的核心處理器,以及表示層要解決的問題,
如:獲取原生的Servlet資源問題、映射問題、參數獲取問題、模型注入問題、格式化問題、數據校驗問題、返回值處理問題、視圖渲染問題、防止表單重復提交問題、文件上傳下載問題等等。
以及 SpringMVC 整個的運行流程,以及請求的生命周期問題。能否通過自定義的方式來實現我們想要但是 SpringMVC 還沒有解決的問題。
對比於 Struts2,有什麼優點、缺點。
想要學會 SpringMVC ,需要真正弄懂上述這些問題。