java - 如何实现具有两种不同功能的servlet/applet组合?

标签 java web-applications servlets spring-mvc applet

我的任务是创建一个 Java Web 应用程序,该应用程序由两个页面组成:一个“绘制”页面和一个“评估”页面。我将在 Eclipse 中进行开发。

“抽奖”页面将促进以下过程:

  • 从表单中获取用户输入
  • 使用 Servlet 在后台构建模型
  • 将模型发送到客户端的 Applet(可能通过 JSON)以进行可视化渲染

“评估”页面将:

  • 从类似的表单中获取用户输入,以使用 Servlet 构建类似的对象(相同的类)
  • 通过 Servlet 上的算法运行模型,并将结果显示在屏幕上。

页面可以相对独立。

我的问题是,我到底应该如何实现这个组合?

我熟悉 Servlet 开发和 Spring MVC/Webflow 框架,但绝不是专家。然而,我猜想 Spring 对于这个简单的应用程序来说太过分了,而且我从未实现过具有多个主要功能的 Servlet。

我是否应该创建一个在 doGet/doPost 方法中只包含条件逻辑并根据请求的 URL 执行操作的 HttpServlet?

我应该制作两个单独的 Servlet 吗?

如果是这样,我会在 Eclipse 中创建两个单独的项目,还是只在一个项目中在 web.xml 中注册两个 Servlet?我应该做一些完全不同的事情吗?

我不是在寻找代码,只是想更深入地了解如何处理此类应用程序。

最佳答案

我将提出与德米特里相反的观点。我认为人们知道如何编写普通 servlet 是件好事,但当涉及到为企业编写代码时,我认为最好使用 Spring MCV。主要原因有:

  • 您已经有 Spring MVC 的使用经验,因此没有学习曲线
  • 虽然需求看起来很简单,但我的经验是,像这样的 Web 项目很快就会超出其最初的规范,此时您会希望自己使用 Spring MVC
  • 您必须在 servlet 中编写和维护通常由 Spring MVC 处理的功能 - 我喜欢这样一句话:它们解决了您甚至还没有考虑过的问题。
  • 您编写的每一行代码都可能存在错误,通过减少编写的代码量可以降低出现错误的风险
  • Spring MVC 的设计方式使您可以使用您喜欢/需要的尽可能少或尽可能多的功能。通过注释,您可以使用数量惊人的少量代码/xml 来启动并运行一个简单的应用程序
  • 使用 Spring MVC 测试更加容易
  • Spring MVC 遵循其他程序员已经知道的约定。如果您离职,很快就会有人接替您。 OTOH,如果您编写一个简单的 servlet,您可以采用多种不同的方式来实现,这可能会使其他人更难以维护
  • 使用现代硬件/操作系统,添加 Spring MVC 给项目添加的额外内存/开销可以忽略不计 - 我们不再使用 128KB 内存运行服务器,但有些人仍然有我们这样做的心态。如果对基准测试有疑问,请不要过早优化!

关于java - 如何实现具有两种不同功能的servlet/applet组合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13146051/

相关文章:

java - 关于在 main 方法中覆盖 GUI 的 run() 方法

ios - 移动和 HTML list 缓存性能

java - jqgrid改变默认的rowNum大小

java - 想要在这个jsp页面中显示动态值

java - 使用 CloudSQL 代理连接到 Google CloudSQL

java - 数据表if else语句显示

java - 关于Eclipse的几个愚蠢问题

mysql - 了解特定列是否存在

javascript - 未捕获的类型错误 : Cannot set property offsetWidth of#<HTMLElement> which has only a getter

java - 如何在 jooq 中求和