如何使用Java制作网站?

74

这可能是一个非常琐碎的问题,但我一直在学校写Java程序,现在才发现我也可以用Java创建网站。

  • 我应该怎么做呢?有没有好的书籍/教程?
  • 对于Web开发,Java和PHP哪个更好?
  • 此外,在使用PHP时,涉及MySQL,而在编写桌面Java程序时,我们只使用文件I/O,那么对于Web开发,文件I/O或MySQL哪个更好?

1
这个有点老了,但我认为是时候更新一下了 :) 你有两个选项可以使用Java来制作网站:Play框架和Spring Roo。希望这可以帮到你。 - David Gatti
大家好 - 2015年的又一次更新。现在Spring Boot是一个很好的选择(Spring Roo有点过时了),Play框架也很不错。如果你感兴趣,请查看https://github.com/jadekler/git-java-websiteskeleton,这是一个相当简洁的Java Web应用程序(包含API和UI控制器示例)。它使用了一些轻量级的Spring库,但没有像Spring Boot那样多。 - Jean
你需要DukeScripts。 - user1198289
7个回答

81
您正在提出几个不同的问题...
  • 如何使用Java创建网站?

使用最简单的方法开始使用Java制作网站,就是使用JSP。JSP代表Java Server Pages,它允许您在Java代码文件中嵌入HTML以进行动态页面创建。为了编译和提供JSP,您将需要Servlet容器,这基本上是运行Java类的Web服务器。最流行的基本Servlet容器称为Tomcat,并且由Apache软件基金会提供免费服务。请按照cletus提供的教程here

一旦您已经启动并运行Tomcat,并且对如何部署JSP有了基本的理解,您可能需要开始创建自己的JSP。我总是喜欢IBM developerWorks教程。他们有一个JSP教程here看起来还可以(虽然有点过时)。

您会发现,Java Web开发要比JSP复杂得多,但是这些教程将使您朝着正确的方向前进。

  • PHP vs. Java

这是一个相当主观的问题。 PHP和Java只是工具,在不好的程序员手中,任何工具都是无用的。 PHP和Java都有其优点和缺点,讨论它们可能超出本帖子的范围。我会说如果您已经了解Java,请坚持使用Java。

  • 文件I/O vs. MySQL

MySQL更适合Web应用程序,因为它设计用于处理许多并发用户。但是您应该知道,Java通过JDBC(Java的数据库连接框架)与PHP一样可以轻松使用MySQL。


非常有帮助... - dsdsdsdsd
2
你好,当我点击 JSP 教程的链接时,它们要求我进行身份验证,但我既没有登录名也没有密码。你能帮我吗? - Abderrahim

48

阅读Java Web 应用教程

基本上,Web 应用是 Java EE 标准的一部分。许多人仅使用 Web(Servlets)部分,并添加其他框架,最著名的是 Spring,但还有 Struts、Seam 等。

您只需要像 IntelliJ、Eclipse 或 Netbeans 这样的 IDE,JDK,Java EE 下载以及像Tomcat这样的Servlet容器(或类似Glassfish或JBoss的完整应用程序服务器)。

这里有一个Tomcat 教程


29
你所需要的只是像IntelliJ、Eclipse或Netbeans这样的集成开发环境,Java开发工具包(JDK),Java企业版(JEE)下载以及像Tomcat这样的Servlet容器(或完整的应用服务器,如Glassfish或JBoss)。噢,就只需要这些了? ;) - jmccartie
3
我认为开始学习Java EE 5 (http://java.sun.com/javaee/5/docs/tutorial/doc/bnadr.html)会让他的生活更加轻松,而不是1.4版本。 - Hosam Aly
1
这立刻浮现在我的脑海中:http://www.youtube.com/watch?v=PQbuyKUaKFo - Hanno Fietz

12

我会用臭名昭著的“你真的想这样做吗”回答你。

看起来你的重点是玩Java,看看它能做什么。然而,如果你想实际开发Web应用程序,你应该知道,虽然Java被用于Web应用程序(并且在一些重要的应用中使用),但还有其他技术选项可能更适合。

个人而言,我喜欢(并使用)Java来开发功能强大、可移植的后端服务。我从未尝试用它来构建网站,因为这似乎不是最明显的选择。在厌倦了PHP(我已经使用了多年)之后,我最近爱上了基于Python的Web框架Django

Ruby on Rails的开发人员发布了许多非常有趣的YouTube视频,将不同的Web技术与RoR进行比较。当然,这些显然是夸张和有些有偏见的,但我想说的是,在每个视频中都有一定的真实性。关于Java的那个视频在这里。 ;-)


2
我同意你的看法,Java并不是构建网站的最佳选择。我使用 Laravel(PHP) 来构建 Web 产品。最近,我在换工作时遇到了很多问题,因为几乎90%的招聘人员都会问我是否了解 JSP。我只知道核心 Java。在印度,Java(薪资高)和 PHP(薪资较低)。 - Rajat Saxena

6
虽然有很多其他的选择,但Apache Wicket应该是首选。
Wicket不仅减少了大量样板代码,而且完全删除了它,您可以使用出色的业务代码和标记分离而不混淆两者,并且还有许多其他功能可以从网站中阅读。

5
此外,请注意,虽然Java通常非常适合初学者,但了解JavaEE、Servlets、Facelets、Eclipse集成、JSP并使Tomcat中的所有内容运行起来并不容易。显然,这并不是构建网站的最简单方法,对于大多数事情来说可能过于复杂。此外,您可能需要自己托管您的网站,因为大多数网络空间提供商不提供Servlet容器。如果您只是想出于兴趣尝试一下,我建议您尝试Ruby或Python,它们更加有趣。但无论如何,为了至少提供与问题相关的内容,这里有一个不错的Servlet教程链接: link

1

如果你想用Java制作一个网站,可以考虑创建小程序(Applets)。除非你需要一些更专业的功能,否则通常不需要使用除常规Java之外的其他内容。


0
我建议使用OOWeb作为HTTP服务器,再结合像Velocity这样的模板引擎来生成HTML。我也支持Esko提出的Wicket建议。这两种解决方案都比平均设置要简单得多。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接