当前位置:首页>开发>正文

Service,server,servlet什么关系 service serviceimpl dao daoimpl servlet jsp 他们之间的关系是什么

2023-07-29 00:51:34 互联网 未知 开发

 Service,server,servlet什么关系 service serviceimpl dao daoimpl servlet jsp 他们之间的关系是什么

Service,server,servlet什么关系

英文说?可我只想说这三个没什么值得一提的关系...

---

嘛... 源自同一个词 servus意思是奴隶||| 不过词根的词性是动词serve服务,也许是servus去掉了表名词-us,于是serve就是奴隶干的事...

-ice是名词化后缀,表示动作的内容。service就是指服务的内容,但是电脑里一般指不直接和用户交互的后台软件,为前台软件提供各种服务,并不是直接对用户的。

-er是表示动作发出者的名次化后缀。server显然就是提供服务的人。但是这个概念在电脑里很混乱... 普通人平时说的server就是服务器,在网络中以被动接受其他节点请求为主的节点。不过server严格来讲是用来处理请求的软件,乃至一个应用中用来处理请求的模块。

-let是专门在计算机领域表示非完整应用的软件模块,需要嵌入其他应用才能工作。本义是“小”的意思。Java里带-let的东西就是相对于普通的通过主类main方法启动的应用,由已经启动的程序主题实例化主类后调用主类实现的抽象方法工作的模块。servlet是应用于http服务端的这类软件模块。

service serviceimpl dao daoimpl servlet jsp 他们之间的关系是什么?

dao 主要是一些接口,里面定义copy了一些用于增删改查的方法名
daoImpl 就是对dao的具体实现
Service 同上,也是一些接口,主要是用来调用dao层的一些知方法,所以这里定义的方法一般都定义好了道参数;
serviceImp 对service的具体实现,这里会调用dao 的一些方法
servlet 调用 Service调用其方法,做一些操作
jsp 视图 显示 和输入数据

webservice和servlet的区别

首先比较下servlet和webservice下
请求:
servlet:提供了请求/响应模式,是JAVA的一种规范,只能使用于java上,用来替代早期使用的难懂的CGI,是一种无状态的请求响应,客户端访问一个服务器的url,只需要发送简单的httprequest即可。 规定了四个范围:pageContext、request、session、application。一定依赖于各种SERVLET容器,但servlet只能接受一个简单的http请求;
WebService最早是微软提出了一种以XML为载体网络信息传输的规范,现在几乎所有的语言与平台都支持,带有状态机制,不依赖于SERVLET容器,可以发送一个xml作为其请求内容,WebService通常是基于http的远程方法调用(RMI),号称是可以反回远程对象, 一般来说客户段可以象调用本地方法一样调用WebService的方法。

传输:
servlet使用http协议传输数据,如果你用Servlet返回XML,那个XML的描述框架就是你定的,必须告知使用者具体的说明,没有统一标准。
webservice使用固定的XML格式封装成soap消息,可以使用http作为底层数据传输,但并不局限于http协议,方法返回消息是有标准的。

返回结果:
servlet返回的是html页面;
webservice返回的可以是复杂对象甚至使用附件或者mutidata的二进制文件。

部署:
servlet需要遵守j2ee的Web Application规范部署的应用服务器上,如tomcat,weblogic,websphere;
WebService则需要有WSDL文件来部署服务,或者使用UDDI注册。

优势:
WebService的跨平台特性是servlet不能比的,可以被各种语言调用;
servlet相对来说速度上的优势也是不可忽视的。

接下来在看看RMI和webservice中的

rmi的客户端和服务端都必须是java,webservice没有这个限制
webservice是在http协议上传递xml文本文件,与语言和平台无关
rmi是在tcp协议上传递可序列化的java对象,只能用在java虚拟机上,绑定语言
RMI是EJB远程调用的基础,仅用RMI技术就可以实现远程调用,使用EJB是为了实现组件,事物,资源池,集群等功能。
WebService是通过XML来传输数据,可用http等协议因此可在异构系统间传递,并且可以穿过防火墙,可在公网上远程调用

谁可以告诉我jsp和servlet及service之间的关系?详细一点,谢谢!

jsp就是MVC模式里的V就是视图层用来做展示的,servlet就是C控制层,是系统的核心控制器,service其实里面还有DAO,这些就是M模型层,用来跟数据库交互的。流程上总的来说,JSP发一个数据到servlet,servlet收到后做下解析再根据数据调用相应的service去服务,service如果有要调用数据库就跟数据库交互,返回结果给servlet,servlet再返回给JSP。这就是总体过程了

servlet中的service,doGet,doPost方法的区别和联系

Service是类GenericServlet中最重要的方法,每次客户向服务器发出请求时,服务器就会调用这个方法。程序员如果想对客户的请求进行响应的话就必须覆盖这个方法,并在这个方法中加入自己的代码来实现对客户的响应。
Service有两个参数(ServletRequest和ServletResponse),ServletRequest保存了客户向服务器发送的请求,而ServletResponse用来设置如何对客户进行响应。
init()方法(Servlet的两个生命周期函数之一,另一个是destroy())和service()方法的区别,当改变源程序而重新生成一个新的.class文件的时候,此时如果再次执行该Servlet,会发现执行的结果跟没做更改的时候一样,原因就是因为相同的Servlet的init只执行一次,所以在调试Servlet的时候要不断改变文件名和类名,或者重新启动服务(Tomcat或者JWS等)。
就是说,init()方法仅在服务器装载Servlet时才由服务器执行一次,而每次客户向服务器发请求时,服务器就会调用Service()方法。

Servlet的init()方法和service()方法的区别是什么

init() 方法是Servlet 执行的第一个方法,也叫初始化方法,可以写也可以不写。

service() 只是提供你在servlet上写业务逻辑的地方,你可以再这里写,然后在dopost或者doget方法里调用这个service()方法/函数.

servlet中init和service方法的区别

(1) init() 方法
在 Servlet 的生命期中,仅执行一次 init() 方法。它是在服务器装入 Servlet 时执行的。 可以配置服务器,以在启动服务器或客户机首次访问 Servlet 时装入 Servlet。 无论有多少客户机访问 Servlet,都不会重复执行 init() 。

缺省的 init() 方法通常是符合要求的,但也可以用定制 init() 方法来覆盖它,典型的是管理服务器端资源。 例如,可能编写一个定制 init() 来只用于一次装入 GIF 图像,改进 Servlet 返回 GIF 图像和含有多个客户机请求的性能。另一个示例是初始化数据库连接。缺省的 init() 方法设置了 Servlet 的初始化参数,并用它的 ServletConfig 对象参数来启动配置, 因此所有覆盖 init() 方法的 Servlet 应调用 super.init() 以确保仍然执行这些任务。在调用 service() 方法之前,应确保已完成了 init() 方法。

(2) service() 方法
service() 方法是 Servlet 的核心。每当一个客户请求一个HttpServlet 对象,该对象的service() 方法就要被调用,而且传递给这个方法一个"请求"(ServletRequest)对象和一个"响应"(ServletResponse)对象作为参数。 在 HttpServlet 中已存在 service() 方法。缺省的服务功能是调用与 HTTP 请求的方法相应的 do 功能。例如, 如果 HTTP 请求方法为 GET,则缺省情况下就调用 doGet() 。Servlet 应该为 Servlet 支持的 HTTP 方法覆盖 do 功能。因为 HttpServlet.service() 方法会检查请求方法是否调用了适当的处理方法,不必要覆盖 service() 方法。只需覆盖相应的 do 方法就可以了。

当一个客户通过HTML 表单发出一个HTTP POST请求时,doPost()方法被调用。与POST请求相关的参数作为一个单独的HTTP 请求从浏览器发送到服务器。当需要修改服务器端的数据时,应该使用doPost()方法。

当一个客户通过HTML 表单发出一个HTTP GET请求或直接请求一个URL时,doGet()方法被调用。与GET请求相关的参数添加到URL的后面,并与这个请求一起发送。当不会修改服务器端的数据时,应该使用doGet()方法。