• SpringMVC基础


    在开发中service和dao层交给Spring框架而controller层则使用SpringMVC框架。

    SpringMVC如何管理浏览器发来的请求:

    请求来到服务器后,服务器【Tomcat】找到前端控制器【DispatcherServlet】;

    前端控制器【DispatcherServlet】接收任何请求,但不做处理,把请求交给处理器映射器【HandlerMapping】;

    处理器映射器【HandlerMapping】根据请求的路径,根据路径去找可执行的组件,并把映射到的组件串起来返回,即处理器执行链【HandlerExecutionChain】返回至前端控制器【DispatcherServlet】;

    前端控制器【DispatcherServlet】不执行改内容,并把返回处理器执行链【HandlerExecutionChain】交给处理器适配器【HandlerAdaptor】;

    处理器适配器【HandlerAdaptor】可以与处理器【Handler】执行返回处理器执行链【HandlerExecutionChain】内容完毕并输出一个模型和视图【ModelAndView】给前端控制器【DispatcherServlet】;

    前端控制器【DispatcherServlet】把模型和视图【ModelAndView】交给视图解析器【ViewResolver】返回视图对象【View】给前端控制器【DispatcherServlet】;

    前端控制器【DispatcherServlet】渲染对象【View】为视图页面【jsp】并且返回给请求来源。

    SpringMVC开发步骤:

    导入SpringMVC坐标:

    导入坐标后还需要配置SpringMVC

    编写Controller

    @RequestMapping("/user")注解如果写在UserController上面

    那么请求地址会从http://localhost:8080/test变为http://localhost:8080/user/test

    return


    是对

    转发forward的省略,同样可以换成重定向redirect

    jsp存放位置:

    写完注解配置后Spring并不能知道我们的配置,需要进行扫描,但是我们不会把扫描写道applicationContext.xml中,我们会专门写一个spring-mvc.xml来专门配置SpringMVC

    配置Spring-mvc配置文件

    首先复制并把beans改为context来添加引用,然后只扫描controller包

    这里内部资源视图解析器的前后字符串配置要与jsp文件位置一致

    然后我们必须加载spring-mvc.xml

    在web.xml中配置前端控制器

    其中这一步是为了加载spring-mvc.xml

    通常有两种配置的方式:

    /缺省配置:除了jsp文件以外的所有请求都被当前Servlet接收,会覆盖tomcat自带的DefaultServlet的缺省配置,所以要自行处理静态资源

    *.xxx扩展名匹配:不会接收jsp,可以有效规避静态资源(.html)处理问题

    获得POJO类型参数

    Controller中的业务方法的POJO参数的属性名与请求参数的name一致,参数值会自动映射匹配

    user类:

    UserController类:

    运行测试

    test


    这是转发

    user


    SpringMVC流程图


    前端控制器是一个Servlet,Servlet里接受请求返回视图的就是Service

  • 相关阅读:
    python3监控网站状态
    暴力屏蔽80访问失败的用户
    python3爬取中国药学科学数据
    python3发邮件脚本
    OOP AOP
    lambda
    jni
    Gradle史上最详细解析
    supersocket 遇到的Failed to initialize 和 log4net用法
    在c#中利用keep-alive处理socket网络异常断开的方法
  • 原文地址:https://www.cnblogs.com/maomaodesu/p/12268886.html
Copyright © 2020-2023  润新知