如果我想编写servlet,是否必须重写所有Java服务器?

时间:2017-08-01 13:37:49

标签: java database servlets model-view-controller

我有一个Java独立应用程序,其中包含以下内容:

  • 数据库。
  • 访问数据库并接受来自客户端的请求的服务器。
  • 使用MVC模式编程的客户端,通过服务器更新数据库。

现在我想做一个客户端可以更新数据库的网页。我知道我有两个选择:java web services和servlets。我更喜欢使用servlet,因为java Web服务需要安装软件,这会阻止某些设备使用该应用程序。

我的问题是:我是否必须重写我的服务器的大部分代码来实现servlet,或者它只是添加和更改我的服务器代码的一些东西?

1 个答案:

答案 0 :(得分:0)

您已有一个服务器组件正在处理来自客户端的请求。您只需要使用HTTP服务器对其进行扩展,该服务器将接受并处理来自HTTP客户端的请求。

您可能希望在容器中运行,例如Tomcat。如果你走这条路,你将需要实现一个ServletContextListener来在启动/关闭时初始化/清理你现有的应用程序。

然后,您将使用容器(例如,Tomcat)启动整个服务器(现有和新的Web端点)。您可能希望将Web内容命中一个端口(例如,80或443)以及其他端口以用于现有客户端连接。

对于您希望通过HTTP提供的每个现有请求处理程序,您将需要重构代码,以便通过单个方法实现所有数据验证和业务逻辑(您可能已将其写为此开始的方式)。然后添加一个Web服务来处理HTTP请求,并让它调用与现有服务器实现调用相同的方法。

您可能需要考虑使用其中的众多Web服务框架之一(例如,Jersey)。