程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> SpringMVC——一個簡單的例子,springmvc例子

SpringMVC——一個簡單的例子,springmvc例子

編輯:JAVA綜合教程

SpringMVC——一個簡單的例子,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 ,需要真正弄懂上述這些問題。

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved