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

WBOY
リリース: 2016-06-17 08:32:33
オリジナル
1043 人が閲覧しました

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

返信内容:

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

(以下擬似コード)

<code class="language-coffee-script"><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> 
</code>
ログイン後にコピー
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート