0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Java JSP

Posted at

JSPとは

JSPはJavaServerPagesの略で,動的なWebページを生成するために使用されるものである.JSPはMVCモデルにおけるViewの役割をになっており,Javaコードを埋め込むことができる.

JSPの利点

JSPファイルは,JSPコンテナによって対応するサーブレットクラスに変換される.
基本的にJSPはサーブレットとともに実装され,サーブレットの代わりにViewを実装することが役割となる.

ServletでViewを実装するパターン

public class HelloWorld extends HttpServlet {
   public void doGet(HttpServletRequest request,HttpServletResponse response)
    throws ServletException,IOException {
     response.setContentType("text/html;charset=Shift_JIS");
     PrintWriter out=response.getWriter();
     out.println("<html><head>");
     out.println("<title>Hello, World!!</title>");
     out.println("</head><body>");
     out.println("<p>Hello,World!!</p>");
     out.println("</body></html>");
   }
 }

ServletでもViewを実装することも可能で,JSPを利用しない場合はout.println()を利用してHTML文書を出力する.
この場合,Javaのコードの中にHTMLを書くことになり,printの量が多くなってしまう.

JSPでViewを実装するパターン

<html>
    <head>
        <title>Hello, World!!</title>
    </head>
    <body>
        <% out.println("<p>Hello,World!!</p>"); %>
    </body>
</html>

一方,JSPはHTMLによく似た構造である.HTMLの中にJavaのコードを書くことができ,ビューを作成するのに適している.

このようにサーブレットがViewの実装が不向きという弱点をJSPで補うことができる.

JSPの記述方法

基本的にはHTMLで,中に以下のような記述方法でJavaのコードを組み込む.
1. スクリプトレット

<% 
    // ここにJavaコードを記述
    String message = "Hello, World!";
    out.println(message);
%>

<% %>でJavaコードを囲むことで,埋め込むことができる.
htmlを出力しても<% %>で囲んだ部分は表示されない.

2. スクリプト式

<%= message %>

<%= %>で,変数や式を記述する.この変数や式の結果がHTMLに挿入される.
Javaのコードに「;」(セミコロン)は不要

3. スクリプト宣言

<%! 
   private String greeting = "Hello, World!";
   public String getGreeting() {
       return greeting;
   }
%>

<%! %>で囲むことで,JSP内でクラス変数やメソッドの宣言を行うことができる.
宣言した変数はサーバーを再起動するまで保持される.

4. pageディレクティブ

<%@ page language="java" contentType="text/html; charset=UTF-8" %>

pageディレクティブはJSPページ全体の設定を指定する.言語やエンコーディングなど.

5. includeディレクティブ

<%@ include file="header.jsp" %>

includeディレクティブは他のJSPページやHTMLファイルを現在のJSPページに含めるために使用する.
JSPファイルの実行中に呼び出すことが可能で,含めるファイルは同じコンテキスト内にある必要がある.

6. EL式

<p>
  Welcome, ${user.name}!
</p>

EL式を利用することで,Javaコードを書かずに変数の値を要素に入れることができる.

ここではJSPの基本的なタグを紹介したが,他にもさまざまな特殊なタグが用意されている.

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?