1

Java を使用して Web プログラミングを学ぼうとしていますが、Jetty や Apache Tomcat など、サーブレットをサポートして Web ページを作成するフレームワークに出くわしました。

1 つのボタン (テキストではなく) を持つ Web ページを作成したい場合、Jetty/Tomcat は必要ですか? 私が読んだところによると、すべてのチュートリアルで Jetty/Tomcat とサーブレットを使用して、単純なテキスト ベースの Web ページを作成しているようです。

サーバーに着信接続を受け入れて Web ページにボタンを表示することだけが必要な場合 (たとえば、ユーザーが hhtp://1.1.1.1:8080 と入力すると、ボタンのある Web ページが表示されます)、Jetty です。またはTomcatがまだ必要ですか?それらなしでそれを行うことはできますか?

もしそうなら、その例はありますか?

4

5 に答える 5

3

iNanが指摘しているように、プレーンHTMLにはApacheHTTPで十分です。

ただし、JavaWebサイトを最も単純な形式で参照していると思います。その場合は、Javaサーブレットを作成してみてください。サーブレットは、HTTP応答および要求の単なるエントリポイントです。最も単純な形式のサーブレットは、次のようになります。

( 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ベースのWebサイトを作成する場合は、JSP(Java Server Page)を使用できます。

これがお役に立てば幸いです。

于 2012-06-27T15:07:46.107 に答える
2

Webページを提供する場合は、ポート80または8080でリッスンし、着信http要求を処理する何らかの形式のWebサーバーアプリケーションまたはライブラリが常に必要になります。

JettyまたはTomcatは、これを可能にする2つの(人気のある、成熟した、十分にテストされた)オプションです。他にもたくさんのオプションがあります-たとえばhttp://java-source.net/open-source/web-serversを参照してください

本当に必要な場合は、JavaNIOを使用して自分でWebサーバーコンポーネントを作成できます。しかし、これは大変な作業であり、初心者には絶対にお勧めできません......

于 2012-06-27T15:09:12.310 に答える
2

Java サーブレットと ASP または PHP は、サーバー側の対話性を実現するために使用されます。つまり、単純な HTML をクライアント (ブラウザー) に提供するだけではなく、たとえば、データベースからのデータを挿入することによって、アドホックWeb ページ。

したがって、サーブレットのコードを見ると、まさにそれを行っています: HTML (または他の形式ですが、それはここでは重要ではありません) を生成しています。

サーブレット自体には、この HTML を生成するためのロジックのみが含まれていますが、ネットワーク接続、HTTP 要求と応答の管理、Cookie の処理などのすべての退屈なものは、明らかにサーブレット自体では管理されていません。他のソフトウェアがすでにそれを管理しており、これらのサービスをアプリケーションに提供しているためです。Tomcat や Jetty のようなサーバーがそれを行います。したがって、プロセスのエントリ ポイントはサーバーであり、サーブレットを呼び出して、クライアントに転送する HTML を動的に生成し、結果を取得して、残りのすべてを自分で管理します。

于 2012-06-27T15:16:26.670 に答える
1

静的な HTML コンテンツを提供し、HTTP リクエストに応答するには、HTTP サーバーで十分です。Tomcat のような Web サーバーは必要ありません。

于 2012-06-27T15:01:29.830 に答える
0

Tomcat や Jetty は、私たちが使用するような意味でフレームワークではありません。これらは、厳密に言えば「サーブレット コンテナ」または一般的な言い方で「サーバー」です。

Java の世界には、Web アプリを実行するためのフレームワークがたくさんあります。単純作業 FWなしでも作れますが、別の歴史である大きなプロジェクト。

「フレームワーク」(プログラマーが作業を開発するための環境) という点では、どちらも JSP または純粋な Java コーディングを備えています。古いものも多くの XML を必要とし、サーブレット 3 標準ではより多くの注釈を使用できます。

于 2015-09-05T08:54:48.770 に答える