Archive for 1月, 2005

フィルタ

水曜日, 1月 19th, 2005

今まで等閑にしておいたFilterについて調べてみました。
まだ使ったこと無いので、メモ程度に。

フィルタとはクライアントからのリクエストおよびレスポンスに対して、リソースServlet、JSP、HTHMLでの処理の前および後に何らかの処理を行うオブジェクトの事。文字のエンコーディングやログ取得などに使う。

フィルタはServlet2.3から使用可能。
フィルタはjavax.servlet.Filterインターフェイスを実装して作成する。

JAVA:
  1. public class XxxxFilter implements Filter {
  2. public void <strong>doFilter</strong>
  3. (ServletRequest request, ServletResponse response, FilterChain chain)
  4. throws IOException, ServletException {
  5. // ここでフィルターにさせたい処理を記述
  6. }
  7. public void <strong>init</strong>(FilterConfig config) throws ServletException {
  8. }
  9. public void <strong>destroy</strong>() {
  10. }
  11. }

それから、アプリケーションの配置記述子(web.xml)かTomcatのConfの下などにあるサービスのweb.xmlにフィルタのマッピングを記述しないといけない。

XML:
  1. <filter>
  2. </filter><filter>XXXFilterName</filter>
  3. <filter>xxx.yyy.zzz.XxxxFilter</filter>
  4.  
  5. <filter>
  6. </filter><filter>XXXFilterName</filter>
  7. <url>/*</url><!--←こうするとURL下の全てのServletの処理に行く前にフィルタを通る。-->

Tomcatのweb.xmlの下の個所をShift_JISにするとエンコーディングをやってくれるらしい。今までStringユーティリティクラス等を作成して使っていた…。

XML:
  1. <filter>
  2.     </filter><filter -name>Set Character Encoding</filter>
  3.     <filter -class>filters.SetCharacterEncodingFilter</filter>
  4.     <init -param>
  5.         <param -name>encoding</param>
  6.         <param -value><strong>Shift_JIS</strong></param>
  7.     </init>
  8.  
  9.   <filter -mapping>
  10.     </filter><filter -name>Set Character Encoding</filter>
  11.     <url -pattern>/*</url>



Eclipse起動時のJVMのデフォルトヒープメモリ拡張

水曜日, 1月 12th, 2005

Eclipseで作業中にOutOfMemoryExceptionとかが出たときの対処法

Eclipseのショートカット、(Linuxでは起動用.shファイルなど)のオプションに以下のJavaVMに渡すパラメータを記述。デフォルトは64Mなので、256Mとかを与えてみる。

SDKのインストールルート\bin\java.exe -vmargs -Xmx256M

(例:C:\eclipse\eclipse.exe -vm C:\j2sdk1.4.2\bin\java.exe -vmargs -Xmx256M)

(例:C:\eclipse\eclipse.exe -vm "C:\j2sdk1.4.2\bin\javaw" -vmargs -Xms128m -Xmx256m -client -hotspot)