JavaWeb-tomcatコンテナ
5546 ワード
tomcat
下位層でSocket間の通信をサポートするデータ共有は、内部ウェブサーバソフトウェア(コンテナ:servet/jspをオブジェクトの作成、jspをjavaファイルに翻訳、ideがjavaファイルをclassファイルにコンパイル)によって実現され、tomcatはjavaEE(EJBはサポートされていない)を完全にサポートしていないが、ウェブサーバをサポートできる無料ソフトウェアである
コンテナの機能:
1.通信サポート:コンテナが提供する方法を利用して、サーブレットとWebサーバーを簡単に会話させることができ、自分でサーバーSocketを確立したり、ポートを傍受したり、ストリームを作成したりする操作を必要としない.2.ライフサイクル管理クラスをロードし、サーブレットをインスタンス化して初期化し、サーブレットのメソッドを呼び出し、サーブレットインスタンスをゴミ回収できるようにします.3.マルチスレッド処理コンテナは、受信したサーブレット要求ごとに新しいJavaスレッドを自動的に作成します.4.セキュリティあり:XML配備記述ファイルを使用してセキュリティを構成します(サーブレット3.0では注釈記述を使用できます).サーブレットまたは他のクラスにハードコーディングを書き込む必要はありません.
tomcatインストールディレクトリの下のフォルダ:
bin:tomcatの実行可能ディレクトリ startup.bat/startup.sh(linux) shutdown.bat/shutdown.sh(linux)
conf:tomcatの構成ディレクトリ web.xml:グローバルパラメータの定義、Webサイト情報の構成 server.xmlサーバの構成 lib:tomcatでサポートされているjarパッケージ(serlvetとjspパッケージが含まれています)
バージョン競合を防止するために、mavenプロジェクトで依存を指定する必要がある場合は、provide依存範囲:compile:コンパイルtest:provideのテスト:現在のプロバイダのみ
logs:ログ記録ファイルtemp:一時ファイルを格納webapp:サイト情報を格納(1つのサイトはフォルダと見なすことができる)、デフォルトアクセスroot(tomcat_home)work:jspファイルを格納(hello.jsp->hello_jsp.java->classファイル)WEB-INF:サイトの構成情報、web.xml(servet/初期化パラメータの構成) classes:バイトコードファイル を格納 lib:jarパッケージ を格納
tomcatを起動するとよく発生する問題:
フラッシュの原因:tomcat起動時にbinディレクトリのstart.bat起動、java環境変数(JAVA_HOME)解決:JAVAを構成するHOME,tomcatを追加するインストールディレクトリの起動に失敗した原因:1つのコンピュータの上で複数のtomcatがあって、catalina_を配置しましたHOME解決:catalina_を構成しないHOME、tomcatは1つしか残っていません
tomcat起動後(http://localhost:8080)、tomcatは、現在データ型がサポートされている言語を携帯するリクエストを送信します.
tomcatデフォルトポート:8080 qq:5555 mysql:306
servlet:サーバアプリケーションに対して開発するのは実は1つの単一のインスタンスのマルチスレッドの普通のjavaクラスで、webアプリケーションサーバによって解析することができる1種類はそのソースコードが変化するかどうかによって動的資源か静的資源かを区別することができる:静的資源:Html/css/js/.jpg/gifダイナミックリソース:サーブレット
mavenのwebプロジェクトでuriリクエストを提出すると、webになります.xmlファイルで動的リソースアドレスをクエリーし、ない場合は現在のルートディレクトリで静的リソースをクエリーします.
コンテナを使用してサーブレットを手動で開発するには、次の手順に従います.
サーブラーはクライアントからの要求を受信し、処理後にクライアントにデータを応答する(クライアントからの要求を受信し、サーバからの応答)mavenプロジェクトを作成する(ディレクトリはwebエンジニアリング構造に合致する).pom.xmlでwarパッケージを打つ.補完ディレクトリ構造
3.pomファイルに依存インポートjavax.servlet-apiをインポートする必要があるサーブレットを作成し、pomを構成する.xmlファイル
4.クラス継承HttpServeretを作成し、doGet()を上書きする:getメソッドのコミットを実行する;doPost()の上書き:postメソッドを使用してコミット
5.webを構成する.xmlファイル
6.mavenを使用してwarパッケージにし、tomcatプログラムに入れる
要求プロセス:1.tomcatサーバ起動–サーブレットオブジェクトを作成する2.requestオブジェクトをHttpServletにカプセル化し、HttpServletRequest 3となる.HttpServiceletのいくつかの組み込みメソッドを解析して初期化
mavenのwebプロジェクトではuriリクエストを送信し、tomcatがwebを優先します.xmlファイルでは、動的リソースアドレスがクエリーされ、ない場合は、現在のルートディレクトリで静的リソースがクエリーされます.
マップパスの書き方は、 ファジイマッチングa. マッピングパスで正確な一致とファジイの一致で正確な一致が得られない優先度は、ファジイの一致で接尾辞名の末尾を指定する接尾辞名のペーストの一致よりも低い.
下位層でSocket間の通信をサポートするデータ共有は、内部ウェブサーバソフトウェア(コンテナ:servet/jspをオブジェクトの作成、jspをjavaファイルに翻訳、ideがjavaファイルをclassファイルにコンパイル)によって実現され、tomcatはjavaEE(EJBはサポートされていない)を完全にサポートしていないが、ウェブサーバをサポートできる無料ソフトウェアである
コンテナの機能:
1.通信サポート:コンテナが提供する方法を利用して、サーブレットとWebサーバーを簡単に会話させることができ、自分でサーバーSocketを確立したり、ポートを傍受したり、ストリームを作成したりする操作を必要としない.2.ライフサイクル管理クラスをロードし、サーブレットをインスタンス化して初期化し、サーブレットのメソッドを呼び出し、サーブレットインスタンスをゴミ回収できるようにします.3.マルチスレッド処理コンテナは、受信したサーブレット要求ごとに新しいJavaスレッドを自動的に作成します.4.セキュリティあり:XML配備記述ファイルを使用してセキュリティを構成します(サーブレット3.0では注釈記述を使用できます).サーブレットまたは他のクラスにハードコーディングを書き込む必要はありません.
tomcatインストールディレクトリの下のフォルダ:
bin:tomcatの実行可能ディレクトリ
conf:tomcatの構成ディレクトリ
バージョン競合を防止するために、mavenプロジェクトで依存を指定する必要がある場合は、provide依存範囲:compile:コンパイルtest:provideのテスト:現在のプロバイダのみ
logs:ログ記録ファイルtemp:一時ファイルを格納webapp:サイト情報を格納(1つのサイトはフォルダと見なすことができる)、デフォルトアクセスroot(tomcat_home)work:jspファイルを格納(hello.jsp->hello_jsp.java->classファイル)WEB-INF:サイトの構成情報、web.xml(servet/初期化パラメータの構成)
tomcatを起動するとよく発生する問題:
フラッシュの原因:tomcat起動時にbinディレクトリのstart.bat起動、java環境変数(JAVA_HOME)解決:JAVAを構成するHOME,tomcatを追加するインストールディレクトリの起動に失敗した原因:1つのコンピュータの上で複数のtomcatがあって、catalina_を配置しましたHOME解決:catalina_を構成しないHOME、tomcatは1つしか残っていません
tomcat起動後(http://localhost:8080)、tomcatは、現在データ型がサポートされている言語を携帯するリクエストを送信します.
tomcatデフォルトポート:8080 qq:5555 mysql:306
servlet:サーバアプリケーションに対して開発するのは実は1つの単一のインスタンスのマルチスレッドの普通のjavaクラスで、webアプリケーションサーバによって解析することができる1種類はそのソースコードが変化するかどうかによって動的資源か静的資源かを区別することができる:静的資源:Html/css/js/.jpg/gifダイナミックリソース:サーブレット
mavenのwebプロジェクトでuriリクエストを提出すると、webになります.xmlファイルで動的リソースアドレスをクエリーし、ない場合は現在のルートディレクトリで静的リソースをクエリーします.
コンテナを使用してサーブレットを手動で開発するには、次の手順に従います.
サーブラーはクライアントからの要求を受信し、処理後にクライアントにデータを応答する(クライアントからの要求を受信し、サーバからの応答)mavenプロジェクトを作成する(ディレクトリはwebエンジニアリング構造に合致する).pom.xmlでwarパッケージを打つ.補完ディレクトリ構造
src
Man
java
Resource
Webapp
WEB-INF
Web.xml
3.pomファイルに依存インポートjavax.servlet-apiをインポートする必要があるサーブレットを作成し、pomを構成する.xmlファイル
4.0.0
war
com.github.sweeeeeet
tomcat-http
1.0-SNAPSHOT
javax.servlet
javax.servlet-api
3.1.0
provided
4.クラス継承HttpServeretを作成し、doGet()を上書きする:getメソッドのコミットを実行する;doPost()の上書き:postメソッドを使用してコミット
package com.github.sweeeeeet.tomcat;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
* Author:sweet
* Created:2019/4/25
* new MyFirstServlet(), tomcat
*/
public class MyFirstServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//
resp.setContentType("text/html;charset=utf-8");
//
resp.getWriter().write("hello, Servlet");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
}
}
5.webを構成する.xmlファイル
MyFirstServlet
com.github.sweeeeeet.tomcat.MyFirstServlet
MyFirstServlet
/myFirstServlet
HelloServlet
com.github.sweeeeeet.tomcat.HelloServlet
HelloServlet
/helloServlet
6.mavenを使用してwarパッケージにし、tomcatプログラムに入れる
要求プロセス:1.tomcatサーバ起動–サーブレットオブジェクトを作成する2.requestオブジェクトをHttpServletにカプセル化し、HttpServletRequest 3となる.HttpServiceletのいくつかの組み込みメソッドを解析して初期化
mavenのwebプロジェクトではuriリクエストを送信し、tomcatがwebを優先します.xmlファイルでは、動的リソースアドレスがクエリーされ、ない場合は、現在のルートディレクトリで静的リソースがクエリーされます.
マップパスの書き方
/
と正確に一致する.ブラウザで要求されたuriは次のとおりです.http://localhost:8080/ファイル名/*
;任意の経路b.*.action
を表す.指定した接尾辞名で終わる