今日の内容
JSP 1: 1命令 2.注 3組み込みオブジェクト 2. MVC開発モデル 3 EL式 4 JSTLタグ 5. 3階層
JSP:
1.ディレクティブ *機能:JSPページの構成とリソースファイルのインポートに使用 *形式: <%@ディレクティブ名属性名1 =属性値1属性名2 =属性値2 ...%> *カテゴリ: 1.ページ:設定 * JSPページのContentType:response.setContentType()と同等 1.応答本文のMIMEタイプと文字セットを 設定します2.現在のjspページのエンコーディングを設定します(高度なIDEのみ有効になり、低レベルのツールを使用する場合は設定する必要があります) pageEncodingプロパティは、現在のページの文字セットを設定します) *インポート:パッケージをインポート * errorPage:現在のページで例外が発生した後、指定されたエラーページに自動的にジャンプします * isErrorPage:現在のページがエラーページでもあるかどうかを識別します。 * true:はい、組み込みオブジェクト例外を使用できます * false:いいえ。デフォルト値。組み込みオブジェクト例外を使用できません
2. include:ページに含まれます。インポートページのリソースファイル * <%@インクルードファイル= "top.jsp"%> 3. taglib:インポートリソース * <%@ taglibプレフィックス= "c" uri = "http://java.sun.com/jsp/ jstl / core "%> * prefix:prefix、custom 2. Notes: 1. html notes: <!->:htmlコードスニペットのみコメントできます 2. jsp notes: <%- 推奨%>:すべてコメント可能
3.組み込みオブジェクト * jspページで作成する必要はなく、直接使用されるオブジェクト *合計9つあります: 変数名実際のタイプロール * pageContext PageContext現在のページ共有データ、他の8つの組み込みオブジェクトを取得することもできます * HttpServletRequest 1つの要求アクセス複数のリソース(転送) * 1つのセッションの複数の要求間のセッションHttpSession *すべてのユーザー間でのアプリケーションServletContext共有データ *応答HttpServletResponse応答オブジェクト *現在のページのページオブジェクトオブジェクト(サーブレット)これ * JspWriter出力オブジェクト、データ出力ページ上 * config ServletConfigサーブレット構成オブジェクト *例外スロー可能な例外オブジェクト
MVC:開発モデル
1. jspの進化の歴史 1.初期のサーブレットのみ、非常に面倒な応答出力タグデータのみを使用できます 。2.後のjspはサーブレットの開発を簡素化しました。jspを過度に使用する場合、大量のJavaコードをjspに書き込み、書き込みHTMLの表は、労働者の困難な部門を維持することが困難になる 3.後で、Web開発Javaは、設計プロセスをより合理作り、MVC開発モデルを学ぶ :2. MVC 1. M:モデル、モデルを。JavaBean *クエリデータベース、オブジェクトのカプセル化などの特定のビジネスオペレーションを完了します 2. V:ビュー、ビュー。JSP *データの表示 3. C:コントローラー、コントローラー。サーブレット *ユーザー入力の取得 *モデルの呼び出し *表示のために表示するデータの送信
*長所と短所: 1.利点: 1つの、低カップリング、容易なメンテナンス、労働者の有益な区分することができ 2.高い再利用性 2.短所: 1.プロジェクトのアーキテクチャが複雑されていることを確認し、開発者向けの高度な要求
EL式
1.概念:式言語 2.関数:jspページでのJavaコードの記述を置き換えて簡素化します。3 .構文:$ {式} 4.注: * jspはデフォルトでel式をサポートします。el式を無視する場合 1. jspでページ命令を設定します。isELIgnored = "true"現在のjspページ 2のすべてのel式を無視します。\ $ {Expression}:現在のel式を無視します
5.使用: 1.操作: *演算子: 1.算術演算子:+-* /(div)%(mod) 2.比較演算子:> <> = <= ==!= 3.論理演算子:&&(and)||(or)!(Not) 4.空の演算子:空 *関数:文字列、コレクション、配列オブジェクトがnullであるか、長さが0であるかを判断するために使用 * $ {空のリスト}:判断文字列、コレクション、または配列オブジェクトがnullであるか、長さが0である かどうか* $ {not empty str}:文字列、コレクション、または配列オブジェクトがnullではなく、長さが> 0であるかどうかを示します 。2.値を取得します 。1. el式はドメインオブジェクトから値を取得します 。2.構文: 1. $ {ドメイン名。キー名}:指定したドメインから指定したキーの値を取得します *ドメイン名: 1. pageScope-> pageContext 2. requestScope-> request 3. sessionScope-> session 4. applicationScopeを- >ファイルのアプリケーション(のServletContext) 例*:要求内のドメイン名=ジョー・スミス格納され requestScope.name} {$:*取得 2. $ {名前}キーを順次示しそれが見つかるまで、最小のフィールドからキーに対応する値を探します。
3.オブジェクト、リストコレクション、マップコレクションの値を取得します。1.オブジェクト:$ {ドメイン名。キー名。プロパティ名} *基本的に、オブジェクトのゲッターメソッドを呼び出します。
2.リストコレクション:$ {ドメイン名。キー名[インデックス]} 3.マップコレクション: * $ {ドメイン名。キー名。キー名} * $ {ドメイン名。キー名["キー名"]}
3.暗黙オブジェクト: * el式には11個の暗黙オブジェクトがあります * pageContext: * jspの他の8つの組み込みオブジェクトを取得します * $ {pageContext.request.contextPath}:仮想ディレクトリを動的に取得します
JSTL
1.概念:JavaServer PagesタグライブラリJSP標準タグライブラリ *は、Apache組織<tag>が提供するオープンソースの無料のjspタグです 。2.機能:jspページのJavaコードを簡略化して置き換えるために 使用します。3 . 手順を使用します。1。 jstl関連のjarパッケージのインポート 2.タグライブラリの導入:taglib命令:<%@ taglib%> 3.タグの使用 4.一般的に使用されるJSTLタグ 1. if:Javaコードのifステートメントと同等 1.属性: *テストは属性でなければなりません。ブール式を受け入れる *式がtrueの場合、ifタグ本文の内容が表示され、falseの場合、タグ本文の内容は表示されません *通常、テスト属性値はel式 2 と一緒に使用されます。注: * c:他のラベルがない場合、あなたは他のケースをしたい、あなたは、cを定義することができます:ifタグ 2.選択:Javaコードのswitch文の同等 1.ラベルの宣言は、switch文に相当します選択した のと同等の判断を行う際にラベル2.使用をケース 3.他のタグを使用して、デフォルトと同等の他の宣言を行う 3. foreach:Javaコードのforステートメントに相当します 。5.演習: *要件:リクエストフィールドにUserオブジェクトを含むListコレクションがあります。jstl + elを使用して、jspページのテーブルテーブルにリストコレクションデータを表示する必要があります。
3層アーキテクチャ:ソフトウェア設計アーキテクチャ
1.インターフェース層(プレゼンテーション層):ユーザーが見るインターフェース。ユーザーは、インターフェース上のコンポーネントを介してサーバーと対話できます 2.ビジネスロジックレイヤー:ビジネスロジックを処理します。 3.データアクセス層:運用データ格納ファイル。
事例:ユーザー情報一覧
1.要求:ユーザー情報の追加、削除、変更、およびチェック 2.設計: 1.技術的な選択:サーブレット+ JSP + MySQL + JDBCTempleat + Duird + BeanUtilS + tomcat 2.データベース設計: データベース作成day17; -create database use day17; - データベース作成テーブルユーザーを使用( -create table id int primary key auto_increment、 name varchar(20)not null、 gender varchar(5)、 age int、 address varchar(32)、 qq varchar(20)、 email varchar( 50) ); 3.開発: 1.環境のセットアップ 1.データベース環境の 作成2.プロジェクトの作成と必要なjarパッケージのインポート 2.エンコーディング
4.テスト 5.デプロイメントO&M