この記事では、JSP をベースとした柔軟で興味深いテクノロジを紹介します。JSTL は Java Server Pages Standard Tag Library の略です。JSP は非常に普及しましたが、SQL データベース ベースのアプリケーションでは依然として JSTL が人気があります。 . シンプルで高速なフロントエンドおよびバックエンド開発はまだ広く使用されていません。 JSTL を理解すると、その利点がわかり、プログラマーとしての日常業務のさまざまな側面で JSTL が使用されていることがわかります。ここでは、読者がすでに HTML に精通しており、基本的な SQL ステートメントと JSP の基本を理解できることを前提としています。なぜなら、以下の内容にはこの知識が含まれるからです。
JSTL は、反復、条件、XML ドキュメントの解析、国際化、および SQL を使用したデータベースとの対話機能をサポートする標準化されたタグ ライブラリのコレクションです。当初、JSTL 仕様は、JCP (Java コミュニティ プロセス プログラム) によって組織された JSR #52 によって開発および改良されました。「JCP は Java テクノロジ開発の重要な任務を担っています」 - 公式 Web サイトのコメント。 JCP はオープンな組織として、正式なメンバーと非公式のメンバーの両方を吸収し、Java 技術仕様の形成と開発において重要な主導的役割を果たしてきました。 JSTL には主に、コア、XML、国際化、SQL のサポートというタグ ライブラリの 4 つの基本部分が含まれています。この記事の主な目的は、SQL 部分の適用を通じて JSTL をすばやく理解することであるため、この記事では Core および SQl タグ ライブラリのいくつかの基本機能のみを紹介します。
この技術は、PHP や ColdFusion に匹敵するほどシンプルで強力であり、大規模でスケーラブルな Web アプリケーションだけでなく、単純な Web プログラムも含めて、Java の応用分野を拡張するのに十分な能力を持っています。問題。これにより、サイトを構築する際に XML 統合やデータベース接続に関する通常の考慮事項を回避できます。先ほども述べたように、JSTL の重要な点はシンプルさと使いやすさです。また、JSTL は JSP 上に構築されているため、覚えておく必要があるすべての Java テクノロジを使用できるようになります。
始める前に、JSTL は JSP テクノロジーに基づいているため、JSP をコンパイルして実行できるコンテナーが必要です。ここでは、無料の JSP コンテナー ( http://jakarta. apache.org/tomcat/index.html )。この製品のインストール方法はこの記事の範囲外です。このソフトウェア製品が現在非常に人気があることは疑いなく、インストール方法に関するドキュメントがたくさんあります。ここでは、このコンテナーがインストールされ、正常に構成されていることを前提としています。JSTL を実行するために必要なファイルのみをインストールする必要があります。このファイルはhttp://jakarta.apache.org/taglibs/doc/standard-doc/introからダウンロードできます。 .html を実際にインストールする必要はありません。その方法は後で説明します
ので
、アプリケーションの WEB-INF/lib ディレクトリに .JAR ファイルを含める必要があります。a 標準 SQL をサポートするデータベース上でプログラムを実行するには、コンピュータにデータベースがインストールされている必要があります。データベースにはさまざまな種類がありますが、ここでは MySql を選択しました。私が彼を選んだ理由は、まずシンプルで高速なアプリケーション分野を構築する上での JSTL の役割を示す必要があり、同時にこの分野で常に主流であった PHP+MySql と比較できるからです。 2 番目のポイントは、MySql は無料でダウンロードでき、JAVA 用の JDBC ドライバーが含まれていることです。つまり、次の例を使用するには、MYSQL サーバー ( http://www.mysql.com/products/ ) をダウンロードする必要があります。 mysql/index.html ; MySql コネクタ /J JDBC ドライバーhttp://www.mysql.com/products/connector-j/index.htmlおよび MySql コントロール センターhttp://www.mysql.com/products/connector- j/index.html ) を使用すると、Mysql データベース ファイルを非常に簡単に操作および管理できます。すべてのダウンロードが完了したら、mysql と mysql Control Center をインストールする必要があります。さらに、mysql 用の JDBC ドライバーを Web アプリケーションの /Web-INF/lib ディレクトリに配置する必要があります。
プログラム コードを作成する前に、データベース テーブルを作成して入力する必要があります。このトピックに関する広範な記事があり、その方法についてはこの記事の範囲を超えています。ここでは、前述したビジュアル管理ツールである MySQL Control Center を使用して、プログラムを実行するためのテスト ユーザーを作成したり、データベースを作成したり、テスト テーブルを作成したり、多数のレコードを入力したりすることをお勧めします。ログイン名やパスワード データベース名などの構成環境パラメータについては、覚えておく必要があり、後でコードに適用する必要があります。
これで、最初の JSTL アプリケーションを作成する準備が整いました。次のことを行う必要があります。
サンプル プログラム コード全体には、Hello.jsp と Continue.jsp という 2 つのファイルが含まれています。Hello.jsp
ファイルには、データベース名を入力できます。 、ログイン名、ログインパスワード、データベーステーブル名。 Continue.jsp: Hello.jsp 内のデータ情報を受け取り、データベースに接続し、データベース内のテーブルに対して Select リクエストを実行します。
以下にこのシステムのすべてのコード ファイルを示します。1 つずつ説明します。これらのコードは非常に単純です。コードの構造については、説明しなくても理解できると思います。1
: <!-- Hello.jsp -->
2: <html>
3:<頭>
4: <title>こんにちは</title>
5:</頭>
6:<本文 bgcolor="#ffffff">
7: <h1>必要な情報をすべて入力し、「OK」をクリックしてください。</h1>
8: <formメソッド="post" action="Continue.jsp">
9: <br>データベースへのログイン:
<input type="text" name="login" size="15">
10: <br>データベースへのパスワード:
<input type="パスワード" name="パスワード" size="15">
11: <br>あなたのデータベース名:
<input type="text" name="database" size="15">
12: <br>データベーステーブル:
<input type="text" name="table" size="15">
13: <br><br><input type="submit" name="submit" value=" OK ">
14:</フォーム>
15:</本体>
16: </html>
(テキストの左側にある数字は、マークアップ情報を提供するためのものであることに注意してください。コード ファイルに入力する必要はありません。)
上記はすべてのソース コードです
。Hello.jsp は驚くべきことに、単なる純粋な HTML コードであり、コメントは必要ないと思います。記事にこれらのコード スニペットを含める理由は、必要な HTML サイトへの JSTL の統合を示すためです。簡単に追加機能を拡張するための Continue.jsp のコード全体を示します。これを読めば、JSTL についてある程度理解できるでしょう。
1: <!-- Continue.jsp -->
2: <%@ taglib prefix="c" uri=" http://java.sun.com/jstl/core " %>
3: <@taglib prefix="sql" uri=" http://java.sun.com/jstl/sql " %>
4: <c:set var="h" value="localhost"/>
5: <c:set var="l" value="${param.login}"/>
6: <c:set var="p" value="${param.password}"/>
7: <c:set var="d" value="${param.database}"/>
8: <c:set var="t" value="${param.table}"/>
9: <html>
10:<頭>
11:<タイトル>続き</タイトル>
12:</頭>
13:<body bgcolor="#ffffff">
14: <sql:setDataSource driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://${l}/${d}?user=${u}&password=${p}"/>
15: <sql:query var="result">
16: SELECT * FROM <c:out value="${t}"/>
17: </sql:クエリ>
18: <c:forEach var="row" items="${result.rowsByIndex}">
19: <c:out value="${row[0]}"/> <br>
20: </c:forEach>
21:</本体>
22: </html>
(テキストの左側にある数字はマークアップ情報を提供するためのものであり、コード ファイルに入力する必要はないことに注意してください。)
これがすべてのコードです。素晴らしいですか?ここで、上記のコードの機能を説明しましょう。
1行目はHTMLコメントの説明です。
行 2 ~ 3 これらの JSP タグは、外部タグ ライブラリを参照するために使用されます。より正確には、JSTL ライブラリのコアおよび SQL タグ ライブラリ部分を参照します。これらのプレフィックス名を設定して、これらのプレフィックス名を通じて導入されたタグ ライブラリ内の関数メソッドにアクセスできるようにします。
4行目---8 Hello.jspが実際に実行されているのと同じように、Continue.jspをリクエストします。Continue.jspがリクエストを取得した後、Hello.jspからいくつかの変数を取得して解析する必要があります。${paramというメソッドを使用します。 .YOUR_VAR}。 4 行目の <c:set タグで、変数 ${h} を「localhost」に設定します。 5 行目の変数 ${l} は、Hello.jsp の 6 番目と 7 番目のログイン テキスト フィールドに入力した情報を取得します。 8 行の変数は、ユーザーが Hello.jsp に入力したパスワード、データベース名、データ テーブル名をそれぞれ取得します。
行 9 ~ 13 は、HTML ページ ヘッダーを作成するためによく使用するいくつかの単純な HTML タグです。ここで、重要な機能を説明します。
14 行目では、先ほど取得した mysql ドライバー (com.mysql.jdbc.Driver) を使用してデータベース接続を確立しようとします。URL には、データベース名、ホスト名、ログインなど、データベース接続に必要なパラメーターを指定します。名前とログインパスワード。したがって、他の JDBC ドライバーを使用して、対応するデータベースに接続できます。他の SQL データベースに接続する必要がある場合は、この URL を変更するだけです。
15 ~ 17 行目 ここでは、Select クエリを実行します。16 行目に特に注意してください。別の JSTL 関数 <c:out を使用して、取得したデータ テーブル名を出力します。ここでは、INSERT などの他の SQL コマンドも使用できます。 、削除など。戻り値なしでこれらのクエリ リクエストを実行するには、<sql:update JSTL 関数を使用する必要があります。 <SQL:query と同じようにこれらを直接実行できます。ただし、実行時に、ステートメントの実行によって返された結果を格納するための結果変数を指定する必要はありません。
18 ~ 20 行目 上記の SELECT クエリ ステートメントを実行したので、その返された結果を表示する必要があります。 <c:forEach は JSTL の反復関数を持つ関数で、実行時に変数 ${row} に返された各データ行の情報を ${result.rowsByIndex} を通して返し、19 行目で <c: を使用します。 out value="${row[0]}"/> は、返された各データ行の最初のデータ列の値を表示します。データ テーブルにフィールドが含まれている限り、変数 ${row} の数値を変更することで、リクエスト テーブルの任意のフィールドの値にアクセスできます。
行 21 ~ 22 は HTML フッターです。JSTL
アプリケーションを自分で作成する過程では、JSTL 関数がどれほど強力であるかは分からなかったかもしれませんが、JSTL 関数の単純さと効率性を想像してみてください。 SQL ベースのニュース コラムを統合することと、既存の Web サイトを統合することがどれほど簡単であるかです。
非常に優れており、私たちのコードは非常に理解しやすく、たとえばデザイナーでなくても、少なくともページ レイアウトを読んで理解することができます。
冒頭で述べたように、JSTL コードを適切に実行するには、JAR ファイルを Mysql Connector/J にインストールし、もちろん JSTL もインストールする必要があります。 JSP コンテナである Tomcat を使用するため、Tomcat のファイル ディレクトリ Webapps の下に独自のフォルダを作成し、作成したファイル ディレクトリに Hello.jsp および Continue.jsp ファイルを配置する必要があります。また、WEB- という名前のフォルダも作成する必要があります。 INF を作成し、その中に設定ファイル Web.xml を配置します。web.xml ファイルは次のとおりです。
<?xml version="1.0"coding="UTF-8"?>
<!DOCTYPE Webアプリ
PUBLIC "-//Sun Microsystems, Inc.//DTD Web アプリケーション 2.3//EN"
「 http://java.sun.com/dtd/web-app_2_3.dtd 」>
<web-app />
次に、WEB-INF の下に lib というサブディレクトリを作成し、そこに次のファイルを置く必要があります:
jstl.jar
saxpath.jar
標準.jar
mysql-connector-java-3.0.9-stable-bin.jar (この名前は Mysql Connector/J のバージョンに応じて変わる可能性があることに注意してください)
これらすべての情報は、正確に理解したい場合は、JSTL または Tomcat マニュアルで確認できます。どのように、そしてなぜ機能するのかについては、これらのマニュアルをお読みください。ただし、JSTL の基本操作をすぐにマスターできるように、関連する知識を紹介しました。
他の Jsp コンテナを使用している場合は、関連するマニュアルを読む必要があります。
この記事は JSTL テクノロジーの基本的な紹介にすぎず、完全なマニュアルではありません。 JSTL には、Jsp 開発を簡単かつ迅速に完了するのに役立つ機能が豊富な関数の使用法が多数含まれています。最終的には、JSTL 関数とそれが JavaBeans でどのように動作するかに関する詳細なドキュメントを読むことをお勧めします。それはあなたが待ち望んでいた開発プラットフォームであるということです。この記事を読むことで、SQL データベースに基づいた単純なフロントエンドおよびバックエンド アプリケーションを作成できるようになります。