感謝のプログラミング 10000時間

たどり着いた結果(さき)は、感謝でした。

JSPのディレクティブなどのまとめ。

<スポンサーリンク>

JSPとは

JSPはJavaServer Pagesの略である。
HTMLファイルにJavaプログラムw埋め込むことにより、サーバー側で動的なWebページを生成する技術。

JSPはWebコンテナが実行時にコンパイルする。
web.xmlによるマッピングも行わない。

JSPの配置場所は「任意」である。
コンテキストルート以下の任意の場所に置けばよいが、WEB-INF以下に置いてしまうと、ブラウザからは見えなくなる。

JSPは実体はサーブレットのコードである。
Webコンテナがコンパイルして、Javaのコードに変換をかけているのだ。

JSPのコメント

JSPのコメントには2種類ある。
通常のHTMLで使われるようなコメントは、クライアントから見える。

<!-- コメントです〜 -->

このようなものだ。

一方で、JSP独自のコメントというのも存在する。
こちらはクライアントには表示されない。

<%-- JSP独自のコメントでござる! --%>

ディレクティブタグって何?

ディレクティブタグは、JSPのページ全体に作用するような定義を行うタグのこと
以下の様なタグがある。

ディレクティブタグ 意味
pageディレクティブタグ JSPファイル全体に関する属性を定義する。
includeディレクティブタグ JSPファイルに性的なインクルードを行う時に使用する。
taglibディレクティブタグ JSPファイル内でカスタムタグを利用する時に使用する。

■pageディレクティブ
ページ内の文字コードの設定やMIMEタイプ、セッションの有無などを定義する。
・構文

<%-- JSP独自形式 --%>
<%@ page 属性="値" />
<%@ page pageEncoding="UTF-8" session="true" %>

<!-- XML形式 -->
<jsp:directive.page 属性="値" />

pageディレクティブでは、その他にextendsとかimportとかcontentTypeとか、使用可能な属性がある。

・import
JSPで使用するクラスをインポートする。

<%@ page import="java.text.*, com.data.apache.*" %>

・pageEncoding
JSPファイルを記述している文字エンコーディングを指定する。

<%@ page pageEncoding="UTF-8" %>

■includeディレクティブ
JSPファイルに他のJSPやHTMLファイルなどのデータを埋め込むときに使用する。
・構文

<%-- JSP独自形式 --%>
<%@ include file="ファイルパス" %>

<!-- XML形式 -->
<jsp:directive.include file="ファイルパス" />

■スクリプティング
JSPJavaプログラムを記述する時に使用する。
・スクリプトレット
JSP内でJavaのコードを記述するときに使う。
<構文>

<%-- JSP独自形式 --%>
<% Javaコード %>

<!-- XML形式 -->
<jsp:scriptlet>
    Javaコード
</jsp:scriptlet>

インスタンス変数やローカル変数の宣言
JSPサーブレットに変換される時に、「インスタンス変数」として宣言されるのが以下の構文である。

<%! 変数宣言やメソッド定義 %>

<jsp:declaration>
   宣言
</jsp:declaration>

上記で宣言した場合はインスタンス変数として変換される。

一方で、スクリプトレットの中で宣言された変数は「ローカル変数」として宣言される=サーブレットに変換される。

その他

■クロスサイト・スクリプティングの悪用の方法 3種類
・クッキー値の盗み出し
JavaScriptによる攻撃
・画面の書き換え

読んだ本(参考文献)

SUN教科書 Webコンポーネントディベロッパ(SJC-WC) 試験番号:310-083

SUN教科書 Webコンポーネントディベロッパ(SJC-WC) 試験番号:310-083

感謝のプログラミング

今回で感謝のプログラミングは【442時間目】
10000時間まで、あと【9558時間】