java - 向服务器端发送请求

标签 java mysql

我正在使用 MySQL 数据库开发 Java 桌面应用程序,我已经在互联网上搜索了好几天,我需要执行以下操作:

  • (客户端)客户端的桌面应用程序将具有 GUI。
  • (服务器)带有 Servlet 的 Tomcat 服务器。
  • (数据库)MySQL 数据库服务器。

客户端向servlet发送查询请求,然后servlet响应客户端,结果将填充到数据库中。

  • 客户端不会存在 SQL 查询、更新、插入、删除...等,所有这些都将在 servlet 中。

  • 这是制作 3 层应用程序的最佳方式吗?

  • 我可以使用其他想法或技术来实现这一目标吗?
  • 我不想使用网络应用程序。

我需要客户端向中间服务器发送请求,中间服务器将连接到数据库并获取结果,然后将它们发送回客户端,而不让客户端直接连接到数据库。

注意:该客户端将被同一局域网内的多个用户使用。

最佳答案

托管在服务器上的 Web 应用程序通常使用 HTTP 作为通信协议(protocol)。因此,如果您想使用 Java 构建 GUI,那么您将发送有关用户操作的 http 请求并接收 http 响应,该响应将被转换为 GUI 上的更新。您也许应该使用诸如 Apache HttpComponents 之类的库发送/接收http响应。对于创建/部署 servlet Web 应用程序,您可以找到很多教程。然而现在人们使用 Spring MVC、Struts、JSF 等 MVC 框架作为 Web 应用程序框架,这对开发 Web 应用程序有很大帮助。

由于您的要求是客户端上不应有任何与 SQL 数据访问相关的代码,因此所有数据访问都需要在服务器端完成,并且服务器端应发送可接受的数据格式(xml/json)到 http 响应中的 GUI,您需要解析该响应(有许多库可以解析 xml/json)并从中提取信息。 所以你的 GUI 不会做任何结果集处理。这将由服务器(在 Web 应用程序内部)完成,并且 Web 应用程序将向您的 GUI 请求发送 xml/json 响应。

您尝试在典型瘦客户端架构中开发的架构。您可以将 Java GUI 想象为 Web 浏览器的替代品。

关于java - 向服务器端发送请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19640802/

相关文章:

php - 无法获取 fgetcsv 文件以与 MySQL 数据库一起使用

Mysql计数频率-带阈值

java - 我应该在 Actions 中创建 Swing 组件吗?

c# - 什么是 Java 等同于 C# 中的打印值?

TSP、OCSP 和 CMS 的 Java 实现

java - 当我使用 servlet 将 Android 图像保存到数据库时,为什么它会损坏

php - 用逗号求和 mysql 列中的值

mysql - mysqli选择x AS y

java - 要传递给 spring 应用程序上下文的用户输入参数

java - 为什么我不能使用 "String"作为优先级队列的参数?