mvc 订阅
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。 展开全文
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。
信息
外文名
MVC框架
全    名
Model View Controller
类    别
软件构件模式
中文名
MVC
架构内容
视图,模型,控制器
MVC框架简介
MVC开始是存在于桌面程序中的,M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据可以分别用柱状图、饼图来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。 [1-2]  模型-视图-控制器(MVC)是Xerox PARC在二十世纪八十年代为编程语言Smalltalk-80发明的一种软件设计模式,已被广泛使用。后来被推荐为Oracle旗下Sun公司Java EE平台的设计模式,并且受到越来越多的使用ColdFusion和PHP的开发者的欢迎。模型-视图-控制器模式是一个有用的工具箱,它有很多好处,但也有一些缺点。 [3]  (概述内容来源: [4]  )
收起全文
精华内容
参与话题
问答
  • MVCSpringMVC

    2017-11-12 18:44:00
    1、MVC MVCMVC是一种设计模式 MVC的原理图: 分析: M-Model 模型(完成业务逻辑:有javaBean构成,service+dao+entity) V-View 视图(做界面的展示 jsp,html……) C-Controller 控制器(接收请求—>调用...

    1、MVC

    MVC:MVC是一种设计模式
    MVC的原理图:


    分析:

    M-Model 模型(完成业务逻辑:有javaBean构成,service+dao+entity)
    V-View 视图(做界面的展示  jsp,html……)
    C-Controller 控制器(接收请求—>调用模型—>根据结果派发页面)

    2、SpringMVC

        SpringMVC是一个MVC的开源框架

        SpringMVC=Struts2+Spring   , SpringMVC就相当于是Struts2加上Sring的整合

        SpringMVC是Spring的一个后续产品,其实就是Spring在原有基础上,又提供了web应用的MVC模块,可以简单的把SpringMVC理解为是Spring的一个模块

    (类似AOP,IOC这样的模块),网络上经常会说SpringMVC和Spring无缝集成,其实SpringMVC就是Spring的一个子模块,所以根本不需要同Spring进行整合。


    SpringMVC的原理图:




    看到这个图大家可能会有很多的疑惑,现在我们来看一下这个图的步骤:(可以对比MVC的原理图进行理解)

    第一步:  用户发起请求到前端控制器(DispatcherServlet)
    第二步:前端控制器请求处理器映射器(HandlerMappering)去查找处理器(Handle):通过xml配置或者注解进行查找
    第三步:找到以后处理器映射器(HandlerMappering)像前端控制器返回执行链(HandlerExecutionChain)
    第四步:前端控制器(DispatcherServlet)调用处理器适配器(HandlerAdapter)去执行处理器(Handler)
    第五步:处理器适配器去执行Handler
    第六步:Handler执行完给处理器适配器返回ModelAndView
    第七步:处理器适配器向前端控制器返回ModelAndView
    第八步:前端控制器请求视图解析器(ViewResolver)去进行视图解析
    第九步:视图解析器像前端控制器返回View
    第十步:前端控制器对视图进行渲染
    第十一步:前端控制器向用户响应结果


    看到这些步骤我相信大家很感觉非常的乱,这是正常的,但是这里主要是要大家理解springMVC中的几个组件:

    前端控制器(DispatcherServlet):接收请求,响应结果,相当于电脑的CPU。
    处理器映射器(HandlerMapping):根据URL去查找处理器
    处理器(Handler):(需要程序员去写代码处理逻辑的)
    处理器适配器(HandlerAdapter):会把处理器包装成适配器,这样就可以支持多种类型的处理器,类比笔记本的适配器(适配器模式的应用)
    视图解析器(ViewResovler):进行视图解析,多返回的字符串,进行处理,可以解析成对应的页面

    https://www.cnblogs.com/xiaoxi/p/6164383.html

    展开全文
  • SpringMVC简介

    千次阅读 2019-10-13 15:55:10
    SpringMVC是一个WEB框架,基于MVC的理念而设计,是目前最主流的MVC框架之一。 SpringMVC的特点: SpringMVC3.0之后的版本超越了Struts2,成为最优秀的web框架。 SpringMVC通过MVC注解,让POJO成为处理请求的控制器...

    SpringMVC概念:

    SpringMVC是一个WEB框架,基于MVC的理念而设计,是目前最主流的MVC框架之一。

    SpringMVC的特点:

    • SpringMVC3.0之后的版本超越了Struts2,成为最优秀的web框架。
    • SpringMVC通过MVC注解,让POJO成为处理请求的控制器,而且它不需要实现任何额外的接口。
    • SpringMVC支持REST风格的URL请求。
    • SpringMVC和其他MVC框架相比,具有更高的灵活性和可扩展性。

     

    展开全文
  • MVC是一种架构分层模式web MVC是指在web领域下实践的MVC,因为web领域的视图层跟native应用的视图层不太能划等号Spring MVC和Spring Web MVC是同一个东西,就是Spring Framework里的一个模块。在Spring Framework ...

    MVC 是一种架构分层模式

     

    web MVC 是指在 web 领域下实践的 MVC,因为 web 领域的视图层跟 native 应用的视图层不太能划等号

     

    Spring MVC 和 Spring Web MVC 是同一个东西,就是 Spring Framework 里的一个模块。

    在 Spring Framework 介绍页面 写的是 Spring MVC,然而点进去后具体的描述页面 使用 Spring Web MVC 来称呼,文档里有这么一句话:

    The formal name "Spring Web MVC" comes from the name of its source module spring-webmvc but it is more commonly known as "Spring MVC".

    所以说正式名称叫 Spring Web MVC,不过大多数人都喜欢叫 Spring MVC。

    展开全文
  • SpringMVC是Spring的一个模块,是Spring提供的一个实现了WEB MVC 设计模式的轻量级的框架(基于MVC的web层框架)。与Struts2框架一样,都属于MVC框架,当然就无须通过中间层的框架去进行整合了。 特点: 灵活性...

    没有什么正确的选择,努力将自己的选择变的正确。

    1.什么是SpringMVC?

    SpringMVC是Spring的一个模块,是Spring提供的一个实现了WEB MVC 设计模式的轻量级的框架(基于MVC的web层框架)。SpringMVC作为控制器去建立模型和视图进行视图的数据交互。本质就是servlet,与Struts2框架一样,都属于MVC框架,当然就无须通过中间层的框架去进行整合了。

    特点:

    • 灵活性强,容易与其它框架集成
    • 提供了前端的DispatcherServlet控制器
    • 自动绑定用户的输入,正确的转换数据类型
    • 内置了常见的校验器,用于校验用户的输入
    • 支持国际化
    • 支持多种视图技术
    • 使用基于基础的XML文件

    2.什么是MVC

    MVC是一种设计模式,C指的就是controller(控制器),M是model(模型)及是通常我们所建的那些类,V(视图层)就是那些前端所能看见的页面

    3.服务器端的三层架构

    表现层:如SpringMVC,接受客户端传过来的请求,和用户进行数据交互的,表现层一般会采用MVC设计模式。

    业务层:如Spring,处理一些业务逻辑。

    持久层:如Mybatis,用来操作数据库的。

    4.SpringMVC的原理分析

    1. 前端发起请求到前端控制器DispatcherServlet
    2. 前端控制器请求HandlerMapping查找Handler(映射的请求)
    3. 处理器映射器HandlerMapping向前端控制器返回Handler
    4. 前端控制器去调用处理器适配器HandlerAdapter去执行Handler
    5. Handler执行完成后给适配器返回ModelAndView
    6. 前端控制器通过视图解析器ViewResolver去视图解析
    7. 视图解析器ViewResolver向前端返回View
    8. 前端控制器进行视图渲染
    9. 前端控制器返回结果
      组件
      DispatcherServlet前端控制器:用于接收请求,响应结果
      HandlerMapping处理器映射器:根据请求,查找Handler
      处理器适配器HandlerAdapter:按照一定的规则去执行Handler
      视图解析器ViewResolver:进行视图解析
      视图View:是一个接口,支持不同的view类型

    下面就通过构建一个简单的SpringMVC的实例来了解一下SpringMVC的原理

    准备工作:使用IDEA工具maven构建web项目导入Spring以及SpringMVC支持的依赖,这里一一列出

    pom.xml里面的依赖不一定都需要,开发SpringMVC导入(我全导入是因为以后好复制~~)

    <properties>
            <springframework.version>5.0.4.RELEASE</springframework.version>
        </properties>
        <dependencies>
            <dependency>
                <groupId>org.aspectj</groupId>
                <artifactId>aspectjrt</artifactId>
                <version>1.9.2</version>
            </dependency>
    
            <dependency>
                <groupId>org.aspectj</groupId>
                <artifactId>aspectjweaver</artifactId>
                <version>1.9.2</version>
            </dependency>
    
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.11</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-test</artifactId>
                <version>${springframework.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-beans</artifactId>
                <version>${springframework.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context</artifactId>
                <version>${springframework.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-core</artifactId>
                <version>${springframework.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-web</artifactId>
                <version>${springframework.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-webmvc</artifactId>
                <version>${springframework.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-jms</artifactId>
                <version>${springframework.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-tx</artifactId>
                <version>${springframework.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context-support</artifactId>
                <version>${springframework.version}</version>
            </dependency>
    
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>servlet-api</artifactId>
                <version>2.5</version>
            </dependency>
        </dependencies>
    

    配置web.xml文件: 映射|请求至前端控制器

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
             version="4.0">
         <!--配置前端控制器--> 
        <servlet>
            <servlet-name>springmvc</servlet-name>
            <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
            <!--定位spingmvc配置文件的位置-->
            <init-param>
                <param-name>contextConfigLocation</param-name>
                <param-value>classpath:springmvc.xml</param-value>
            </init-param>
            <load-on-startup>1</load-on-startup>
        </servlet>
         <!--/代表映射所有的请求,不包括.jsp-->
         <!--/*代表映射所有的请求,包括.jsp-->
        <servlet-mapping>
            <servlet-name>springmvc</servlet-name>
            <url-pattern>/</url-pattern>
        </servlet-mapping>
    </web-app>
    

    配置springmvc.xml文件在类路径下

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="
       http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
        <!--处理器映射器-->
        <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean>
        <!--处理器适配器-->
        <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"></bean>
        <!--视图解析器-->
        <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <property name="prefix" value="/WEB-INF/jsp/" />
            <property name="suffix" value=".jsp" />
        </bean>
    
        <!--handler-->
        <bean id="/hello" class="com.jektong.controller.HelloController"></bean>
    </beans>
    

    HelloController.java处理业务

    /**
     * @author jektong
     * @Date 2020/7/1-20:40
     */
    public class HelloController implements Controller {
        @Override
        public ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {
        	//实例化模型对象
            ModelAndView mv = new ModelAndView();
            //添加参数
            mv.addObject("msg", "hello,springmvc");
            //返回视图名称hello.jsp
            mv.setViewName("hello");
            return mv;
        }
    }
    

    hello.jsp:

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>Title</title>
    </head>
    <body>
        ${msg}
    </body>
    </html>
    
    

    效果:
    在这里插入图片描述
    根据流程和基本的SpringMVC项目进行体会其原理!!!

    您的每一个赞都是我学习的动力!一起加油吧!

    展开全文
  • SpringMVC面试题总结

    千次阅读 2019-05-22 21:14:30
    第一部分将从源码的执行的角度分析SpringMVC(以后简称MVC) 第二部分将从面试官常问的SpringMVC面试题取介绍 SpringMVC源码介绍 1.http://localhost:8000/hello这个路径的执行流程是怎么走的 流程大致分析一下...
  • 我理解的mvcspringmvc

    2016-10-12 11:34:09
    问题:springMVCmvc框架???? 为什么我感觉只是处理了请求地址,和返回的视图。 V还是jsp,或者其他。 M还是 service+javabean+dao springMVC还是 C吧?? 这里怎么理解。。 MVC与三层架构的对应
  • 看了公司的几个项目,发现项目的Web层框架都是采用了SpringMVC...Spring3MVC与Struts2MVC比较1、SpringMVC支持Restful url,这感觉爽,就开发效率而言,能甩struts2MVC一条街2、SpringMVC基本实现了零配置,配置好S...
  • 【Spring MVCSpringMvc工作原理

    千次阅读 2019-12-29 21:01:54
    【Spring MVC】入口Servlet详解
  • 可以通过redirect/forward:url方式转到另一个Action进行连续的处理。 可以通过redirect:url 防止表单重复提交。 写法如下: return "forward:/bussness/addOrder"; return "redirect:/index.jsp";
  • MVC思想及SpringMVC设计理念

    万次阅读 多人点赞 2018-08-10 14:11:13
    1:什么是MVC  MVC(Model View Controller)是一种软件设计的框架模式,它采用模型(Model)-视图(View)-控制器(controller)的方法把业务逻辑、数据与界面显示分离。把众多的业务逻辑聚集到一个部件里面,当然这种...
  • 文章目录SpirngMVC介绍MVC模式图解SpringMVC的工作原理图SpringMVC小案例最终效果图1. 环境准备`pom.xml`2. 准备bean对象`Person`3. 用`PersonDb`模拟查询数据4. 核心配置文件`springmvc.xml`5. 配置`web.xml`配置`...
  • SpringMVC mvc:interceptor拦截器配置

    千次阅读 热门讨论 2017-04-27 10:54:36
    List: 1.需求 2.原理实现 3.总结  ...……1.... 系统间数据调用需要使用token令牌进行握手,如果没有令牌就不能获取数据。后台使用rest开发接口,...springmvc有个interceptor的使用。就是将自定义的拦截器挂到拦截器
  • SpringMVC框架

    千次阅读 2019-11-28 19:12:18
    SpringMVC是一个基于MVC的web框架 SpringMVC主要用于替代servelt – 传统一个servelt负责处理一个请求,若项目请求很多就需要很多servelt类,并且web.xml配置量太多,不利于开发 SpringMVC执行原理 前端控制器...
  • 本文源自【大学之旅_谙忆的博客】 今天写SpringMVC的拦截器的时候,遇到这样一个错误, Element mvc:exclude-mapping is not allowed here. <!-- SpringMVC拦截器 --> <mvc:interceptors> <mvc:
  • 精通spring mvc 4 看透springmvc pdf 高清完全版 完全版
  • MVC框架模式与SpringMVC框架

    万次阅读 多人点赞 2017-11-12 21:33:46
    1. 框架与设计模式 框架、设计模式这两个概念很容易被人混淆,但其实这两者之间还是存在差别的。框架通常是代码重用,而设计模式是设计重用。  设计模式是对反复出现的问题的解决方案的描述,是一种思想用于...
  • SpringMVC学习、MVC三层架构与SpringMVC原理 *SpringMVC ** SSM:Mybatis + Spring + SpringMVC MVC# MVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范。 是将业务逻辑、数据、显示...
  • 自己动手模仿 springmvc 写一个 mvc框架

    千次阅读 热门讨论 2017-05-27 10:23:09
    spring的知识那么多,看源码也不知从何看起,那应该怎么学...bfmvc模仿springmvc的轻量级web框架,适合学习和搭建小型web项目使用,持续更新项目地址:https://github.com/CFshuming/bfmvc感兴趣的记得star哟~目录介绍
  • SpringMVC| Web MVC简介

    万次阅读 2019-06-20 19:45:21
    文章目录1.1、Web开发中的请求-响应模型:1.2、标准MVC模型概述1.3、Web MVC概述1.4、Web端开发发展历程1.4.1、CGI:1.4.2、Servlet:1.4.3、JSP:1.4.4、Model1:1.4.5、Model2:1.4.5、服务到工作者:Front ...
  • springmvc是画页面还是写后台逻辑的 朋友介绍工作 公司需要springmvc 我不会springmvc 哪位大神可以可以稍微介绍介绍 临时抱佛脚一下 谢谢
  • SpringMVCMVC的区别

    万次阅读 2014-08-09 15:47:25
    SpringMVC作为MVC框架,与Struts 2 有着异曲同工之处,首先对比一下SpringMVC与Struts2的不同之处:  1. 机制:spring mvc的入口是servlet,而struts2是filter(这里要指出,filter和servlet是不同的。以前认为...
  • mvc:interceptors mvc:view-controller mvc:resources mapping都是SpringMVC配置文件中常见的标签,今天就根据具体代码来详细介绍一下这两个标签的使用方法: 一、mvc:interceptors用法 1.配置拦截器  在...
  • (1)什么是MVC架构 Model 模型层 dao/service层 业务逻辑和保存数据 ...SpringMVC是Spring框架的一部分,是基于java实现MVC的轻量级框架 * 优点: 轻量级,简单易学,高效,与Spring无缝结合,可以把Spr...
  • SpringMVC 技术详解 MVC简介

    千次阅读 2016-05-05 11:46:29
    跟开涛学SpringMVC 原文出处: 张开涛 Web MVC简介 1.1、Web开发中的请求-响应模型: 在Web世界里,具体步骤如下: 1、 Web浏览器(如IE)发起请求,如访问http://sishuok.com 2、 Web...
  • SpringMVC之WebMVC介绍

    2017-04-19 14:34:22
    一、MVC是什么   二、常用的MVC框架   三、MVC模式的优缺点   四、SpringMVC简介
  • myeclipse springmvc 开发 mvc:resources 标签报错!网上的方法都试过了,均无效。 错误提示:Error occured processing XML 'org.springframework.beans.MutablePropertyValues.get(Ljava/lang/String;)Ljava/lang/...
  • MVC、Struts、SpringMVC之间的关系什么是MVC?什么是Struts?什么是SpringMVC?Struts与SpringMVC的区别:SpringMVC常用注解: 什么是MVCMVC: 是一种架构,可以说是一种设计模式,它将视图与逻辑业务分离开来...
  • SpringMVC mvc:resources访问静态资源实战

    万次阅读 热门讨论 2018-06-03 16:41:20
    该篇博客实现SpringMVC的&amp;lt; mvc :resources location=”” mapping=”“/ &amp;gt;访问静态资源文件,也记录了一些坑 一、项目目录 注意清楚目录结构,笔者第一次的时候在这个上面填坑填了好久,...

空空如也

1 2 3 4 5 ... 20
收藏数 412,832
精华内容 165,132
关键字:

mvc