Javawebプロジェクトフレームワークの構築・準備

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 の構成は完了です。

6. git にアップロードする

おすすめ

転載: blog.csdn.net/listener_life/article/details/79962929