Java Web中的mapper,service,controller,model究竟分别是什么作用?

如题所述

java web中mapper是对象持久化映射层,一般会继承ibatis或者mybatis servive是一些业务逻辑的处理层,controller是控制层,相当于mvc的c层,model是数据模型层相当于mvc的m层。

    Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言

    Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编译、到处执行”的跨平台特性。

    不过,每次的编译执行需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。但在 J2SE 1.4.2 发布后,Java 的执行速度有了大幅提升。   

    与传统程序不同,Sun 公司在推出 Java 之际就将其作为一种开放的技术。全球数以万计的 Java 开发公司被要求所设计的 Java 软件必须相互兼容。

    “Java 语言靠群体的力量而非公司的力量”是 Sun 公司的口号之一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同。   

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-10-21
Controller(控制层):后台总控制器,接收所有前台传过来的请求,再把它分配到它需要调的service里,相当于前后台的入口(Controller可以有多个,比如可以有10个不频繁访问的服务,可以用一个Controller来控制,另外两个访问频繁的用另一个Controller控制,分开均衡一点)
Services(业务层)【应用层】:所有的逻辑在Services里,逻辑,算法,都是由Services构成的(可以理解成Services里面写核心算法,比如if,else,通过JAVA来实现逻辑的变化,数据的变化)一个按钮对应一个service,所有请求先到controller里面,然后再去找它要哪个服务,再创建一个对应的实例。(简单的项目也可以不用控制器,直接前台调services,但一般都会有一个控制器来管理一下服务的请求)
Dao(持久层):接口(应用层和数据层的接口),只定义对象,不定义具体的内容,之所以有Dao,是为了让Services可以直接用里面定义好的东西,没有Dao的话是调不到的,相当于是在Services里调的是一个接口,Spring运行的时候Spring和Mybatis实时在里面生成方法,实际生成的方法在jar包里面。每添加一个方法,一个SQL,要在Dao里添加一个接口的定义。通过Dao找Mapper文件下的同名的SQL语句,一个Dao对应一个Mapper
Mapper【数据层】:写在xml文件里,里面写对应的SQL语句,实现在数据库中怎么查找。所有的xml都是配置文件,给程序去读取的
Model:保存着与数据库表所对应的结构体,作用是方便用表的结构体,增加Mapper的易用性,把所有SQL字段变成变量放在里面,根据表结构自动生成
第2个回答  推荐于2018-02-26
MVC的设计模式。model层就是实体类,对应数据库的表。controller层是Servlet,主要是负责业务模块流程的控制,调用service接口的方法,在struts2就是Action。Service层主要做逻辑判断,Dao层是数据访问层,与数据库进行对接。至于这个Mapper是mybtis框架的映射用到,mapper映射文件在dao层用。我也是新手,认识粗俗,希望对你有帮助。本回答被网友采纳
第3个回答  2016-01-27
Java Web中的mapper,service,controller,model作用分别是:
java web中mapper是对象持久化映射层,一般会继承ibatis或者mybatis
servive是一些业务逻辑的处理层
controller是控制层,相当于mvc的c层
model是数据模型层相当于mvc的m层
相似回答