1. 程式人生 > >springMVC框架整理

springMVC框架整理

步驟:

1.新建動態web工程

2.匯入Jar包

3.配置web.xml(Dispatcher, servlet Filtter)

注:   *.action (只攔截jsp)     / (攔截所有,唯一除了jsp)   /*(攔截所有)

<?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_2_5.xsd"

id="WebApp_ID" version="2.5">

<display-name>springmvc-xxxx</display-name>

<welcome-file-list>

<welcome-file>index.jsp</

welcome-file>

</welcome-file-list>

 

<!-- 配置SpringMVC前端控制器 -->

<servlet>

<servlet-name>springmvc-xxxx</servlet-name>

<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

<!-- 指定SpringMVC配置檔案 -->

<!-- SpringMVC的配置檔案的預設路徑是/WEB-INF/${servlet-name}-servlet.xml -->

<init-param>

<param-name>contextConfigLocation</param-name>

<param-value>classpath:springmvc.xml</param-value>

</init-param>

</servlet>

<servlet-mapping>

<servlet-name>springmvc-xxxx</servlet-name>

<!-- 設定所有以action結尾的請求進入SpringMVC -->

<url-pattern>*.action</url-pattern>

</servlet-mapping>

</web-app>

4.編寫pojo類

5.配置springmvc.xml 配置掃描 @Controller  @RequestMapping  處理器介面卡  檢視解析器

<!-- 配置controller掃描包,多個包之間用,分隔 -->

<context:component-scan base-package="cn.itcast.springmvc.controller" />

<!-- 配置處理器對映器 -->

<bean

class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping" />

<!-- 配置處理器介面卡 -->

 

<!-- 註解驅動,可以替代註解處理器和介面卡的配置 -->

<!-- <mvc:annotation-driven /> -->

 

<bean

class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter" />

<!-- 配置檢視解析器 -->

<bean

class="org.springframework.web.servlet.view.InternalResourceViewResolver">

<!-- 配置邏輯檢視的字首 -->

<property name="prefix" value="/WEB-INF/jsp/" />

<!-- 配置邏輯檢視的字尾 -->

<property name="suffix" value=".jsp" />

</bean>

6.編寫Handler, Controller程式設計師自己寫 @RequestMapping(value= “/xxx/xxx.action”)

@Controller

public class XxxController {

// @RequestMapping:裡面放的是請求的url,和使用者請求的url進行匹配

// action可以寫也可以不寫

@RequestMapping("/xxx.action")

public ModelAndView queryItemList() {

// 建立ModelAndView,用來存放資料和檢視

ModelAndView modelAndView = new ModelAndView();

// 設定資料到模型中

modelAndView.addObject("xxxx", xxxx);

// 設定檢視jsp,需要設定檢視的實體地址 /WEB-INF/jsp/xxx.jsp

modelAndView.setViewName("xxx");

return modelAndView;

}

}

6.編寫對應JSP頁面

框架:

工作流程:

1.使用者傳送請求到前端控制器 DispatcherServlet

2.DispatcherServlet收到請求呼叫HandlerMapping

3.HandleMapping根據請求url找到具體的處理器,生成處理器物件及攔截器(有則生成),一併返給DispatcherSerlet

4.DispatcherSerlet通過HandleAdapter呼叫處理器

5.Contrller(後端處理器)執行返回ModelAndView

6.DispacherServlet將ModelAndView返給檢視解析器ViewReslover(解析:組裝地址,找到具體jsp實體地址)

7.ViewReslover解析後返給View檢視渲染(渲染:將資料模型填充到檢視中)

8.DispacherServlet響應使用者

 

組建說明:

  1. DispatcherServlet:前端控制器

     dispatcherServlet是整個流程控制的中心,由它呼叫其它元件處理使用者的請求,降低了元件之間的耦合性

     2.HandlerMapping:處理器對映器

      HandlerMapping負責根據使用者請求url找到Handler即處理器

     3.Handler:處理器

     Handler 是繼DispatcherServlet前端控制器的後端控制器,在DispatcherServlet的控制下Handler對具體的使用者業務請求進行處理。

     4.HandlAdapter:處理器介面卡

     通過HandlerAdapter對處理器進行執行。

     5.ViewResolver:檢視解析器

     View Resolver首先根據邏輯檢視名解析成物理檢視名即具體的頁面地址,再生成View檢視物件 

     6.View:檢視

     檢視型別的支援包括:jstlView、freemarkerView、pdfView等,最常用的檢視就是jsp

     

說明:處理器對映器、處理器介面卡、檢視解析器稱為springmvc的三大元件。

           需要使用者開發的元件有handler、view