Javawebプロジェクトフレームワークの構築・準備
はじめに:
Java を 2 年生から学び始めてもうすぐ 2 年が経ち、現在 4 年生ですが、これまで遊んでばかりで本格的に勉強したことがなかったので、今になって改めて学び始めました。 。Huang Yong 先生の「Architecture Adventure」を見たのも偶然で、Java Web フレームワークの書き方を学び始めました。
1. 開発ツール
「Architecture Adventure」という本には、IntelliJ IDEA (略して IDEA) が業界最高の Java 開発ツールであると記載されていますが、これには 2 つのバージョンがあり、費用のかからないコミュニティ バージョンと、オープンソースの個人バージョンです。 , しかし、機能が多く、包括的ではありません. もう1つは、有料のエンタープライズ版であり、包括的な機能を備えたフルバージョンです。そこで、一番良いものを使うという目的から、思い切って有料版をダウンロードしましたが、インストールの途中で、この開発ツールの小さなバグも発見しました。この開発ツールの有料版には、30日間の試用期間があるため、インストール前にコンピューターのシステム時刻を 6 か月後に変更することができます。たとえば、2016 年 12 月の場合は、2017 年 6 月に変更できます。これにより、インストール完了後の試用期間は 2017 年 7 月までとなります。システム時間を戻しても問題ありませんが、試用期間はまだ 2017 年 7 月です。
その後のインストール プロセスは比較的簡単です。注意すべき点は、あまり変更しない方がよいということです。延期期間は 1 年以内です。インストールが 1 年を超える場合は、エラーが報告されます。
2. 小さなプロジェクトを作成する
正式な作業を開始する前に、まず Hello World を作成します (すべての開発はこのステップと切り離せないようです)。1 つ目は Maven に慣れること、2 つ目はサーブレットと JSP を復習することです。始める!!!
1. Maven プロジェクトを作成する
Maven は、プロジェクト管理およびビルド自動化ツールです。ただし、プログラマにとっては、プロジェクト構築機能の方が重要です。ただし、IDEA を開発ツールとして使用する場合、IDEA にはデフォルトで Maven が統合されているため、Maven を個別にダウンロードして構成する必要はありません。IDEA を使用した Maven プロジェクトの作成は非常に簡単です:
a. 右上隅のツールバーで [ファイル]、[新規作成]、[プロジェクト] の順にクリックします。
b. ポップアップ ボックスで [Maven] を選択し、[次へ] を選択します。
c. 次のウィンドウでは、これら 3 つは必須であり、非常に重要です。GroupId は、Java のパッケージ名と同様に、一意性を確保するために Web サイトのドメイン名を逆にしたものとして推奨されます。ArtifactId はモジュール名なので、自分で名前を付けることができます。
d. [次へ] に進み、プロジェクト名を入力して、[完了] をクリックします。
この時点で、Maven プロジェクトが作成されます。
2. Maven 構成ファイル pom.xml を開くように Maven を構成し
、一連の構成を実行します。構成が完了すると、次のようになります。
<? xml バージョン = "1.0" エンコーディング = "UTF-8" ?> <プロジェクトxmlns ="http://maven.apache.org/POM/4.0.0" xmlns:xsi ="http://www.w3.org /2001/XMLSchema-instance" xsi:schemaLocation ="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" > < modelVersion > 4.0.0 </ modelVersion > < groupId >組織 </ version > < property > < project.build.sourceEncoding > UTF-8 </ project.build.sourceEncoding > </ property > < build > < plugins > <!-- Compile --> < plugin > < groupId > org .apache.maven。プラグイン</ groupId > < artifactId > maven-compiler-plugin </ artifactId > <バージョン> 3.3 </バージョン> <設定> <ソース> 1.8 </ソース> <ターゲット> 1.8 </ターゲット> </設定> </プラグイン> <!--テスト--> <プラグイン> <グループ ID > org.apache.maven。プラグイン</ groupId > < artifactId > maven-surefire-plugin </ artifactId > <バージョン> 2.18.1</ version > < configuration > < skipTests > true </skipTests> < / configuration > </ plugin > <!-- Tomcat -- > < plugin > < groupId > org.apache.tomcat.maven </ groupId > < artifactId > tomcat7-maven-plugin </ artifactId > <バージョン> 2.2 </バージョン> <設定 > <パス> /${project.artifactId} </パス> </設定> </プラグイン> </プラグイン> </ビルド> <パッケージング> war </パッケージング> <依存関係> <!--サーブレット--> <依存関係> <グループ ID > javax.servlet </グループ ID > <アーティファクト ID > javax.サーブレット API </ artifactId> <バージョン> 3.1.0 </ version > <スコープ>提供されています</スコープ> </依存関係> <!-- JSP --> <依存関係> < groupId > javax.servlet.jsp </ groupId > < artifactId > jsp -api </ artifactId > <バージョン> 2.2 </バージョン> <スコープ>提供されています</スコープ> </依存関係> <!-- JSTL --> <依存関係> < groupId > javax.servlet </ groupId > < artifactId > jstl </ artifactId > < version > 1.2 </ version > <スコープ>ランタイム</スコープ> </依存関係> </依存関係> </プロジェクト>
1 つ目は、エンコード形式を UTF-8 に設定することです。
<プロパティ>< project.build.sourceEncoding > UTF-8 </ project.build.sourceEncoding ></プロパティ>
次に、JDK を 1.8 に設定し (私のコンピューターの JDK バージョンは 1.8 なので、これは人によって異なります)、Tomcat を 7 に設定します。
<ビルド> <プラグイン> <!--コンパイル--> <プラグイン> < groupId > org.apache.maven.plugins </ groupId > < artifactId > maven-compiler-plugin </ artifactId > < version > 3.3 </ version > <設定> <ソース> 1.8 </ソース> <ターゲット> 1.8 </ターゲット> </configuration> </plugin> < ! -- Test -- > <plugin> <groupId> org.apache.maven.plugins </groupId> <artifactId> maven - surefire - plugin </artifactId> <version> 2.18。_ _ _ _ _ _ _ _1 </バージョン> <設定> <スキップテスト> true </スキップテスト> </設定> </プラグイン > <!-- Tomcat --> < plugin > < groupId > org.apache.tomcat.maven </ groupId > < artifactId > tomcat7-maven-plugin </ artifactId > < version > 2.2 </ version > < configuration > <パス> /${プロジェクト。artifactId} </パス> </設定> </プラグイン> </プラグイン> </ビルド>
次に、パッケージ タイプを war パッケージとして構成します。
<パッケージ>戦争</パッケージ>
最後に、サーブレット、JSP、および JSTL を構成します (Maven 座標を指定する必要があります。Tomcat が付属しているため、後続のサーブレットと JSP には対応する jar パッケージが含まれているため、スコープは提供されるように設定されます。一方、JSTL はコンパイル時ではなく実行時に必要です。したがって、スコープはランタイムに設定されます):
<依存関係> <!--サーブレット--> <依存関係> < groupId > javax.servlet </ groupId > < artifactId > javax.servlet-api </ artifactId > < version > 3.1.0 </ version > < scope > provided </スコープ> </依存関係> <!-- JSP --> <依存関係> <グループ ID >javax.servlet.jsp </ groupId > < artifactId > jsp-api </ artifactId > < version > 2.2 </ version > < scope > provided </ scope > </ dependency > <!-- JSTL --> < dependency > <グループ ID > javax.サーブレット</ groupId > < artifactId > jstl </ artifactId > <バージョン> 1.2 </バージョン> <スコープ>ランタイム</スコープ> </依存関係> </依存関係>
この時点で、Maven の設定は完了です (確かに、Eclipse などの設定よりもはるかに簡単です)。
3. Java Web プロジェクトに変換するには
3 つの手順だけが必要で
a. メイン ディレクトリの下に新しい webapp ディレクトリを作成します。
b. webapp ディレクトリの下に新しい WEB-INF ディレクトリを作成します。
c. WEB-INF ディレクトリに新しい web.xml を作成します。
このとき、画面の右下隅にプロンプトが表示されます。
これでWebプロジェクトが作成されたことになります。
4. サーブレット クラスと JSP ページを作成します。
メイン ディレクトリの下の java ディレクトリに新しいパッケージとパッケージ名を作成し、新しいサーブレット (HelloServlet) を作成します。このサーブレットはページ ジャンプを担当し、現在時刻を時刻に変換します。標準形式でページに渡します。(ここでの 1 つの点は、黄勇先生の手順に従った場合、サーブレット ページにジャンプするときのパスは "/WEB-INF/jsp/hello.jsp" でしたが、ページではエラー メッセージ 404 が報告され続けました。後で私は検索して情報を見つけました。このページは「/WEB-INF」ディレクトリに書き込むことができないため、次のように表示されます)。
パッケージ org.smart4j.chapter1;
インポート javax.servlet.ServletException;
インポート javax.servlet.annotation.WebServlet;
インポート javax.servlet.http.HttpServlet;
インポート javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import java.io.IOException;
java.text.DateFormatをインポートします。
インポート java.text.SimpleDateFormat;
java.util.Dateをインポートします。
@WebServlet("/hello")
public class HelloServlet extends HttpServlet{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss") ;
String currentTime = dateFormat.format(new Date());
req.setAttribute("currentTime", currentTime);
req.getRequestDispatcher("/jsp/hello.jsp").forward(req, resp);
}
}
次に、表示を担当する新しい JSP ページを作成します。このページは、サーブレットによって渡されたパラメータを受け取り、JSTL 式を通じてそれらを表示します。
<% @ page contentType = " text/html;charset=UTF-8 " language = " java " %> < html > < head > < title >こんにちは</ title > </ head > < body > < h1 >こんにちは! </ h1 > < h2 >現在の時刻:
5. Tomcat の設定
ページとサーブレットを作成した後、作成した内容が表示されるようにサーバーを設定する必要があります。ここで Tomcat サーバーを設定する必要があります:
a. 右上隅のツールバー (これはドロップダウン ボックスです) の [設定の編集...] をクリックします。
b. 左上隅の「+」ボタンをクリックし、「Tomcat サーバー/ローカル」を選択します。
c.自分で名前を付け、「起動後」のチェックを外します。
d. アプリケーション サーバーの右側にある [設定...] ボタンをクリックして Tomcat を設定します (これにより、コンピュータ上で Tomcat が自動的に見つけられます)。
e. [展開] タブに切り替え、右側の [+] ボタンをクリックし、[アーティファクト...] オプションを選択し、ポップアップ ボックスで [プロジェクト名: warexploded] を選択し、[OK] をクリックして、アプリケーションコンテキスト内のプロジェクト名。
f. [サーバー] タブに戻り、[フレーム非アクティブ化時] ドロップダウン ボックスで [リソースの更新] オプションを選択し、[OK] をクリックします。
この時点で、Tomcat の構成は完了です。