【问题标题】:Do I have to rewrite all my Java server if I want to write a servlet?如果我想编写一个 servlet,我是否必须重写我所有的 Java 服务器?
【发布时间】:2017-08-01 13:37:48
【问题描述】:

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

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

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

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

【问题讨论】:

  • 这完全取决于你第一次编写它时的结构。希望,如果你很聪明,那就不会。
  • 你可以试试 springboot 而不仅仅是一个 servlet。

标签: java database servlets model-view-controller


【解决方案1】:

您已经有一个服务于来自客户端的请求的服务器组件。您只需要使用可以接受和处理来自 HTTP 客户端的请求的 HTTP 服务器来扩展它。

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

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

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

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

【讨论】:

    猜你喜欢
    • 2018-01-14
    • 2014-07-15
    • 1970-01-01
    • 1970-01-01
    • 2011-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多