
こんにちは、大学時代にプログラミングを始め、現在はエンジニアをしているuhablog(ウハブログ)です。
今回の記事ではJavaのstatic変数を有効活用する方法について解説していきます!
この記事から始まっているServletを使ってTodoアプリを作成する中でstatic変数を使ってみます。
具体的にはそれぞれのjspやServletでパラメータを受け渡す際に文字列を直接書いていますが、それをまとめたクラスを作成します。
Parametersクラスの作成
まずstatic変数を定義するクラスを作成します。
srcフォルダ内にconstantパッケージを作成します。
その中にParameters.javaを作成します。中身は次のようになります。
package constant;
public class Parameters {
/**
* Todoのidをやりとりするパラメータ
*/
public static final String TODO_ID = "todoId";
/**
* Todoの内容をやりとりするパラメータ
*/
public static final String TODO = "todo";
/**
* Todoの期限をやりとりするパラメータ
*/
public static final String TIME_LIMIT = "timeLimit";
}
今まで作成してきたTodoアプリではjspからServletに値を渡す際inputタグ内のname属性に文字列を直接書き、Servletではそこで書かれた文字列と同じ文字列を書いていました。
これでも問題はないのですが、タイピングミスでうまくパラメータの受け取りができなかったりとめんどくさい事になります。
しかしクラスを作成し、static変数で定義しておく事でこういったミスを防げるようになります。
list.jspの変更
まずはlist.jspを変更します。
jspファイルの上部に次のimport文を追加して先ほど作成したクラスを使用できるようにします。
<%@ page import="constant.Parameters" %>
jspファイル下の方にformがあります。
こちらの中身を以下のように変更します。
<form action="insert-servlet" method="post">
<label>Todo: </label><input type="text" name="<%=Parameters.TODO %>"><br>
<label>Limit: </label><input type="date" name="<%=Parameters.TIME_LIMIT %>"> <br>
<input type="submit" value="Todoを登録する">
</form>
注目するのはinputタグ内のname属性の値です。
これまでは「name="todo"」「name="timeLimit"」と記述していました。
しかしこれらの文字列を先ほど作成したParametersクラスにstatic変数として宣言しましたので、これを利用します。
InsertServletの変更
InsertServletのdoPostメソッド内で送られてきたパラメータを受け取る箇所があります。
それを次のように変更します。
// リクエストパラメータのname属性がtodoの値を受け取る
String todo = (String) request.getParameter(Parameters.TODO);
// リクエストパラメータのname属性がtimeLimitの値を受け取る
Date timeLimit = Date.valueOf(request.getParameter(Parameters.TIME_LIMIT));
こちらで注目するのはgetParameterメソッドに渡している変数です。
これも変更前は「getParameter("todo")」「getParameter("timeLimit")」と直接文字列を記述していました。
これをParametersクラスで定義したstaticメソッドを使用します。
まとめ・次回予告
今回はWebアプリを作成していく過程でstatic変数を活用する方法を解説しました。
文字列を直書きしてパラメータの受け渡しを行なっていたところをstatic変数をまとめてもつクラスを作成する事でタイピングミスを減らしたりすることができます。
独学が辛いあなたへ
プログラミング学習にはエラーやわからないところというのはつきものです。
人に聞けば5分でわかることも、自分一人で悩んでいると1日数日時間を費やしてしまうこともあります。
そんな時にプログラミングスクールであれば、質問できる環境を手に入れることができます。
Freeksはいつでもどこでも豊富なカリキュラムを学ぶことができる月額制のプログラミングスクールです。
Freeksでは無料体験を行なっているので、質問できる環境を手に入れて、プログラミング学習を挫折することなく続けていきたいという方は無料体験に参加してみてください。
【関連記事】Freeks評判、口コミ
他のプログラミングスクール
月額10,780円のサブスク型プログラミングスクール!
>>Freeks公式サイト
20代におすすめ!無料で未経験からプログラマー就職まで実現できる!
>>ProgrammerCollege公式サイト
パーソナルメンターがつく充実したサポート
>>DMM WEBCAMP公式サイト
おすすめのプログラミングスクールについて詳しく知りたいという方はこちらの記事も参考にしてみてください。