您能只用Java编程语言编写web应用程序吗?

您能只用Java编程语言编写web应用程序吗?,java,Java,我的期末作业是构建一个连接到MySQL数据库的基于web的学生管理应用程序。但是,老师不允许我们使用JS/node,因为他说它不是OOP。除了JS,我们组的成员只能使用Java 因此,我想问一下,是否可以只用Java来完成这个任务。如果是,我需要知道和学习什么?否则,有没有可能在一个月内为这种项目学习PHP 非常感谢您的阅读 确保您可以用Java编写web应用程序。根据你被允许使用的内容,有很多选择。简单概述一下,再往下看意味着您需要更多的第三方代码,但生产率会提高: 仅在JDK上构建。您需要自

我的期末作业是构建一个连接到MySQL数据库的基于web的学生管理应用程序。但是,老师不允许我们使用JS/node,因为他说它不是OOP。除了JS,我们组的成员只能使用Java

因此,我想问一下,是否可以只用Java来完成这个任务。如果是,我需要知道和学习什么?否则,有没有可能在一个月内为这种项目学习PHP


非常感谢您的阅读

确保您可以用Java编写web应用程序。根据你被允许使用的内容,有很多选择。简单概述一下,再往下看意味着您需要更多的第三方代码,但生产率会提高:

  • 仅在JDK上构建。您需要自己构建Web服务器并编写HTML。。。(仅当要求严格禁止第三方库时才执行此操作)
  • 使用像tomcat这样的servlet容器。您仍然需要自己构建HTML,但请求处理主要是为您完成的。(如果只允许使用servlet容器,请使用此选项)
  • 使用JSP、Thymeleafe、Velocity等模板引擎。您将能够非常轻松地构建网页。(这已经很方便了,但还有更好的选择)
  • 使用web应用程序框架。这将占用您的大部分样板文件,并允许您轻松使用高级概念。有多种框架可供选择。我更喜欢并且建议从s.th开始。比如(这将自动提供您要求的大部分内容,因此请检查您是否可以使用这样的框架)

  • 是的,可以在没有任何外部(即不是JavaSE)库的情况下用Java编写Web服务器。您需要做的只是:

    • 了解
      Socket
      ServerSocket
      以及SSL堆栈,以及
    • 花几天时间详细阅读HTTP规范,以了解协议需要什么
    • 多花几天时间实现服务器端HTTP协议栈等等
    这是。。。付出了很多努力,可能会浪费你/你的团队的时间

    如果您打算在Java中实现这一点,您最好学习Spring/SpringMVC/SpringBoot,或者学习servlet和/或JSP。它们为您处理协议方面的问题,并且(或多或少)让您专注于特定于您的webapp的方面

    这些技术(或同等技术)是您毕业时可能使用的技术

    如果团队中的其他成员已经知道Java,那么这显然是使用它的一个很好的理由

    简而言之,使用Java+以上技术有三个原因:

    • 更少的努力
    • 其他团队成员的学习较少1
    • 你/他们将学到更多即时有用的东西

    PHP将是另一种选择,尽管如果你的老师因为“不够面向对象”而对Javascript“不满”,他们可能也不会对PHP有好的评价

    关于Javascript是否为OO的主题,请阅读以下内容:

    读一读,自己拿主意



    1-自愿编写项目的所有文档,这样你就不必学习Java了。不你想学Java,不是吗

    您希望使用servletsPHP,它与JS一样是面向对象的,这意味着两者都支持以面向对象的方式编写,但编写的大多数代码都不是非常面向对象的。如果您正朝这个方向考虑,我会检查PHP是否被允许。如果您使用的是Java,那么可以使用JSP页面或模板引擎(例如Thymeleaf)来生成HTML;直接在Java代码中生成它们不是很有效率。是的,你可以使用servlet来实现这一点,只要看看这里和Google,你就会发现很多例子。有GWT,它是一个Java框架。不一定是我的最爱,虽然Spring引导可能是一个不错的选择。我可以为服务器端添加JSF,或者为客户端添加YUI。我知道,这被认为是过时的,但在web应用程序中使用OOP的好例子。