WebパブリッシングプロジェクトのTomcatのインストールと設定
コンテンツ今日
1、ウェブ開発の基本的な概念(理解)
2、Tomcatのインストールおよび構成(でなければなりません)
3、ウェブパブリッシングプロジェクト(予定)
4は、httpはじめプロトコル(理解)
ウェブ開発の基本的な考え方
1、ソフトウェアアーキテクチャ
一般的に使用されるソフトウェア:QQ、Jingdongは、淘宝網、KGC
1)C / Sアーキテクチャ
説明:クライアント/サーバー。
特徴:各アップデートをダウンロードしてインストールする必要が、クライアントとサーバーをダウンロードする必要がありそう更新する必要があります
それは、グラフィックスシステムは、基礎となるAPIで呼び出すためのコントロールは、冷却します
2)B / Sアーキテクチャ
説明:ブラウザ/サーバアーキテクチャ。これは、要求/応答モードを使用して、HTTPベースのプロトコルです。
特徴:ブラウザから直接アクセス、更新はサーバー側でユーザーの介入、メンテナンスを必要としません。
2、Webリソースの分類
Webリソースは何ですか?
サーバーでは、ユーザーがファイルにアクセスするために、画像、CSS、JS、ビデオ、オーディオなど
1)静的リソース:CSS、JS、HTMLの画像のビデオとオーディオ
2)動的リソース:ファイルがコンパイルされている場合は、コンテナ生成されたファイルで実行されるには、動的なリソースです。サーブレット、JSP。
ときにエンジンを行くために、ユーザのリソース、動的リソースと静的リソースへのアクセスは同じではありません。
3、サーバーの概念と一般的なWebサーバー
lのサーバーとは何ですか?
サーバーのソフトウェアとハードウェアの組み合わせ。まず、サーバのハードウェアでは、サーバーソフトウェアをインストールし、ソフトウェアが起動するように設定することができます。ユーザーがアクセスできるようにします。
L一般的なWebサーバー
コンセプト:ユーザーがWebサーバーに展開するときに、プログラムを実行することができ、Webサーバーは、Webリソースにアクセスするために開始することができます。
1)のWebSphere:IBMのサーバー事業、無償。
2)は、WebLogic:BEAのサーバー事業、JSP /サーブレットを充電
3)IIS、ASPのasp.net
4)Tomcatの:効率的でコンパクトなオープン・ソース・サーバー、。Tomcatは、一般的に、今、多くの場合、分散環境でクラスタを構築します。
図4に示すように、ウェブの動的リソース構造
Webアプリケーション(ウェブルート)
WEB-INF
web.xmlファイル(デプロイメント記述子ファイル)
LIB(ファイル、jarファイルを置きます)
JSP(HTML CSSのJS)
一般的なサイトは、CSS、JSと同様のIMGSを置く特別なフォルダが作成され、次の。libには、サードパーティのJARを入れて、あなたがパスを構築行く必要があり、にコピーした後、
Tomcatのインストールと設定
1.ダウンロード:https://tomcat.apache.org/download-80.cgi
2.何をダウンロードしますか?
説明:GZは、Linux版、ZIPのWindowsバージョンでは、適切に選択し、オペレーティング・システム64又は32によれば、です。
図3に示すように、インストールが解凍されます。
1)ルートディレクトリに解凍します
2)非常に特殊な文字を使用していない、スペースを含まない、中国のフォルダに解凍することができません
4、設定
1 )ソフトウェアが依存しているJDKを、何のJDKはスタートを実行しません。次に、設定する必要があり、JDK の環境変数を
JAVA_HOME:C:\プログラムファイル\のJava \ jdk1.8.0_111
CLASSPATH:;%JAVA_HOME%\ libに。%JAVA_HOME%\ libに
、先行%JAVA_HOME%以下の\ビンパス環境変数を設定します。
Path環境変数の変更が行われ
D:\プログラムファイル\のMySQL \ MySQLサーバ5.5 \ binに。
これは、環境変数の設定データベースです
%JAVA_HOME%\ binに。
これは、環境変数の設定は、JDKであります
%SystemRoot%\ system32;は%SystemRoot%;の%SystemRoot%\ System32 \ WBEM;の%SystemRoot%\ System32 \ WindowsPowerShell \ v1.0を\;
%CATALINA_HOME%\ binに。
これは、Tomcatの環境変数の設定です
-------------------------------------------------- -------------------------------------------------- -----------------------------
2 )構成Tomcatの環境
CATALINA_HOME:D:\ apacheの-tomcatに-8.0.26
%CATALINA_HOME%以下の\ビンが続きます。
3)正常なインストールを決定する方法
図5は、コマンドラインでstartup.batを、以下の画面が表示され、点滅しない画面では、それは全く問題がないことを意味します。これは、打ち上げ成功を示しています
6、テスト:ブラウザの入力8080 /:// localhostを:HTTPを、
7、Tomcatのディレクトリ構造
ビン:起動とシャットダウンTomcatのフォルダ。
startup.batのは、サーバを起動するために使用され、
shutdown.batは、サーバーを停止することです。
ここでbatファイル我々はと呼ばれるバッチファイルを。
.SHで終わるファイルは、Linux環境でのファイルサーバの起動とシャットダウンされています。
LIB:ソフトウェアパッケージに依存するJAR
ログ:ログファイル
一時:一時フォルダ
Webアプリケーション:そのようなサイトとして、独自のWebアプリケーションのファイルフォルダを公開するために使用されてここにコピーすることができます。
作業:ソースファイルのJSPドキュメントの翻訳とコンパイルされたバイトコードファイルを置きます
Webパブリッシングプロジェクト
誤解を学びます:
1)我々は、動的サイトの開発を完了したことを信じている、または正式発足をテストするために、手動でWebアプリケーションにプロジェクトをコピーする時間はありますか?
http:// localhost:8080 / WEB01 / xxxxxはリソース
ANSWER:あなたはこれを行うことができますが、デバッグ効率の開発が低すぎる、あなたが特定のコードを変更するたびに手動でコピーする必要があり、遅すぎます。だから我々は、自動的にソフトウェアを介して、次のwebappsにコピーされます。このソフトウェアのコピー処理が呼び出される展開と出版。ときニックこのように?たとえば、プロジェクトの完了後、お客様のサイトに、一般的にソースコード(ソースコードだけで実装エンジニアを与えるものではありません)の現場に持ち込まれていませんが、コンパイルされたファイルは、通常、手動での展開をコピーします。リモートコピーにも展開する方法することができます。(そこクラウドサーバは、アカウントとパスワードがあります)。
手作りのコピーを、そのような自動コピーなどのツールを、コピーして日食を介して展開:2)投稿者。
3つの方法の合計を解放するためにTomcatのWebプロジェクト:
- 直接にTomcatの/ webappsににコピーWebContentのWebプロジェクト。
- Tomcatの仮想パスを設定します
- Tomcatの仮想パスを設定します
方法1:Webアプリケーションに直接アイテムをコピー
単にWebアプリケーションへのWebプロジェクトはそれに注意を払うことができますコピーすると、コンテンツがこのフォルダをコピーwebContextです。
例如にhttp:// localhost:8080 / WebContentを/ NewFile.jsp
http://60.1.1.128:8080/aa/NewFile.jsp
あなたのWebページに誰か他の人のコンピュータにアクセスする必要があるときは、する必要がローカルホストマシン60.1.1.128の代わりにIPアドレスを
黒いウィンドウで、ipconfigで、道のIPアドレスを取得します。
第二の方法:Tomcatの仮想パスを設定する(推奨されません)
tomcatに/ conf / server.xmlファイルで構成されました
<ホスト>タグの構成では:
<コンテキストパス= "AAA" 文書ベース= "D:/ HELLOKITTY" />
三つの方法:仮想パスのTomcatの設定(推奨)
在のtomcat / confに/カタリナ/ localhostの/ xxx.xml
配置<コンテキスト文書ベース= "D:/ HELLOKITTY" />
ファイルの最後のパスで置換「D:/ HELLOKITTY」
仮想パスの名前としてXXX
xmlファイルを作成します。
XMLファイル名には、アクセス・パスです
例如にhttp:// localhost:8080 / AA / NewFile.jsp
どのようにパスを取得するには?
タスク、CMDは、サーバを起動するために使用された、およびサーバーは、Eclipseを使用して達成されたWebプロジェクトを公開開始しました
Tomcatの環境設定をEclipseと解放し、Webプロジェクトの展開
注意:プラグインが自動的に掲載されますので、最初のWebサーバーに追加しないでください
HTTPプロトコルの概要
概要のHttp契約
合意
契約はどのようなものです:両当事者がのルールに準拠する必要があります
httpプロトコル
何は、httpです:プロトコルブラウザとサーバ間のルールの遵守を要求します。。
解釈:ソフトウェアの契約があり、ブラウザとサーバーの両方の規則の規定に従うことにします。なぜ我々はルールに従う必要がありますか?それはソフトウェアなので、実行するための機械である、と彼は、ただ機械的な実行を、それを判断しません。コンピュータの世界では、バイナリデータ。そして、これらのデータは、相互に作用し、通信、機械はそれが命令を実行するためには何か知っていますか?そして、それはルールに合意する必要があります。それができるように。
ブラウザとサーバ間の仕様のデータ転送:HTTPプロトコルの役割。
httpプロトコルの機能:
- 要求と応答モデルに基づいて、
、応答性の要求がなければなりません
要求と応答がペアにする必要があります
- デフォルトのポート番号は80です
- 図3は、 であり、ステートレスプロトコル
HTTPプロトコルのバージョン:
1.0は、即座に、各接続に対応して引けました。
各応答の後ハングアップしない1.1今。、長い時間を待った後、何の要求がハングアップしません。
デモhttpプロトコル
パケットキャプチャ分析:方法を取得
要求部:
GET /ServletDemo/http/demo2.html?name=aaa&age=18 HTTP / 1.1
ホスト:localhostを:8080
ユーザーエージェント:Mozillaの/ 5.0(Windows NTの10.0; Win64の、x64の、RV:56.0)のGecko / 20100101 Firefoxの/ 56.0
受け入れ:text / htmlで、アプリケーション/ XHTML + xmlの、アプリケーション/ xmlの; Q = 0.9、* / *; Q = 0.8
受け入れ-言語:ZH-CN、ZH; EN-US Q = 0.8、; Q = 0.5、EN; Q = 0.3
受け入れエンコード:gzipで、収縮させます
リファラーます。http:// localhost:8080 / ServletDemo / HTTP / demo1.html
接続:キープアライブ
アップグレード・安全でない-要求:1
パケットキャプチャ解析:ポスト道
要求部:
POST /ServletDemo/http/demo2.html HTTP / 1.1
ホスト:localhostを:8080
ユーザーエージェント:Mozillaの/ 5.0(Windows NTの10.0; Win64の、x64の、RV:56.0)のGecko / 20100101 Firefoxの/ 56.0
受け入れ:text / htmlで、アプリケーション/ XHTML + xmlの、アプリケーション/ xmlの; Q = 0.9、* / *; Q = 0.8
受け入れ-言語:ZH-CN、ZH; EN-US Q = 0.8、; Q = 0.5、EN; Q = 0.3
受け入れエンコード:gzipで、収縮させます
コンテンツタイプ:アプリケーション/ x-www-form-urlencodedで
コンテンツの長さ:15
リファラーます。http:// localhost:8080 / ServletDemo / HTTP / demo1.html
接続:キープアライブ
アップグレード・安全でない-要求:1
名前= BBB&年齢= 38
レスポンス一部:
HTTP / 1.1 200 OK
サーバー:Apacheの-コヨーテ/ 1.1
受け入れ-範囲:バイト
ETag:W / "143から1508222586306"
最終更新:火、2017年10月17日6時43分06秒GMT
コンテンツタイプ:text / htmlの
コンテンツの長さ:143
日付:火曜、2017年10月17日午前六時48分05秒GMT
<!DOCTYPE HTML>
<HTML>
<ヘッド>
<メタ文字セット= "UTF-8">
<タイトル>ここで挿入タイトル</ TITLE>
</ head>の
<身体>
サーブレットこんにちは!
</ BODY>
</ HTML>
詳細httpプロトコル
要求部
リクエストライン
提出:
提出する多くの方法は、GET、POST、およびいくつかのプットは、削除され、一般的に使用される、あります...
違いをGETとPOST:
提出されたパラメータには、アドレスバーに表示されます得るが、投稿しないでください
サイズに制限される傾向があり、およびサイズ制限を投稿しません取得
何のリクエストボディを取得していない、とPOSTリクエストのボディがあります
パスを提出してください:
プロトコルバージョン:HTTP / 1.1
リクエストヘッダ
キーと値が存在するの形式で表示され、一般的にキー値に対応し、一つのキー値以上の何かがあります
User-Agent:---ファイルブラウザのダウンロードの種類を表し、中国の書類をダウンロードし、IEはのURLEncoderエンコードを使用して、FirefoxはBase64でエンコードされます
リファラー:ソース・ページ.---アンチホットリンクを表し、
変更 - 開始:一般的にローカルキャッシュを見つけることのLast-Modifiedレスポンスヘッダで使用。
リクエストボディ
ポスト提出は、パラメータのサーバーに送信されます
レスポンスの一部
応答ライン
プロトコルバージョン:HTTP / 1.1
ステータスコード:
200の成功
302リダイレクト
ローカルキャッシュ304を探します
404のリソースは存在しません。
500内部サーバーエラー
ステータスコード説明
レスポンスヘッダ:値のペア、通常値に対応するキーだけでなく、複数の対応するキー値
Last-Modified:場合 - 変更 - ので、リクエストのヘッダとルックローカルキャッシュを使用しました。
ヘッダファイルのダウンロード時間の使用:コンテンツ処分
場所:ジャンプパスをリダイレクト
リフレッシュ:タイマー/タイマージャンプをリフレッシュ
問題:
ウェブ、原理はどのようなキャッシュですか?
リクエスト初めて、クライアントブラウザのキャッシュフォルダに同じリソースに対する要求は、リクエストヘッダをサーバーに場合 - 変更 - SICE(タイムスタンプ)を取る二度目のリソースと時間をかけたときどのようなサーバーの最終更新時間を要求されたリソースを見つけるために、そして、リソースは、ブラウザのキャッシュフォルダに再送信されます異なる場合時間をかけてもたらした今回は、比較すること、そしてそれがタイムスタンプをもたらす直前に入って過去に変更されました。(この時点では、ブラウザのキャッシュフォルダに再送信されたリソースではありません)と同じ場合は、ステータスコード304を送信するには、ブラウザは自動的にキャッシュフォルダにリソースを検索し、表示されます。
レスポンスボディ:
ブラウザにページの内容を表示します
求人:
1つの3の公開練習
2は、日食でWebプロジェクトを作成して、Tomcatを設定し、プロジェクトの起動、シャットダウンを公開します。
3、サーブレットプレビュー
一番下の行を学びます:
1 、Webプロジェクトを作成し、Tomcatを設定し、プロジェクトを発行します、スタート
図2は、サーブレットを作成し、配備記述子を設定し、サーブレット(相対および絶対パス)にアクセスするためのURLを通過します
図3は、でサーブレット(コントローラ)によって提出された要求パラメータクライアント・ブラウザ・リクエスト・オブジェクトから得られるであろう。
それは前提が背景からバックグラウンドにフォアグラウンドからデータを提出することになることを意味します。Requestオブジェクトは、コアな方法を学びます。
図4は、バックグラウンドからフォアグラウンドになります。これは、データ・ページまたはフロントデスクに応答します。REPONSEオブジェクト
5 、リクエストは、歪みや歪みに応じて処理されます。リクエストデータは時にフロントデスクを得て、そこに文字化けする場合はgetが処理されるように提出しました。応答データは、応答処理によって文字化けします。
6 、データ・ドメイン・オブジェクトを格納するために、今度は適切なドメインオブジェクトを選択する、転送とリダイレクトの違いを理解します。もちろん、オブジェクトフィールドに格納された値から得られます。
7 、MVC実装工程
8 (データ、処理サイクルを結合し、結合ドメインのオブジェクトの後に得られたデータから決定された場合)、およびJSTL EL式を使用
図9は、3層アーキテクチャに基づいて、これはこの基礎の基礎となっています。
図10は、フィルタの使用します
11 、JSP 9ビルトインオブジェクトとその使用方法
12 、AJAXを処理し、データがJSONを返します
13 、単一条件ページングクエリテーブル
一部の向上:
1 、クッキーの原則
2 、セッションの原則の
3 、クロスドメインアクセスの問題
図4は、フォーム送信処理を繰り返します
5 、クッキー禁止どのように処理しますか?
6 、(アップロードとダウンロードを処理するためのフレームワークを開発していない私たちの起業家との)ファイルをアップロードし、ダウンロードしてください
7 リスナーのシーンを使用して、
8 、ユーザーの自動ログイン機能
9 、JSPのページ(の一部アクション、小さなスクリプト、シャッフル利用の表現)
10 、コード
11 条件で、ページングクエリ複数のテーブル