栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【Spring】SpringMVC

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【Spring】SpringMVC

一、MVC三层架构

MVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范。是将业务逻辑、数据、显示分离的方法来组织代码。MVC的主要作用是降低了视图与业务逻辑间双向耦合。MVC不是一种设计模式,而是一种架构模式。

Model(模型)
负责封装应用的状态,并实现应用的功能。通常又分为数据模型(dao)和业务逻辑模型(service),数据模型用来存放业务数据,而业务逻辑模型包含应用的业务操作。

View(视图)
负责将模型的内容展现给用户,一般就是我们看到的用户界面,客户想看到的东西。

Controller(控制器)
接收用户请求,处理业务逻辑,并将处理完毕后的模型数据返回给视图,由视图负责展示。

二、SpringMVC 2.1 组件

    前端控制器 DispatcherServlet
    它是整个SpringMVC的控制中心,用于接收并拦截请求,响应结果。

    处理器映射器 HandlerMapping
    供 DispatcherServlet 调用,根据请求的url查找Handler。

    处理器适配器 HandlerAdapter
    按照特定规则(HandlerAdapter要求的规则)去执行Controller。

    视图解析器 ViewResolver
    进行视图解析,根据逻辑视图名解析成真正的视图。

    处理器 Handler
    其实就是Controller。

2.2 执行原理


    用户发送请求到 DispatcherServlet, DispatcherServlet 根据请求调用 HandlerMapping 查找 Handler。DispatcherServlet 再调用 HandlerAdapter,由具体的 Controller 去执行并返回ModelAndView。DispatcherServlet 再通过 ModelAndView 去配置 ViewResolver,并返回 View。DispatcherServlet 通过 View 进行视图渲染,返回给前端。
三、开发步骤 3.1 XML配置

(1)导入SpringMVC的依赖。

(2)配置web.xml,注册|DispaerServlet。


    springmvc
    org.springframework.web.servlet.DispatcherServlet

    
    
        contextConfigLocation
        classpath:springmvc-servlet.xml
    

    
    1



    springmvc
    /

(3)在springmvc-servlet.xml配置文件中,配置处理器映射器、处理器适配器、视图解析器。








    
    
    
    

(4)编写 view 和 controller。

public class HelloController implements Controller {

    @Override
    public ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {

        // 模型和视图
        ModelAndView mv = new ModelAndView();

        // 业务代码
        String result = "hello springmvc";

        // 封装对象
        mv.addObject("msg",result);

        // 视图跳转
        mv.setViewName("hello"); // 会与视图解析器中的前缀和后缀拼接

        return mv;
    }
}

(5)将controller交给Spring容器,注册bean。


(6)配置Tomcat,启动。

【注意】可能出现404错误。需要添加 lib 依赖。

打开当前项目结构,在WEB-INF目录下,添加 lib 包,并将依赖加入其中。

3.2 注解配置
注解功能
@Controller将类标记称为Controller
@RequestMapping("/url")标记类或方法,映射访问路径

(1)配置web.xml,注册|DispaerServlet。

(2)配置 springmvc-servlet.xml 文件。










    
    

(3)编写 controller

@Controller
public class HelloController {

    @RequestMapping("/hello") // 真实访问地址
    public String hello(Model model){
        model.addAttribute("msg","hello springmvc");
        return "hello"; // 会被视图解析器处理
    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/732747.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号