springMVC框架整理

版权声明:转载请标注哦!^v^ https://blog.csdn.net/qq_36474549/article/details/81566546

步骤:

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

猜你喜欢

转载自blog.csdn.net/qq_36474549/article/details/81566546