Jetty / Tomcat是否需要在Java中构建网页?

时间:2012-06-27 14:54:08

标签: java http servlets jetty

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

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

如果我想让我的服务器做的就是接受传入连接并在网页上显示一个按钮(例如,用户只需输入hhtp://1.1.1.1:8080并显示带有按钮的网页) ,仍然需要Jetty或Tomcat吗?我可以不用它们吗?

如果是的话,有一个例子吗?

5 个答案:

答案 0 :(得分: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)。

希望这会有所帮助。

答案 1 :(得分:2)

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

Jetty或Tomcat只是两个(流行的,成熟的,经过良好测试的)选项,可以帮助您实现这一目标。还有很多其他选项 - 例如参见http://java-source.net/open-source/web-servers

如果您真的想要,可以使用Java NIO自行编写Web服务器组件。但这将是很多工作,绝对不建议初学者......

答案 2 :(得分:2)

Java servlet以及ASP或PHP用于实现服务器端交互,这意味着您不希望仅向客户端(浏览器)提供纯HTML,而是通过能够添加智能级别生成 ad-hoc 网页,例如通过插入数据库中的数据。

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

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

答案 3 :(得分:1)

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

答案 4 :(得分:0)

Tomcat或Jetty就像我们使用的意义上的NOR FRAMEWORK一样。这些都是严格的说“servlet容器”或“服务器”以流行的方式说话。

Java世界有很多框架做网络应用程序。简单的工作你可以没有fw,但更大的项目是其他历史。

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