servlet和java区别_java – servlet和Web服务之间的区别

Web服务是一种使用REST编程范例或SOAP协议为其客户端提供服务方法以进行通信的服务。有几种方法来实现Web服务。编写Web服务的最简单的方法是编写一个类并使用javax.jws中的@WebService和@WebMethod注释进行注释,然后从主方法中启动它:

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 3.1

更全面和实用的方法是编写具有框架的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 DispatcherServlet完成,后者又将请求转发到正确的bean。如果您使用Tomcat,那么您可以直接编写自己的servlet,方法是简单地对javax.servlet.http.HttpServlet类进行子类化,并覆盖必要的方法,例如响应来自浏览器的HTTP GET请求的doGet。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值