[springmvc]springmvc的实现流程原理,以及快速创建一个三层架构项目

1.回顾mvc

模型

  • 模型(dao,service):业务逻辑,保存数据的状态

视图

  • 视图(jsp,html……):展示页面

控制器

  • 控制(servlet):取得表单数据,调用业务逻辑,转向指定的页面

2.认识springMvc

  • 轻量级,简单易学
  • 高效,基于请求响应
  • 与spring可以无缝结合
  • 约定优于配置
  • 功能强大:restful风格,数据验证,格式化,本地化
  • 简洁灵活

[springmvc]springmvc的实现流程原理,以及快速创建一个三层架构项目

在以前的学习中,我们总是根据不同的需求请求不同的servlet,那么对于用户来说,这一步骤就非常麻烦,要不断的转换请求,为了解决这一问题,在原有的架构基础上面加上一层,专门用来处理这些请求,用户只需要请求 上面的一层即可。它就是DispatcherServlet

实际上这个DispatcherServlet它本身也是一个servlet。

实现原理:

[springmvc]springmvc的实现流程原理,以及快速创建一个三层架构项目

[springmvc]springmvc的实现流程原理,以及快速创建一个三层架构项目

快速搭建一个springmvc项目

方式一 实现类

(1)配置web文件


        springmvc
        org.springframework.web.servlet.DispatcherServlet

            contextConfigLocation
            classpath:springmvc-servlet.xml

        1

        springmvc
        /

(2)配置spring核心文件


(3)调用控制器层跳转

package com.spring.controller;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * @author panglili
 * @create 2022-07-25-12:01
 */
public class HelloController implements Controller {
    public ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {
        ModelAndView view = new ModelAndView();

        //业务代码
        String result="HelloSpringMvc";
        view.addObject("msg",result);
        //视图跳转
        view.setViewName("WEB-INF/jsp/test.jsp");

        return view;

    }
}

(4)视图层接受数据传给用户


    Title

${msg}

[springmvc]springmvc的实现流程原理,以及快速创建一个三层架构项目

方式二 注解实现

(1)配置web文件

  • 跟上面实现类的相同

(2)配置spring文件


(3)控制器类实现界面跳转

package com.spring.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

/**
 * @author panglili
 * @create 2022-07-25-13:15
 */
@Controller
public class hello {

    @RequestMapping("/hello")
    public String hello(Model md){
        md.addAttribute("msg","helloooo");
        return "hello";
    }
}

(4)视图跳转

  • 同实现类相同

Original: https://www.cnblogs.com/lumanmanqixiuyuanxi/p/16544514.html
Author: 路漫漫qixiuyuanxi
Title: [springmvc]springmvc的实现流程原理,以及快速创建一个三层架构项目

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/619547/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球