Gan*_*row 84 java rest spring web-services terminology
这两个有什么区别?我在google上找到的结果很少,没有结论.
这是一个跟进问题:
假设我使用@Controller注释创建spring mvc web app注释几个类,并创建一些将成功从前端传输一些信息的东西 - >后端,反之亦然,也许某些数据库可能涉及到后端端.
你会怎么称呼它?休息Web服务或servlet或其他什么?
lan*_*oxx 85
甲web服务是使用任一REST编程范例或用于通信的SOAP协议提供的服务的方法为客户的服务.有几种方法可以实现Web服务.编写Web服务最简单的方法是编写一个类并使用@WebService和@WebMethod注释来注释它javax.jws,然后从main-method 启动它:
Endpoint.publish("http://localhost:8089/myservice", new MyWebService());
结果是您可以在注册的URL上查看WSDL,如果您有SoapUI或任何其他SOAP客户端,您还可以测试和使用您的Web服务.
甲的servlet另一方面用于传送HTTP请求和resonses.它可用于编写带有JSP和HTML的Web应用程序,或用于提供XML和JSON响应(如在RESTful服务中),当然也可用于接收和返回SOAP消息.您可以将其视为Web服务下面的一层.Servlet有自己的标准,目前是Java Servlet Specification Version 4.0
更全面和实用的方法是使用框架编写Web服务并将其发布到应用程序服务器或servlet容器(如Tomcat或JBoss)上.在这种情况下,您将使用Servlet来处理传输SOAP或REST消息的HTTP请求的传输.
要使用servlet技术编写Web服务,您可以使用例如JAX-WS(例如,用于SOAP).为了编写RESTful服务,你可以使用JAX-RS(参考实现是Jersey),或者你也可以使用Spring WebMVC,但是afaik并不是这个框架的主要目的,而且Jersey更容易使用.
关于第二个问题:@Controller注释是一个Spring特定的构造型注释,告诉Spring一些关于你的bean应该做什么.控制器的确切方法将返回取决于方法的实际实现,您可以将Spring配置为返回纯文本,HTML,JSON,XML,二进制数据或者您想要的任何内容.
旁边的注释,一个注释的类@Controller还不是一个servlet,它只是一个bean.您如何使用servlet主要取决于您使用的框架.例如,当您使用Spring时,Servlet作业由Springs完成,而Springs DispatcherServlet又将请求转发给正确的bean.如果您使用Tomcat,那么您可以直接编写自己的servlet,只需子javax.servlet.http.HttpServlet类化并覆盖必要的方法,例如doGet响应来自浏览器的HTTP GET请求.
art*_*tol 41
您所描述的是一个Web应用程序,人类使用浏览器与软件系统进行交互.
一个Web服务是软件系统相互使用HTTP和XML或JSON通信,而无需任何人的方式.
一个servlet的是编写响应HTTP请求软件的特定Java的方式.Spring MVC抽象了很多实现细节,使编写Web应用程序变得更容易,但是使用了servlet.
Ale*_*man 10
我对此的看法是Web Service定义了更高级别的抽象,例如某些特定于业务的功能.而Servlet只是一个负责数据传输的软件实现组件.
Web Service实现通常依赖于servlet来接收数据.但是,它也可以使用它处理协议数据的自定义层.
@Controller可能与servlet更相关,而servlet也是实现传输的一种方式.
| 归档时间: | 
 | 
| 查看次数: | 83970 次 | 
| 最近记录: |