ServletおよびJSPに関する作業Tipsを紹介します。 数が増えてきたら、別に分けるかもしれません。
JSPで日本語を出力する場合、明示的に日本語の文字コードを指定しなくては、なりません。 通常のHTMLなら、metaタグで文字コード指定すれば良いのですが、 JSPでは、それを出力するコンテナで文字コードISO-8859-1(英語)が指定されているため、 そちらが優先されてしまいます。 そこで、HTTP内で文字コードを日本語指定するために、 JSPにpageディレクティブによるContent-typeの指定を行ないます。
<%@ page language="java" contentType="text/html; charset:Shift_JIS" pageEncoding="MS932" %>
<html><body>
<!-- 中略 -->
</body></html>
contentTypeで指定する文字コードは、JSPをブラウザ等で閲覧した場合に指定される文字コードで、 pageEncodingはエディタなどで閲覧する場合に指定される、すなわち実際に保存されているテキストの文字コードです。