【问题标题】:Java servlets vs Java class in webappWebapp 中的 Java servlet 与 Java 类
【发布时间】:2014-01-21 08:33:29
【问题描述】:

我对 Java/Servlets/Tomcat 等还是很陌生,但是从我作为 CGI/PHP 开发人员的那一天起,我就对 Web 应用程序有了相当好的了解。

我有一个 JSP index.jsp,它显示来自数据库的表。

我有一个 Results.class,它是一个普通的 Java 类(不是 servlet),它查询数据库并从方法返回字符串:public static String displayAllResults()

返回的字符串是一个 html 表格。
所以在我的 index.jsp 中有一行这样说:

String table = Result.displayAllResults();

然后表格按我希望的那样显示 - 一切顺利!

我的问题是:以这种方式使用普通 Java 类而不是 Java servlet 是否有任何优点/缺点,或者我应该将我的所有类都移植到 servlet 以增加功能??

【问题讨论】:

  • 这根本不是你应该做的事情。这是一种非常幼稚且不可扩展的开发方法。您显然可以将 Java 类用作 PHP 脚本,但这不是 Java 的设计目的。此外,JSP 是一个 servlet。
  • 用 JSP 编写 Java 几乎总是不好的。用 Java 编写 HTML 几乎总是不好的。单独的功能。
  • 如果你正在学习 JSP,你应该从 JSF 开始。您将更轻松地享受 MVC 模式。

标签: java class jsp servlets web-applications


【解决方案1】:

你真的应该使用像 Spring MVC 或 struts2 这样的 MVC 框架。你应该总是有清晰的抽象:

  • 道层
  • 服务层
  • 业务层
  • 模型对象
  • DTO 的
  • 帮助程序/实用程序

尽可能在 JSP 页面上使用 EL 语言,例如 JSTL/OGNL。永远不要使用小脚本。如果您使用上述任何 MVC 框架,您可能永远不需要直接使用 Servlet!

使用来自数据库的数据显示网格使用 DisplayTag 或 Jqgrid(使用 Ajax 调用)

【讨论】:

  • 感谢大家的回答。我的下一个问题实际上是关于使用 JSTL 的优势,我认为这是我将要做的事情。
  • @thonnor - 如果您觉得他们真的对您有所帮助,请接受和/或投票赞成任何答案。像这样,人们会被鼓励在未来帮助你。
  • 我已经尝试对几个答案进行投票,但我需要 15 或更高的声誉才能做到这一点。我今天早上才加入该网站,到目前为止声誉为零:(
  • @thonnor - 别担心你很快就会获得这些声誉。顺便说一句,感谢您接受我的回答。快乐的黑客;)
  • 一天后,我获得了关于 JSTL 的快速教程,并创建了一个页面,该页面在我在原始课程中编写的代码的一小部分中执行和呈现我的数据库查询。感谢所有帮助和指导的人:)
【解决方案2】:

我认为了解ServletJSPnormal classes 的目的将回答您的问题。

据我了解,JSP是用于View目的,也就是将UI渲染到屏幕上是jsp的作用。

Servlets 用作控制器,其作用是充当视图和模型之间的桥梁。

Normal java classes可以充当Model,在这里可以执行一些核心业务逻辑。

【讨论】:

    【解决方案3】:

    从 JSP 页面中的 scriptlet 调用 Java 通常被认为是不好的做法。 JSP 旨在进行 HTML 格式化,并在使用 Locale 等方面提供一些额外的智能。一个更好的 PHP,如果你愿意的话。数据库处理应由 servlet 处理。

    【讨论】:

    • 数据库处理应该由一个服务来处理,数据通过一个servlet暴露给JSP。
    猜你喜欢
    • 2015-06-21
    • 2015-08-01
    • 2015-07-04
    • 2012-11-06
    • 1970-01-01
    • 1970-01-01
    • 2015-01-25
    • 1970-01-01
    • 2017-02-09
    相关资源
    最近更新 更多