JavaEESpringMVC基礎整理

一、什麼是 SpringMVC ?html

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

  

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

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

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

 

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

  

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

 

三、新建 SpringMVC 全局配置文件

  在 src 目錄下新建 springmvc.xml 文件,並添加以下代碼:spring-mvc

  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?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>

  

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?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>

  

  

五、編寫處理器 Handler

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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;
     }
 
}

  

 

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

  在 springmvc.xml 文件中添加以下代碼:安全

1
2
3
4
5
6
7
8
9
10
11
<!-- 配置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" />

  

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

  

1
2
3
4
5
6
7
8
9
10
11
12
<%@ 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>

  

八、在瀏覽器輸入 http://localhost:8080/SpringMVC_01/hello.do

   

 

   跟着上面的步驟,相信你已經搭建了一個 SpringMVC 的簡單實例,那麼爲何要這麼寫呢?請看下一篇博客分解!!架構

相關文章
相關標籤/搜索