サーブレット/JSPの学習環境をVSCodeで構築

脱Eclipse
動作確認環境 macOS Sonoma 14.5
2024/06/28 一部改訂


1. 必要なツールのインストールとPATH設定

  • Mavenのインストール:Maven をダウンロードし,解凍して任意のディレクトリに配置してください。https://maven.apache.org

  • Tomcatのインストール: Tomcat をダウンロードし,解凍して任意のディレクトリに配置してください。https://tomcat.apache.org/download-10.cgi

  • PATH設定: /Users/ユーザ名/.zshrcを編集して,JDKとMavenのPATHを通します。

# Java paths
export PATH=/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home/bin:$PATH

# Maven paths
export PATH=~/apache-maven-3.9.6/bin:$PATH
  • .zshrcは隠しファイルなので,finderでShift + cmd + . で表示させることができます。

  • Finderでファイルを右クリックしてoptキーを押すと,Pathがコピーできます。

  • Windowsの場合はhttps://www.javadrive.jp/start/install/index4.htmlなどを参考に実施してください。

  • PATHが通っているか,以下のコマンドで確認することができます。


$ java -version
$ mvn -version

2. VSCodeの拡張機能のインストール

VSCodeに拡張機能をインストールして,種々の設定を行ってください。

  • Java Extension Pack

    • フォーマッタを利用するために,VSCodeの設定を次のように変更しておくと良いでしょう。

    "editor.formatOnSave": true,
    "editor.formatOnPaste": true,
    "java.format.settings.url": "https://raw.githubusercontent.com/google/styleguide/gh-pages/eclipse-java-google-style.xml",
    "java.format.settings.profile": "GoogleStyle",
  • Community Server Connector

    • 次の設定をしておいてください。

    "rsp-ui.enableStartServerOnActivation": [
        {
            "id": "redhat.vscode-community-server-connector",
            "name": "Community Server Connector",
            "startOnActivation": true
        }
    ],
  • JSP Language Support

    • 次の設定をしておいくてださい。

"emmet.includeLanguages": {
    "jsp": "html"
}

3. Mavenプロジェクトの作成

  • ターミナルで,作業したいディレクトリに移動してください。

  • $ code . でVSCodeを立ち上げてください。もしくは,VSCodeを立ち上げてから,Open Folderでフォルダを開いてください。

  • コマンドパレットを開くいくてください(Cmd + Shift + P)。

  • Maven: Create Maven Project を検索して選択してください。

  • Archetype maven-archetype-webapp -> version 1.4 を選択してください。

  • Group Id com.example -> Artifact Id classroom など,任意のIDを設定してください。

  • VSCodeのターミナルで'version'を訊かれるのでそのままEnterを押下してください。

  • Comfirm properties configuration もそのままEnterを押下してください。

  • BUILD SUCCESSしたらEnterで抜けてください。


4. デバッグ起動用のTomcatサーバの設定(Community Server Connectorを使用)

  • VSCode左側にあるエクスプローラの「SERVERS」タブを開いてください(もしなければ,3点リーダから✔を入れる)。

  • Community Server Connectorを右クリック -> Create New Server

  • No, use server on disk

  • ダウンロードしたapache-tomcat-10.1.24のディレクトリを選択

  • Server NameをTomcat 10.1.24にしてFinish


5. Mavenプロジェクトの構成

  • pom.xml ファイルを開き、以下のように変更または追記してください。

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>17</maven.compiler.source>
    <maven.compiler.target>17</maven.compiler.target>
  </properties>
  • 保存すると右下にメッセージ(A build file was modified. Do you want to synchronize the Java classpath/configuration?)が出るので,Yesを選択してください。

<dependencies>
  <!-- https://mvnrepository.com/artifact/jakarta.servlet/jakarta.servlet-api -->
  <dependency>
      <groupId>jakarta.servlet</groupId>
      <artifactId>jakarta.servlet-api</artifactId>
      <version>6.0.0</version>
      <scope>provided</scope>
  </dependency>
</dependencies>

6. テスト用Servletの作成

  • src/main/java/jp/co/collasho/classroom ディレクトリを作成してください。jp 以下は何でも構いません

  • FruitServlet.java ファイルを作成してください。

package jp.co.collasho.classroom;

// Jakarta Servlet 6.0 API ~
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;

import java.io.IOException;
import java.io.PrintWriter;

@WebServlet("/FruitServlet")
public class FruitServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException {
        res.setContentType("text/html; charset=utf-8");
        try (PrintWriter out = res.getWriter()) {
            out.println("<html><body>");
            out.println("サーブレット: Hello Servlet World, Guys!<br>");
            out.println(getServletContext().getServerInfo());
            out.println("</body></html>");
        }
    }
}
  • VSCode左側にあるエクスプローラに「JAVA PROJECTS」が出来ていると思いますので,開いておいてください。基本的に,プロジェクトファイルの操作はここから行います。


7. プロジェクトのビルドとデプロイ

  • プロジェクトのビルド: VSCodeのターミナルで以下のコマンドを実行してください。

$ cd classroom
$ mvn clean install
  • VSCodeのサイドバーでCommunity Server ConnectorのTomcat 10.1.24を右クリックし,Add Deploymentを選択してください。

  • classroom/target 直下に生成された classroom.war ファイルを選択してください。何か訊かれますが-> Noを選択してください。

8. アプリケーションの実行

  • Tomcat 10.1.24を右クリックし,Start Server を実行してください。

  • もう一度右クリックし,Server Action -> Show in Brouser

    • http://localhost:8080/classroom/ を叩くとHello, World! メッセージが表示されます。

    • http://localhost:8080/classroom/FruitServlet を叩くとサーブレット: Hello Servlet World Guys! メッセージが表示されます。

  • サーブレットの内容を書き換えるなどして,再度mvn clean install よりビルドし,ブラウザをリロードする。更新できていれば環境構築が完了です。


文献

この記事が気に入ったらサポートをしてみませんか?