SpringMVC基礎——一個簡單的例子


一、導入 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 ,需要真正弄懂上述這些問題。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM