三个架构有 表示层,业务逻辑层,数据访问层,
表示层是web显示,给用户看的,数据访问层是dao的关于数据库的操作,业务逻辑层是service的,那servlet是在哪个层?接触到的一个小项目里,servlet可以直接调用dao层的,那service有什么用?和servlet有什么区别?
servlet为控制层(controller)负责接收参数,调用业务,跳转页面的。service是用来处理业务的,可能调用多次dao,servlet也可以调用多次service,目的是减少重复代码。
整体概念
Servlet是Java对于Web开发而产生的一项技术,可以说Servlet技术是Java专有的,它是服务器端的技术,客户端通常是浏览器,Servlet提供了请求/响应模式,是JAVA的一种规范,只能使用于Java上
数据传输
Servlet使用Http协议传输数据,如果你用Servlet返回XML,那个XML的描述框架就是你定的,必须告知使用者具体的说明,没有统一标准。
Webservice使用固定的XML格式封装成soap消息,可以使用Http作为底层数据传输,但并不局限于Http协议,方法返回消息是有标准的。 Web Service的优点在于可以传递对象(其实是结构化的数据),从而对异构系统来说更有优势。
返回结果
Servlet返回的数据比较简单。
Web Service返回的可以是复杂对象,甚至使用附件或者mutidata的二进制文件。
跨平台性
Servlet依赖于Java平台。
Web Service是跨平台的,无论什么在什么平台使用什么语言开发的Web Service,其他平台上的任何语言都能调用
MVC:Model-View-Control,
Model:模型层,由Javabean、DAO来实现,用于处理应用程序数据逻辑,负责在数据库中存取数据
View:视图层,由JSP、JavaScript等等实现,在前台页面显示
Control:控制层,由servlet实现,用来接收、处理客户端提交的请求,再将处理结果反馈给客户端