目次
返信内容:
ホームページ バックエンド開発 PHPチュートリアル Java SEを使用して単純なHTTPサーバーを作成するにはどうすればよいですか? JSP をサポートしたい場合、ASP または PHP をどのように改善する必要がありますか?そうでない場合、これを実現できる他の言語はありますか?

Java SEを使用して単純なHTTPサーバーを作成するにはどうすればよいですか? JSP をサポートしたい場合、ASP または PHP をどのように改善する必要がありますか?そうでない場合、これを実現できる他の言語はありますか?

Jun 17, 2016 am 08:32 AM
apache asp jsp php tomcat

これは私が考える方法です。JSP、ASP、および PHP を解析するために複数のコンパイラーを作成するのは非現実的です。そのため、私が構築したサーバーは、動的 Web ページ要求を検出すると、その要求を IIS に転送します (要求が ASP の場合)。同様に、JSPの場合はTOMCATに、PHPの場合はApacheに転送され、上記サーバーで解析されて返された静的コンテンツが受信されてクライアントのブラウザに返されます。では、この転送機能を Java で実装するにはどうすればよいでしょうか?実装できない場合、他の言語でも実装できるでしょうか?

返信内容:

親愛なる、リバース プロキシが必要です。 Java SEについては分かりませんが、Python/Nodejs/C++に引き継ぐ場合の実装原理は以下のようになります。

(以下擬似コード)

<span class="nv">server = </span><span class="nx">httpService</span><span class="p">.</span><span class="nx">createServer</span><span class="p">()</span>
<span class="nx">server</span><span class="p">.</span><span class="nx">on</span> <span class="s">'http request'</span><span class="p">,</span> <span class="nf">(req, res)-></span>
  <span class="nv">req_ext = </span><span class="nx">req</span><span class="p">.</span><span class="nx">require_url</span><span class="p">.</span><span class="nx">split</span> <span class="sr">/\.[asp|php|jsp|do]/i</span>
  <span class="k">switch</span> <span class="nx">req_ext</span>
    <span class="nx">case</span> <span class="s">'php'</span><span class="o">:</span>
      <span class="nx">res</span><span class="p">.</span><span class="nx">send</span> <span class="nx">os</span><span class="p">.</span><span class="nx">execute</span> <span class="s">'php req.require_url'</span>
    <span class="nx">case</span> <span class="s">'asp'</span><span class="o">:</span>
      <span class="nx">res</span><span class="p">.</span><span class="nx">pip</span> <span class="nx">http</span><span class="p">.</span><span class="nx">require</span> <span class="s">'IIS server...'</span>
    <span class="nx">case</span> <span class="s">'do'</span><span class="p">,</span> <span class="s">'jsp'</span><span class="o">:</span>
      <span class="nx">res</span><span class="p">.</span><span class="nx">send</span> <span class="nx">http</span><span class="p">.</span><span class="nx">require</span> <span class="s">'Tomcat server...'</span>
    <span class="nv">default:</span>
      <span class="nx">res</span><span class="p">.</span><span class="nx">send</span> <span class="nx">file</span><span class="p">.</span><span class="nx">read</span> <span class="s">''</span> <span class="k">if</span> <span class="nx">file</span><span class="p">.</span><span class="nx">exist</span> 
ログイン後にコピー
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHPの現在のステータス:Web開発動向を見てください PHPの現在のステータス:Web開発動向を見てください Apr 13, 2025 am 12:20 AM

PHPは、現代のWeb開発、特にコンテンツ管理とeコマースプラットフォームで依然として重要です。 1)PHPには、LaravelやSymfonyなどの豊富なエコシステムと強力なフレームワークサポートがあります。 2)パフォーマンスの最適化は、Opcacheとnginxを通じて達成できます。 3)PHP8.0は、パフォーマンスを改善するためにJITコンパイラを導入します。 4)クラウドネイティブアプリケーションは、DockerおよびKubernetesを介して展開され、柔軟性とスケーラビリティを向上させます。

PHPとPython:2つの一般的なプログラミング言語を比較します PHPとPython:2つの一般的なプログラミング言語を比較します Apr 14, 2025 am 12:13 AM

PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。

ApacheでCGIディレクトリを設定する方法 ApacheでCGIディレクトリを設定する方法 Apr 13, 2025 pm 01:18 PM

ApacheでCGIディレクトリを設定するには、次の手順を実行する必要があります。「CGI-Bin」などのCGIディレクトリを作成し、Apacheの書き込み許可を付与します。 Apache構成ファイルに「Scriptalias」ディレクティブブロックを追加して、CGIディレクトリを「/cgi-bin」URLにマッピングします。 Apacheを再起動します。

Apacheを始める方法 Apacheを始める方法 Apr 13, 2025 pm 01:06 PM

Apacheを開始する手順は次のとおりです。Apache(コマンド:sudo apt-get install apache2または公式Webサイトからダウンロード)をインストールします(linux:linux:sudo systemctl start apache2; windows:apache2.4 "serviceを右クリックして「開始」を右クリック) (オプション、Linux:Sudo SystemCtl

PHP対その他の言語:比較 PHP対その他の言語:比較 Apr 13, 2025 am 12:19 AM

PHPは、特に迅速な開発や動的なコンテンツの処理に適していますが、データサイエンスとエンタープライズレベルのアプリケーションには良くありません。 Pythonと比較して、PHPはWeb開発においてより多くの利点がありますが、データサイエンスの分野ではPythonほど良くありません。 Javaと比較して、PHPはエンタープライズレベルのアプリケーションでより悪化しますが、Web開発により柔軟性があります。 JavaScriptと比較して、PHPはバックエンド開発により簡潔ですが、フロントエンド開発のJavaScriptほど良くありません。

PHPの永続的な関連性:それはまだ生きていますか? PHPの永続的な関連性:それはまだ生きていますか? Apr 14, 2025 am 12:12 AM

PHPは依然として動的であり、現代のプログラミングの分野で重要な位置を占めています。 1)PHPのシンプルさと強力なコミュニティサポートにより、Web開発で広く使用されています。 2)その柔軟性と安定性により、Webフォーム、データベース操作、ファイル処理の処理において顕著になります。 3)PHPは、初心者や経験豊富な開発者に適した、常に進化し、最適化しています。

Apacheのサーバー名以上の削除方法 Apacheのサーバー名以上の削除方法 Apr 13, 2025 pm 01:09 PM

Apacheから追加のservernameディレクティブを削除するには、次の手順を実行できます。追加のservernameディレクティブを識別して削除します。 Apacheを再起動して変更を有効にします。構成ファイルを確認して、変更を確認します。サーバーをテストして、問題が解決されていることを確認します。

Apacheバージョンを表示する方法 Apacheバージョンを表示する方法 Apr 13, 2025 pm 01:15 PM

Apacheサーバーでバージョンを表示するには3つの方法があります。コマンドライン(Apachectl -vまたはapache2ctl -v)を介して、サーバーステータスページ(http://&lt; server ipまたはdomain name&gt;/server -status)を確認します。

See all articles