[Java][JSP] EclipseでのJSP作成

公開日: : Java , ,

今回は、Eclipseを用いてJSPを作成してみます。

まず、Eclipseを起動します。
プロジェクトは、こちらの記事でServletを作成したときのものをそのまま流用します。

●JSPファイルの作成

下図の赤丸の位置に「TestJSP.jsp」ファイルを作成します。
「WebContent/」の直下に配置すればOKです。
JSP01

●JSPファイルの記述

<%@ page language="java" contentType="text/html; charset=Shift_JIS" pageEncoding="Windows-31J"%>
<html>
<body>
<%-- JSPコメントだぜ --%>
<!-- HTMLコメントだぜ  -->
<p>
<%
    String str = "JSPが正しく実行されました!";
    out.println(str);
%>
</p>
</body>
</html>

●実行方法

こちらの記事での実行方法と同じように、Tomcatサーバーを実行します。

サーバー起動の完了後、
「http://localhost:8080/TestJavaServlet/TestJSP.jsp」
にアクセスすると、以下の画面が表示されます。
JSP02

●解説

はじめて記事ですので、少々細かく解説します。

●JSPタグ
まず、このJSPに出てくるJSP専用のタグについて。

①<%@ page ~ %>
pageディレクティブと呼びます。
サーバーからWebページとして出力する際に、「どのように出力するか」を定義するものです。
以下の要素を指定します。

  • 「language=java」:java言語であることを示します。
  • 「contentType="text/html; charset=Shift_JIS"」:HTMLで出力し、文字コードがShift_JISで出力することを示します。
  • 「pageEncoding="Windows-31J"」:このJSPのソースコードがWindows-31Jで記述されていることを示します。

②<%@ ~ %>
ここがJSPを記述する場所です。(具体的な名前は知りません)
任意のJavaコードを記述することができます。

が、ガッツリJavaコードを書くことは何が何でも推奨致しません!!!!。
納品コードを書く際は、JSPはViewとして実装するはずですので、実装コードはJSPに書くべきではないのです。
「整形コードだったら・・・」という声も出てきそうですが、それも推奨致しません。

整形コードは「整形パターン」というものを定義し、それに従って記述すべきです。
-----------------------------
例)日付の場合
Java内のデータの持ち方:YYYYMMDD
出力方式①:YYYY/MM/DD
出力方式②:[明治|大正|昭和|平成]YY年MM月DD日
-----------------------------
このような場合、JSPコードにいちいち日付変換コードを書いていたら、
「法律が変わったのでフォーマットが変わります」と言われたときに号泣することになります。

ちゃんとビジネスロジックにユーティリティを作りましょう。

という事で結論:
JSPには基本的に値の取得コードしか記述しない!!!

ただし、繰り返しのような動的なページは「カスタムタグ」というものを使って実装します。
これは別稿にて解説したいと思います。

③<%--- ~ ---%>
JSPコメントと呼びます。
JSPファイルのみに表示され、HTML化されてWebブラウザに届いたときには消えています。
表示されたHTMLソースは以下のようになっているはずです。(JSPコメントは表示されない)
JSP03

今回は以上です。

スポンサードリンク

関連記事

no image

[Java][基本] ループ処理(for文)

Javaのループ処理の基本である、for文を解説します。 ●文法 for( [①初期化];

記事を読む

no image

[Java][Jersey] JerseyでRESTfulなJAX-RS Webサービス作成

こんにちは、keiです。 今回はRESTfulなWeb Serviceの作成を行っていきます。

記事を読む

no image

[Java] CSVファイルの読み込み方法

こんにちは、kei0310です。 CSVファイルをJavaに取り込む方法を解説します。

記事を読む

no image

[Java] 日付の計算方法(DateFormat、Date、Calendar)

こんにちは、kei0310です。 Javaで日付を計算する方法について解説します。 まず

記事を読む

no image

[Java][Framework] Spring BootのJPAでDB接続した際のEntityキャッシュのクリア方法

Spring BootのJPAでDBアクセスした際に、処理を一定量こなすと、Heapが足りなくな

記事を読む

no image

[Java][MySQL] JavaからMySQLを使う方法

MySQLは、フリーでありながら商用としても使用できるパワーを持つデータベース(RDB)です。

記事を読む

no image

[Java][Spring] DIする方式を細かく見てみる① @ScopeでのSingletonとPrototypeの指定

今回は@Scopeアノテーションを用いて、オブジェクトをDIする方式を選択してみます。 ●解説

記事を読む

no image

[Java][Framework] Spring Bootを使って、Spring MVC速攻開発してみる!(DB接続あり)

STSインストール STSは、EclipseにSpring関連のいろいろな機能を詰め込んだオールイ

記事を読む

no image

[Java] クラスとインスタンス

こんにちは。 クラスとインスタンスについて解説します。 インスタンスは「オブジェクト」とも言

記事を読む

no image

[Java][Spring] Spring3でDIしてみる!(アノテーション使用)

Spring3を使って、一番基本的な形のプログラムを作成してみます。 今回は、アノテーションを

記事を読む

スポンサードリンク

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

スポンサードリンク

no image
CentOSにdockerをインストールしてみた

前置き dockerをcentos7にインストールしてみました

no image
awkでのgsubを使った文字列置換(正規表現)

まえおき bashなどのシェルスクリプトで、lsした結果とかを

no image
bashで並列処理する方法(xargs)

並列処理とは 通常、意識せずにプログラムを書くと、大体の場合は

no image
AWS Redshiftの使用ストレージ容量をクエリで調べる方法

用途 AWS Redshfitのコンソールを見れば、使用中のス

no image
pythonでstorage transfer serviceを使ってみた。

準備 pythonのインストールとかする。 このあたり。

→もっと見る

  • 2024年4月
    1234567
    891011121314
    15161718192021
    22232425262728
    2930  
  • 2024年4月
    1234567
    891011121314
    15161718192021
    22232425262728
    2930  
PAGE TOP ↑