SpringMVC配置與使用

一、什麼是 SpringMVC ?

  在介紹什麼是 SpringMVC 以前,咱們先看看 Spring 的基本架構。以下圖:html

  

  咱們能夠看到,在 Spring 的基本架構中,紅色圈起來的 Spring Web MVC ,也就是本系列的主角 SpringMVC,它是屬於Spring基本架構裏面的一個組成部分,屬於SpringFrameWork的後續產品,已經融合在Spring Web Flow裏面,因此咱們在後期和 Spring 進行整合的時候,幾乎不須要別的什麼配置。前端

  SpringMVC 是相似於 Struts2 的一個 MVC 框架,在實際開發中,接收瀏覽器的請求響應,對數據進行處理,而後返回頁面進行顯示,可是上手難度卻比 Struts2 簡單多了。並且因爲 Struts2 所暴露出來的安全問題,SpringMVC 已經成爲了大多數企業優先選擇的框架。java

  那麼多的不說,咱們直接經過一個實例來看看 SpringMVC 的魔力。web

二、建立 web 工程,並導入相應的 jar 包。

  

  這裏咱們加入了 Spring 3.2 的全部 jar 包,正好也佐證了上面所說的 SpringMVC 是 Spring 架構的一部分,注意:必定要包括紅色橢圓圈起來的 spring-webmvc-3.2.0.RELEASE.jarspring

 

三、新建 SpringMVC 全局配置文件

  在 src 目錄下新建 springmvc.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:mvc="http://www.springframework.org/schema/mvc"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/aop
        http://www.springframework.org/schema/aop/spring-aop-4.2.xsd
        http://www.springframework.org/schema/tx
        http://www.springframework.org/schema/tx/spring-tx.xsd">
 
 
</beans>
View Code

 

 四、在 web.xml 文件中配置前端過濾器 

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns="http://java.sun.com/xml/ns/javaee"
     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
     http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>SpringMVC_01</display-name>
  <!-- 配置前端控制器DispatcherServlet -->
  <servlet>
    <servlet-name>springmvc</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <!-- 對應上一步建立全局配置文件的文件名以及目錄 -->
        <param-value>classpath:springmvc.xml</param-value>
    </init-param>
  </servlet>
 
  <servlet-mapping>
    <servlet-name>springmvc</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>
</web-app>
View Code

 

五、編寫處理器 Handler

package com.ys.controller;
 
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
 
public class HelloController implements Controller{
 
    @Override
    public ModelAndView handleRequest(HttpServletRequest request,
            HttpServletResponse response) throws Exception {
        ModelAndView modelView = new ModelAndView();
        //相似於 request.setAttribute()
        modelView.addObject("name","張三");
        modelView.setViewName("/WEB-INF/view/index.jsp");
        return modelView;
    }
 
}
View Code

  

六、在 springmvc.xml 文件中配置 Handler,處理器映射器,處理器適配器,以及試圖解析器  

  在 springmvc.xml 文件中添加以下代碼:spring-mvc

<!-- 配置Handler -->   
<bean name="/hello.do" class="com.ys.controller.HelloController" />
   <!-- 配置處理器映射器
    將bean的name做爲url進行查找,須要在配置Handler時指定bean name(就是url)-->
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping" />
   <!-- 配置處理器適配器,全部適配器都得實現 HandlerAdapter接口 -->
   <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter" />
 
<!-- 配置視圖解析器
    進行jsp解析,默認使用jstl標籤,classpath下得有jstl的包-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" />
View Code

 

 七、在  /WEB-INF/view 目錄下建立 index.jsp 文件

  

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
hello:${name}
</body>
</html>
View Code
相關文章
相關標籤/搜索