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響應使用者
組建說明:
- 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