1。Tomcatサーバーポートの構成
Tomcatのすべての構成はconfフォルダーに配置され、内部のserver.xmlファイルはコア構成ファイルです。
Tomcatサーバーの起動ポートを変更する場合は、Server.xml構成ファイルのコネクタノードのポートを変更できます。
例:Tomcatサーバーのスタートアップポートをデフォルト8080から8081ポートに変更します
Tomcat Server Startupポートデフォルト構成
<connector port = "8080" protocol = "http /1.1" connectiontimeout = "20000" redirectport = "8443" />
Tomcat Server Startupポートをポート8081に変更します
<connector port = "8081" protocol = "http /1.1" connectiontimeout = "20000" redirectport = "8443" />
これにより、元のデフォルトのTomcatデフォルトポート8080がポート8081に変更されます。サーバー内の *.xmlファイルが変更され、Tomcatサーバーを再起動する必要があり、新しい構成情報が再起動後に再度読み取られることに注意してください。 Tomcatの起動ポートはServer.xmlファイルで8081に変更されているため、Tomcatサーバーは、下の図に示すように、ポート8081で開始されます。
Tomcatサーバーにアクセスするには、下の図に示すように、新しいアクセスポート:http:// localhost:8081/でアクセスする必要があります。
2。TomcatServer Virtual Directoryのマッピング方法
Webアプリケーションが開発された後、外の世界にアクセスする場合は、Webアプリケーションが管理のためにWebサーバーに配置されているディレクトリを渡す必要があります。このプロセスは、仮想ディレクトリのマッピングと呼ばれます。 Tomcat Serverでは、仮想ディレクトリをマップする方法は?合計にはいくつかの方法があります:
2.1。仮想ディレクトリのマッピング方法1:server.xmlファイルのホスト要素で構成
次の図に示すように、server.xmlファイルのホスト要素を見つけます。
タグに<Host> </host>を追加<コンテキストパス= "/javawebapp" docbase = "f:/javawebdemoproject"/>> javawebdemoproject javawebappアプリケーションをjavawebappの仮想ディレクトリにマッピングします。 Javawebappの仮想ディレクトリは、Tomcatサーバーによって管理されています。 Javawebappは、ハードディスクには存在しないディレクトリです。これは私たちがさりげなく書くディレクトリであり、仮想ディレクトリであるため、「仮想ディレクトリ」と呼ばれます。コードは次のとおりです。
<host name = "localhost" appbase = "webapps" unpackwars = "true" autodeploy = "true" xmlvalidation = "false" xmlnamespaceaware = "false"> <context path = "/javawebapp" docbase = "f:/javawebdemoproject"/> </host> </host>
その中で、コンテキストはコンテキストを表し、Javawebアプリケーションを表します。コンテキスト要素には2つの属性があります。
ⅰPath:仮想ディレクトリの構成に使用し、「/」から始める必要があります。
ⅱdocbase:この仮想ディレクトリを設定して、Webアプリケーションがハードディスクにあるディレクトリに対応するように構成します。
ブラウザを使用して、「/javawebapp」の仮想ディレクトリで1.jsp Webリソースにアクセスします。アクセス結果は次のとおりです。
1.JSPに正常にアクセスできます。つまり、javawebdemoproject javawebappをjavawebappの仮想ディレクトリにマッピングしました。 「/javawebapp/1.jsp」にアクセスすることは、「f:/javawebdemoproject/1.jsp」へのアクセスと同等です。
注:Tomcat 6の後、Server.xmlファイルで構成コンテキスト要素を使用して仮想ディレクトリマッピングを追加することは推奨されなくなります。Server.xmlファイルが変更されるたびに、Server.xmlファイルをリロードする前にTomcatサーバーを再起動する必要があるためです。 Tomcat Serverドキュメントhttp:// localhost:8080/docs/config/context.htmlには、このような説明があります。
<context>要素をserver.xmlファイルに直接配置することはお勧めしません。これは、Tomcatを再起動せずにメインのconf/server.xmlファイルをリロードできないため、コンテキスト構成の変更により侵襲的になるためです。
個々のコンテキスト要素は、明示的に定義される場合があります。
アプリケーションファイル内の/meta-inf/context.xmlの個々のファイル。オプションで(ホストのCopyXML属性に基づく)これは、$ catalina_base/conf/[enginename]/[hostname]/にコピーされ、アプリケーションのベースファイル名と「.xml」拡張子に変更されます。
個々のファイル( "catalina_base/conf/[enginename]/[hostname]/ディレクトリの個々のファイル(" .xml "拡張機能)。コンテキストパスとバージョンは、ファイルのベース名(ファイル名が.xml拡張子よりも少ない)から派生します。このファイルは、WebアプリケーションのMeta-INFディレクトリにパッケージ化されたContext.xmlファイルよりも常に優先されます。
メインconf/server.xmlのホスト要素内。
2.2。仮想ディレクトリのマッピング方法は2です:Tomcatサーバーを自動的にマッピングします
Tomcatサーバーは、WebAppsディレクトリ内のすべてのWebアプリケーションを自動的に管理し、仮想ディレクトリにマッピングします。つまり、Tomcat Server WebAppsディレクトリのWebアプリケーションには、外の世界が直接アクセスできます。
例:javawebdemoproject javawebをFディスクの下にコピーして、下の図に示すように、Tomcat Server WebAppsディレクトリに直接コピーします。
この時点で、Tomcatサーバーは、Javawebdemoproject javawebアプリケーションと同じ名前で仮想ディレクトリ「/javawebdemoproject」を自動的にマッピングし、次に、以下の図に示すように、javawebアプリケーションのリソースにアクセスするためにブラウザーを使用できます。
2.3。仮想ディレクトリ3のマッピング方法
Tomcatサーバーのドキュメントを参照してください。
個々のファイル( "catalina_base/conf/[enginename]/[hostname]/ディレクトリの個々のファイル(" .xml "拡張機能)。コンテキストパスとバージョンは、ファイルのベース名(ファイル名が.xml拡張子よりも少ない)から派生します。このファイルは、WebアプリケーションのMeta-INFディレクトリにパッケージ化されたContext.xmlファイルよりも常に優先されます。
つまり、Tomcatサーバーの/conf/catalina/localhostディレクトリの拡張機能としてXMLを含むファイルを追加します。 XMLファイルの名前は、以下のAA.xmlなど、任意に任意できます。文は「コンテキストパスとバージョンはファイルのベース名から派生します」ということに注意してください。この文の意味は、「コンテキスト要素のパス属性は、XMLファイルの名前から来る」と翻訳されています。上記のように、コンテキスト要素のパス属性は、仮想ディレクトリの名前を構成するために使用されるため、仮想ディレクトリの名前はXMLファイルの名前です。
$ catalina_baseは、Tomcatサーバーのルートディレクトリを指します。 [EngineName]は、Tomcatサーバーが使用するエンジン名を指します。 Tomcatが使用するエンジンはカタリナです。
aa.xmlファイルにコンテキスト要素マッピングjavawebアプリケーションを追加すると、コードは次のとおりです。
<コンテキストdocbase = "f: /javawebdemoproject" />
注:パス属性は、仮想ディレクトリの名前を設定するコンテキスト要素で指定されていません。次に、「f:/javawebdemoproject」でマッピングされた仮想ディレクトリの名前はShenmaであり、現在編集中のXMLファイルの名前です。
この方法を使用して仮想ディレクトリをマッピングすることの最大の利点は、構成ファイルを変更した後にTomcatサーバーを再起動する必要がないことです。たとえば、aa.xmlをbb.xmlに変更します。 Tomcatサーバーはコンテキスト[/aa]を自動的に回答し、次に自動的に情報を展開します:構成記述子d:/apache-tomcat-7.0.53/conf/catalina/localhost/bb.xml
3。Tomcatサーバー構成仮想ホスト
3.1。仮想ホストを構成します
仮想ホストの構成は、Webサイトを構成することです。
Tomcat Serverで仮想ホスト(Webサイト)を構成するには、server.xml構成ファイルをconfフォルダーの下に変更し、ホスト要素を構成し、server.xmlを開き、以下に示すようにTomcatサーバーにLocalhostという名前の仮想ホスト(Webサイト)を見ることができます。
通常、開発されたJavawebアプリケーションをWebAppsフォルダーに配置し、「http:// localhost:port number/javawebappname」を使用してアクセスできます。実際、「LocalHost」という名前の仮想ホスト(ホスト)にアクセスしています。この仮想ホストは、WebAppsフォルダーのすべてのWebアプリケーションを管理します。
例:http:// localhost:8080/javawebdemoproject/1.jsp。このURLアドレスは、LocalHostという名前の仮想ホストの下にあるJavawebDemoprojectアプリケーションの1.JSP Webリソースにアクセスします。
次のように、仮想ホストを構成できます。
<host name = "www.gacl.cn" appbase = "f:/javawebapps"> </host>
ここでは、仮想ホストの新しい構成があります。仮想ホストの名前は「www.gacl.cn」です。仮想ホスト「www.gacl.cn」は、Javawebappsフォルダーの下ですべてのWebアプリケーションを管理するようになりました。通常、インターネットでドメイン名「www.baidu.com」を使用してBaiduのウェブサイトにアクセスすると、実際に「www.baidu.com」という名前の仮想ホストにアクセスしています。したがって、「www.gacl.cn」という名前の仮想ホストにアクセスしたい場合は、「ドメイン名(www.gacl.cn)」を使用してアクセスできます。 appbase = "f:/javawebapps"に注意してください。ここのJavawebappsフォルダーは、プロジェクトのルートディレクトリを表しているのではなく、下の図に示すように、1つ以上のJavawebアプリケーションを保存するフォルダーを表しています。
これは、多くのJavawebアプリケーションを保存するTomcat ServerのWebAppsフォルダーのようなものです。
3.2。 Windowsシステムにドメイン名を登録します
構成されたホスト(Webサイト)がドメイン名を介して外部からアクセスする必要がある場合、DNSサーバーまたはWindowsシステムのWebサイトにアクセスするときに使用されるドメイン名を登録し、下の図に示す「C:/Windows/System32/Drivers/etc」ディレクトリのホストファイルを見つけなければなりません。
このファイルを編集し、新しく追加されたWebサイトのドメイン名とIPアドレスを結合して、ブラウザでドメイン名www.gacl.cnを使用して、仮想ホスト名www.gacl.cnで管理されているWebアプリケーションにアクセスできるようにします。
ブラウザを使用して、ドメイン名「www.gacl.cn」を介してドメイン名「www.gacl.cn」の下にあるjavawebdemo1 webアプリケーションの1.jsp Webリソースにアクセスします。仮想ホスト「www.gacl.cn」が8080ポートを開きます。ユーザーは、この8080ポートを介してJavawebdemo1 Webアプリケーションの1.JSP Webリソースにのみアクセスして、この8080ポートを介してJavawebdemo1 Webアプリケーションの1.JSP Webリソースにアクセスします。
4.ブラウザとサーバー間の相互作用のプロセス
4.1。ブラウザとサーバーの相互作用図
ブラウザとサーバーの相互作用図
ブラウザを開き、URLアドレス「http://www.gacl.cn:8080/javawebdemo1/1.jsp」をブラウザーのアドレスバーに入力すると、サーバー上の1.jsp Webリソースにアクセスすると、ブラウザーとサーバーが魔法の操作を行いました。ブラウザ内の1.JSP Webリソースの内容をどのように確認しますか?
ブラウザとサーバーは次のことを行います。
1.ブラウザは、ホスト名「www.gacl.cn」に基づいて、オペレーティングシステムのホストファイルのホスト名に対応するホスト名を検索します。
2.ブラウザがオペレーティングシステムのホストファイルに対応するIPアドレスが見つからない場合は、インターネット上のDNSサーバーに移動して、ホスト「www.gacl.cn」の対応するIPアドレスを見つけます。
3.ブラウザがホスト「www.gacl.cn」の対応するIPアドレスを見つけた後、IPアドレスを使用してWebサーバーに接続します。
4.ブラウザがWebサーバーに接続した後、HTTPプロトコルを使用してリクエストをサーバーに送信します。リクエストの送信の過程で、ブラウザは以下の図に示すように、WebアプリケーションのWebリソースにアクセスするWebサーバーに、Webサーバーにデータを送信します。
これは、ブラウザがWebサーバーにリクエストを送信するときにサーバーに送信されるデータです。 「get /javawebdemo1/1.jsp http/1.1」の内容を説明しましょう。
GET:BrowserがGETでサーバーにリクエストを送信することをWebサーバーに伝えます。
/javawebdemo1/1.jsp:javawebdemo1アプリケーションの1.jsp WebリソースにブラウザがアクセスしたいことをWebサーバーに伝えます。
HTTP/1.1:BrowserがHTTPプロトコルを使用してそれを要求し、1.1バージョンを使用することをWebサーバーに伝えます。
5.ブラウザが上記の4つのステップを完了すると、Webサーバーがアクセスしたい1.JSP Webリソースを転送するのを待っています。
6.サーバーがブラウザによって送信されたデータを受信した後、受信したデータを解析し始めます。サーバーが「get/javawebdemo1/1.jsp http/1.1」の内容を解析すると、クライアントブラウザーがJavawebdemo1アプリケーションの1.JSP Webリソースにアクセスしたいことがわかっています。次に、サーバーは1.JSP Webリソースのコンテンツを読み取り、下の図に示すように、読み取りコンテンツをストリームの形でブラウザに送信します。
これは、Webサーバーによってブラウザに送信されるデータです。
7.ブラウザがサーバーによってデータを送信した後、下の図に示すように、データをユーザーに表示できます。
私が見た「Javawebdemo1」は、サーバーから送信されたデータをブラウザに解析する効果です。
サーバーから送信されたデータ:
http/1.1 200 okserver:apache-coyote/1.1content-type:text/html; charset = iso-8859-1content-length:102date:Mon、19 5月14:25:14 GMT <HTML> <HTML> <HTML> <HEAD> </body> </html>
これは、ブラウザとサーバーの間の相互作用プロセスです。
5。Javawebアプリケーションの構成構造
Javawebアプリケーションを開発する場合、さまざまなタイプのファイルに厳密なストレージルールがあります。それ以外の場合は、Webアプリケーションをアクセスできないだけでなく、Webサーバーにエラーを開始することもあります。
WebRoot→Webアプリケーションが配置されているディレクトリ。通常、仮想ディレクトリはこのフォルダーに構成する必要があります。
wweb-inf:このフォルダーは、Webrootフォルダーに配置する必要があり、この形式で名前を付けて、文字を大文字にする必要があります。
wweb.xml:構成ファイル、フォーマット要件を備えたファイルは、このフォームに命名する必要があり、Web-INFフォルダーに配置する必要があります。
web.xmlの形式は、tomcatから直接参照できます:tomcatディレクトリのwebapps/root/web-infディレクトリでweb.xmlファイルを見つけ、ファイルを新しく作成したweb-infフォルダーにコピーし、web.xmlファイルを変更し、コメントを内部に削除します。
web.xml:
<?xml version = "1.0" encoding = "iso-8859-1"? xsi:schemalocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"バージョン= "2.5"> <ディスプレイ<
これは、web.xmlファイルの形式です。
上記はこの記事に関するものです。すべての人の学習に役立つことを願っています。