博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringMVC---02---SpringMVC工作流通(详细图文)、使用注解进行SpringMVC开发
阅读量:4131 次
发布时间:2019-05-25

本文共 2709 字,大约阅读时间需要 9 分钟。

目录

5 SpirngMVC工作流程图文

5.1 SpringMVC执行流程图

在这里插入图片描述

ps:

  • 前端控制器也就是DisPatcherServlet。

5.2 SringMVC工作原理图

在这里插入图片描述

相关路径的具体文字说明:

1. DispatcherServlet表示前置控制器,是整个SpringMVC的控制中心,用户发来请求,DispatcherServlet接收请求并拦截请求。

2. HandlerMapping是处理器映射器,被DispatcherServlet调用,HandlerMapping根据请求Url查找Handler。

3. HandlerExcuter 表示具体的Handler,其主要作用是根据url查找控制器。

4. HandlerExcuter 会将一些解析后的信息返回给DispatchServlet,例如解析控制器映射等。

5. HandlerAdapter 表示处理器适配器,其按照特定的顺序去执行Handler。

6. Handler让具体的Controller去执行。

7. 返回一个具体执行信息给HandlerAdapter,如ModelAndView。

8. HandlerAdapter返回一个具体的ModelAndView给DispatcherServlet.

9. DispatcherServlet把ModelAndView传给视图解析器解析HandlerApater传递过来的逻辑视图名。

10. ViewResolver将解析完的逻辑视图名传给DispatcherServlet.

11. Diapatcher根据视图解析器返回的逻辑视图名,去调用具体的视图。

12. 最终将视图呈现给用户。

重新写了HelloSpringMVC项目,发现了几个问题:

  • 在Controller中写setViewName的时候只是写对应页面的名字。因为在springmvc-servlet.xml中对ModelAndView设置了默认添加前缀和后缀。
  • 在springmvc-servlet.xml中配置bean的时候,相关的conrtonl类对应的id是\页面名.

6 使用注解进行SpringMVC开发

6.1 编写web.xml文件,配置DispatcherServlet
springmvc
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:springmvc-servlet.xml
1
springmvc
/

注意事项:

  • 注意web.xml的版本问题,一定是要最新版的
  • 映射路径不能是/* 会导致报错404,因为.jsp无限循环。
  • 要在web.xml中配置DispatcherServlet。
  • 启动级别为1,数字越小启动越早。和服务一起启动。

6.2 编写SpringMVC对应的springmvc-servlet.xml配置文件:

在这个配置文件中要达到的目的:

  • 让IOC的注解生效
  • 静态资源过滤:HTML、JS、CSS、图片、视频。。。

为了支持基于注解的IOC,设置了自动扫描包的功能

//配置前缀后缀,让从ModelAndView中返回的页面名加上前缀后缀

这个文件是固定的格式。

6.3 编写继承Controller的类(作为例子需要)

@Controller@RequestMapping("/HelloController")public class MyController {
//真实访问地址:localhost:端口号/HelloController/hello @RequestMapping("/hello") public String hello(Model model){
//封装数据,向模型中添加属性msg和值,可以在JSP页面中取出并渲染 model.addAttribute("msg","Hello,SpringMVCAnnotation"); return "hello";//返回视图名称,会被视图解析器处理转变成对应的页面名 }}

6.4 要注意的地方

  • @Controller 注解是为了让Spring IOC容器初始化时自动扫描到
  • @RequestMapping是为了映射请求路径,这里因为类和方法上都有映射所以访问时应该时/HelloController/hello;
  • 方法中声明的Model是为了把Action中的数据带到视图中。
  • 方法返回的结果是视图的名称hello,再加上配置文件的前后缀就变成了/WEB-INF/jsp/hello.jsp

步骤小结:

  • 创建一个web项目。
  • 导入相应的jar包。
  • 编写web.xml,在其中注册DispatcherServlet的servlet。
  • 编写springmvc-servlet.xml配置文件,这个文件是为了将工作交给Spring管理。
  • 创建对应的控制类,controller
  • 最后完善前端视图和conrtoller之间的对应
  • 测试运行调试

使用SpringMVC必须的三大组件:

  • 处理器映射器
  • 处理器适配器
  • 视图解析器

处理器映射器和处理器适配器由Spring容器负责,要做对应的xml文件中开启注解驱动<mvc:annotation-driven />annotation-driven 帮助我们自动完成上述两个实例的注入。我们需要的是自己在xml配置文件中编写视图解析器。

转载地址:http://xfdvi.baihongyu.com/

你可能感兴趣的文章
2019年哪些外快收入可达到2万以上?
查看>>
【JavaScript 教程】标准库—Date 对象
查看>>
前阿里手淘前端负责人@winter:前端人如何保持竞争力?
查看>>
【JavaScript 教程】面向对象编程——实例对象与 new 命令
查看>>
我在网易做了6年前端,想给求职者4条建议
查看>>
SQL1015N The database is in an inconsistent state. SQLSTATE=55025
查看>>
RQP-DEF-0177
查看>>
Linux查看mac地址
查看>>
Linux修改ip
查看>>
MySQL字段类型的选择与MySQL的查询效率
查看>>
Java的Properties配置文件用法【续】
查看>>
JAVA操作properties文件的代码实例
查看>>
IPS开发手记【一】
查看>>
Java通用字符处理类
查看>>
文件上传时生成“日期+随机数”式文件名前缀的Java代码
查看>>
Java代码检查工具Checkstyle常见输出结果
查看>>
北京十大情人分手圣地
查看>>
Android自动关机代码
查看>>
Android中启动其他Activity并返回结果
查看>>
2009年33所高校被暂停或被限制招生
查看>>