1

我正在尝试使用 Java 学习 Web 编程,并且遇到了一堆支持 servlet 来创建网页的框架,例如 Jetty 和 Apache Tomcat。

如果我想创建一个只有一个按钮(不是文本)的网页,是否需要 Jetty/Tomcat?根据我的阅读,似乎所有教程都使用 Jetty/Tomcat 和 servlet 来创建一个简单的基于文本的网页。

如果我希望我的服务器做的只是接受传入连接并在网页上显示一个按钮(例如,用户只需键入 hhtp://1.1.1.1:8080 并显示一个带有按钮的网页),是 Jetty还是需要Tomcat?没有他们我能做到吗?

如果是这样,有没有例子?

4

5 回答 5

3

正如 iNan 所指出的,Apache HTTP 对于纯 HTML 来说已经足够了。

但是,我认为您是以最简单的形式引用 Java 网站。如果是这样,请尝试编写 Java Servlet。servlet 只是 HTTP 响应和请求的入口点。Servlet 最简单的形式如下所示:

(复制自http://www.mkyong.com/servlet/a-simple-servlet-example-write-deploy-run/

package com.mkyong;

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class ServletDemo1 extends HttpServlet{

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException{
    PrintWriter out = response.getWriter();
    out.println("<html>");
    out.println("<body>");
    out.println("<h1>Hello Servlet Get</h1>");
    out.println("</body>");
    out.println("</html>"); 
     }
 }

显然,在此过程中还需要设置其他一些东西(请参阅上面的链接),但这是最简单的一个。如果你想制作一个更复杂的基于Java的网站,你可以使用JSP(Java Server Page)。

希望这会有所帮助。

于 2012-06-27T15:07:46.107 回答
2

如果您想提供网页服务,那么您将始终需要某种形式的 Web 服务器应用程序或库来侦听端口 80 或 8080 并处理传入的 http 请求。

Jetty 或 Tomcat 只是使您能够执行此操作的两个(流行、成熟、经过充分测试)选项。还有很多其他选项 - 参见例如http://java-source.net/open-source/web-servers

如果你真的想要,你可以使用Java NIO自己编写一个 Web 服务器组件。但这将是很多工作,绝对不推荐给初学者......

于 2012-06-27T15:09:12.310 回答
2

Java servlet 以及 ASP 或 PHP 用于实现服务器端交互性,这意味着您不希望只为客户端(浏览器)提供纯 HTML,而是通过生成一个ad-hoc网页,例如通过在其中插入数据库中的数据。

因此,如果您查看 servlet 的代码,它就是这样做的:生成 HTML(或其他格式,但这不是这里的重点)。

servlet 本身只包含让您生成此 HTML 的逻辑,但所有无聊的东西,如网络连接、HTTP 请求和响应管理、cookie 处理等显然不是由您的 servlet 管理的。因为其他一些软件已经在管理它,并为您的应用程序提供这些服务。这就是像 Tomcat 或 Jetty 这样的服务器所做的。因此,该过程的入口点是服务器,它调用您的 servlet 以动态生成您想要传输给客户端的 HTML,获取结果并自行管理所有其余部分,而无需您关心它。

于 2012-06-27T15:16:26.670 回答
1

要提供静态 HTML 内容并响应 HTTP 请求,HTTP 服务器就足够了。您不需要像 Tomcat 这样的网络服务器。

于 2012-06-27T15:01:29.830 回答
0

从某种意义上说,Tomcat 或 Jetty 不是我们使用的框架。这些是严格意义上的“servlet 容器”或流行的“服务器”。

Java 世界有很多框架做 web 应用程序。简单的工作您可以在没有 fw 的情况下制作,但更大的项目是其他历史。

两个术语“框架”(程序员开发他的工作的环境)都有 JSP 或纯 Java 编码。旧的也需要很多 XML,servlet 3 标准可以使用更多的注解。

于 2015-09-05T08:54:48.770 回答