SimpleController4Jを始める

概要

このページでは、SimpleController4Jの使用方法をご説明していきます。
eclipseで「動的WEBプジェクト」を作成して、SimpleController4Jを使用して、 簡単なWEBアプリケーションを作成していきます。

eclipseで「動的WEBプロジェクト」の作成

eclipseを起動して、「動的WEBプロジェクト」を作成します。
今回は、プロジェクト名は「SCSampleProject」とします

eclipseを起動して、「動的WEBプロジェクト」を作成します
eclipseを起動して、「動的WEBプロジェクト」を作成します

プロジェクトのプロパティー設定

SimpleController4Jでは、リフレクション処理を実行しており、メソッド引数名などの情報を classファイルに記録する必要があります。
作成した「SCSampleProject」のプロティーを変更して、上記情報をclassファイルに記録するようにします。

プロパティー設定

jarのダウンロード

GitHubリポジトリの「SimpleController4J」のページからsimplecontroller4j.jarをダウンロードします。
https://github.com/shigeru-kuratani/SimpleController4J

simplecontroller4j.jarを「WEB-INF/lib」に配置

GitHubリポジトリの「SimpleController4J」のページからダウロードしたsimplecontroller.jarを 「WEB-INF/lib」フォルダに配置します。

simplecontroller4j.jarを「WEB-INF/lib」に配置する

simplecontroller4j.jarをビルドパスに追加

「WEB-INF/lib」フォルダに配置したsimplecontroller4j.jarをビルドパスに追加します。

simplecontroller4j.jarをビルドパスに追加

web.xmlの設定

web.xml(デプロイメントディスクリプタ)に以下の設定を追加します。

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <display-name>SCSampleProject</display-name>

  <!-- SimpleController4J setting -->
  <servlet>
    <servlet-name>DispatcherServlet</servlet-name>
    <servlet-class>net.skuratani.simplecontroller4j.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>DispatcherServlet</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>

</web-app>

ソースコードの作成

サンプルプログラムでは、コントローラで「name」パラメータを受け取って、JSPにフォワードして 画面に「こんにちはnameさん」と表示するプログラムを作成してみます。
※ マルチバイト文字をパラメータとして送信する場合は、他のWEBページで紹介されている 「CharacterEncodingFilter」などをフィルターに設定してください。

■ controller.SampleController.java
package controller;

import java.io.IOException;

import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;

import net.skuratani.simplecontroller4j.annotation.Controller;
import net.skuratani.simplecontroller4j.annotation.Method;
import net.skuratani.simplecontroller4j.annotation.Route;

/**
 * サンプルコントローラ
 */
@Controller
public class SampleController {

    @Route(path = "/sample", method = Method.GET)
    public void sample(String name, HttpServletRequest request, HttpServletResponse response)
                       throws ServletException, IOException {
        // 画面メッセージの作成
        String message = "こんにちは" + name + "さん";
        // requestのメッセージをセット
        request.setAttribute("message", message);
        // JSPにフォワード
        request.getRequestDispatcher("/WEB-INF/view/sample.jsp").forward(request, response);
    }
}
■ WEB-INF/view/sample.jsp
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ page pageEncoding="UTF-8" %>
<html lang="ja">
  <head>
      <meta charset="utf-8">
      <title>サンプルJSP</title>
  </head>
  <body>
      <p>${message}</p>
  </body>
</html>

サンプル実行結果

サンプルプログラムの実行結果は以下のようになります。

■ URL
http://localhost:8080/SCSampleProject/sample?name=Mike
サンプルプログラム実行結果

ご意見・ご感想・バグ報告

×

SimpleController4Jへのご意見やご感想がございましたら、メッセージをお願い致します。
また、SimpleController4Jを使用して頂きまして、バグがございましたらご連絡を頂けると助かります。
皆様からのご意見・ご感想をもとに、SimpleController4Jを改善・拡張をしていきたいと考えております。
皆様からのメッセージは当方で確認をしておりますが、仕事をしながらの開発となる為、すぐにご返信・対応をすることが 出来ない場合がございます。何卒ご容赦ください。

※印は必須です
タイトル
メールアドレス
内容