2013年6月29日土曜日

サーブレットコンテナでの独自エラー画面の定義方法

TomcatやJBossなどのサーブレットコンテナを使ったWebアプリケーションを開発する上で、HTTPステータスコード404 Not Found (ページが存在しない時に使用する画面)や500(サーバ内部のエラー)を制御したい場合があります。
デフォルトのサーブレットコンテナの画面は味気ないです。

JBossでのデフォルトエラー画面

そんな時にサーブレットコンテナHTTPステータスコードによってエラー画面を振り分ける方法をメモとして記載したいと思います。

Windows7のパソコンを買うべきかWindows8のパソコンを買うべきか迷い中

私が今使っているパソコンは会社ではWindows XP Pro 32bit。家では、Windows Vista Ultimate 32bitです。
Windows XPは2014 年4月9日 (日本時間)、Windows Vistaは2017年4月11日でサポートが終了になります。

まぁ会社のパソコンは会社の方針に従うだけなので構わないのですが、自宅のパソコンはどうしたものか・・・

2013年6月28日金曜日

Eclipse・Dropbox・Subversion・Subclipseによるバージョン管理方法

Subversionなどのバージョン管理ソフトの使用許可が下りていないプロジェクトでの開発や、個人での開発でもSubversionを使ってソースを管理したいですよね。
簡単に説明してしまうと、リポジトリをDropboxに作成して共有してしまおうって感じです。

目次

  1. 前提条件
  2. Subversionのインストール
  3. リポジトリの作成
  4. Subclipseのインストール
  5. EclipseでのSubclipseの設定
  6. 参考資料

前提条件

  • Subversion 1.6.6
  • Windows XP Pro 32bit
  • Eclipse 4.2 JUNO(インストール済)
  • TortoiseSVN (インストール済)

Subversionのインストール

まずはじめにSubversionをインストールします。
Windows Binariesさんの所でダウンロードするとWindowsのインストーラー(.MSI)でセットアップできるので簡単です。
ここでは、Setup-Subversion-1.6.6.msiを選択します。

Subversionのダウンロード画面

後はダウンロードしたmsiファイルを実行し次へ次へでインストールします。

リポジトリの作成

Subversionのインストールが完了したらリポジトリを作成します。
ここでは、TortoiseSVNと言うSVNのクライアントソフトを使い、Dropboxにリポジトリを作成します。
リポジトリ作成画面

Subclipseのインストール

EclipseでSVNの操作を可能にするプラグイン「Subclipse」をインストールします。
  1. Eclipseを起動し、ヘルプ→新規ソフトウェアのインストールをクリックします
  2. 作業対象に「http://subclipse.tigris.org/update_1.8.x」を入力し表示された項目全てにチェックを入れインストールを実施します。
    Subclipseインストール画面
  3. インストールが完了したらEclipseを再起動します。

EclipseでのSubclipseの設定

  1. Eclipseを起動し、ウィンドウ→設定をクリックします。
  2. チーム→SVNをクリックし、SVNインターフェイスを「SVNKit(Pure Java)SVNKit v1.7.9.9659」を選択します。
    Subclipse設定画面
  3. リポジトリに入れたい該当プロジェクトの選択し、右クリック→チーム→プロジェクトの共用を選択します。
  4. プロジェクトの共用画面で、SVNを選択します。
  5. 新しいリポジトリ―・ロケーションを作成を選択します。
  6. ロケーションにDropbox内に作成したフォルダを選択します。
    ロケーション設定画面
  7. プロジェクト名をフォルダ名として使用を選択し、完了を押します。


以上によりDropboxとの連携が完了します。後は通常のやり方で開発をすればOKみたいです。

参考資料

2013年6月27日木曜日

ServletにてHTTPエラーを返す方法

Web業務アプリケーションを開発する上で、サーブレットでのエラーをthrowで送るのではなく、HTTPステータスを適切にセットすることで、エラーを表現したい場合がある。

例えば、ブラウザからAjax通信時でHTTPステータスによって処理を振り分けたい時や、エラー内容に独自の値(業務で使用するエラーコードなど)を含めて送る時に使用すると便利である。

ここでは、サーブレットでHTTPステータスのエラーを返す方法をメモとして記載したいと思います。

2013年6月26日水曜日

MySQLでのAuto_IncrementキーのJavaでの取得方法

MySQLにはAUTO_INCREMENTという属性を使用すると、新しく追加するレコードを識別するための一意な値を生成できます。
JDBCを使いAUTO_INCREMENTの属性を所持したテーブルに行を追加する場合、その追加したidをJavaで取得できないかと思い、調べた結果をここで記載したいと思います。

2013年6月25日火曜日

Servletでのファイルダウンロードのサンプルプログラム

ブラウザでリンクをクリックした時、サーブレットでレスポンスにファイルを入れ、ダウンロードを実施できるように実装するためのメモを記載したいと思います。

2013年6月24日月曜日

JavaScriptによる動的ブラウザの画面サイズ変更

iframeを組み込んだHTMLの画面で、動的にiframeのheightとwidthを変えたい時があります。
2カラムの左メニュー固定で右コンテンツiframeで作るなどの時、解像度を変更した場合や、2画面で解像度が違った場合に移動した瞬間にリサイズしたいなどです。

ここでは、そのように動的にiframeのheightとwidthを変更したい場合のjavaScriptとjQueryを使用した方法をメモとして記載したいと思います。

URLEncoder/URLDecoderの文字化け対策

サーブレットを使ったWebコンテナやAndroidのサーバ間の通信で、日本語や( ) { } [ ] < > ! # $ % & " ' ` ^ ~ = \ | ; : + / ? , などの禁則文字をURLエンコーディングする際、java.net.URLEncoderを使って行うと上手く変換されません。
サーブレットを使ったURLパラメータにはクライアントでURLデコードした値を渡すべきなのだそうです。
しかしAndroidのアプリでのサーブレットとの通信を行う上で、変換しないまま送りたい!って時にjava.net.URLEncoderを使ったら、変換が上手くいきませんでした。

そんな時にApache Commonsのcommons-codecの「URLCodec」を使ったら上手くいったので、メモとして記載したいと思います。

2013年6月22日土曜日

jQueryのプラグインである「livequery」の使い方

動的に追加した要素に対してイベント登録できる「livequery」の使い方を記載したいと思います。
DOMをjQueryなどで新しく追加した場合、その要素に対してクリックなどのイベントを登録するには、以下のようにjQueryのliveを使うと実現可能です。


$("a").live("click", function(){
    $(this).after("OK");
});

この方法と同様に、動的に追加した要素に対してプラグインをセットする場合に、liveのように登録できる便利なjQueryプラグインがあります。
それが「livequery」であります。

ここでは、「livequery」のダウンロード先と使い方の簡単なメモを記載したいと思います。

2013年6月21日金曜日

サーブレットコンテナへのアクセス制限方法

Tomcat、JBossなどのServletコンテナを使ったWebアプリケーションを開発する際に、jspファイルには外部からアクセスさせないようにしたい場合がある。(ServletでJSPに入れる値をセットするなど)

URLはServletを使い、ディスパッチさせることにより、JSPファイルを隠すことは可能ですが、直接JSPファイルをアクセスさせると見えてしまいます。 そういう要件が来た時の設定方法をメモとして記載したいと思います。

Servlet3.0でのFilter処理の使い方のメモ

サーブレットにはフィルタ処理と言う物が存在し、サーブレットやJSPの共通の前後の処理を記載することが出来ます。
使用用途として、文字のエンコーディング何かに使うことが出来ます。これを使用すれば一カ所に前後処理を記載することで、冗長的なコードもすっきりするってわけです。

そこで、ここではフィルター処理を使ったエンコーディングのサンプルをメモとして記載したいと思います。

2013年6月20日木曜日

HttpSessionListenerの使い方とセッションタイムアウトの設定のメモ

TomcatやJBossなどのWebコンテナを使用し、Webアプリケーションを開発する上で、セッション管理をする機会は多いです。

よく例として例えられているのが、ECサイトのショッピングカートでブラウザを再起動しても一度入れた商品が、ログアウトされるまで一定期間カートに入った状態でいるという仕組みを実現する上で使われています。


ここでは、JBoss(Tomcat)でのセッションタイムアウトの設定方法と、セッションの生成・破棄の方法、またそのセッションの生成・破棄時に処理をする方法のメモを記載したいと思います。

2013年6月19日水曜日

2013年6月18日火曜日

JBoss As 7でのJavaMailの設定

Webアプリケーションで、JavaMailを使ってGmailやプロバイダのメールを送りたいという要件は多いかと思います。
そこで、ここではJBoss As 7を用いた、JavaMailの設定からサンプルプログラムまでをメモとして記載したいと思います。

2013年6月17日月曜日

Servletでの起動時外部ファイル読み込み方法

Servletを用いたアプリケーションを開発する上で、アプリケーションサーバの起動時に、プロパティファイルなどの外部ファイルをメモリに保存し、使いまわしたいと言うことがあると思います。
そんな時に、どのようにして実装するかのメモをここで記載したいと思います。

2013年6月15日土曜日

Tomcat7にJOTMのインストール手順

複数のデータベースをTomcatで管理したくて、色々調べてみました。
そもそもTomcatはJTAを実装していません。
なので、実装するにはJTAのライブラリを別途インストールすることになります。
調べた結果JOTMというオープンソースのライブラリを使うことにより、実装できる事がわかりました。

2013年6月14日金曜日

HTML5のPatternタグのサンプル一覧

HTML5の<input>要素のpattern属性を指定をすると、正規表現を使うことにより入力制限を自由に設定することが出来ます。

入力制限をすることにより様々な用途で使うことが出来ます。
例えば
  • 数値のみ入力させたい
  • 日付を決められたフォーマットで入力させたい。
  • カタカナのみ入力させたい
  • 電話番号をxxx-xxxx-xxxxで入力させたい
ここでは、実際に私が使ったHTML5のpatternのサンプルを記載したいと思います。

2013年6月13日木曜日

JBoss As 7の最大同時接続ユーザ数(スレッド数)の設定方法

ここではJBoss As 7の最大同時接続ユーザ数を設定する方法をメモとして記載したいと思います。

CSS・JavaScriptを最新バージョンに強制的に反映させる方法

Web業務アプリケーションなどを開発していると、CSS・JavaScriptの改修を行うことが多いかと思います。
その時、CSS・JavaScriptのキャッシュが効いていることにより、最新のバージョンが反映されないことがあります。
反映されないことにより、レイアウト崩れなどが発生し、クライアントからお怒りの電話が・・・なんてことも。
そんな時、クライアントにキャッシュを削除してください~ってのは、ちょっと面倒ですよね。

そこで、 JSPを用いた、CSS・JavaScriptを最新バージョンに強制的に反映させる方法のメモをここに記載したいと思います。

2013年6月12日水曜日

JSPのJavaBeansのEL式内でのIF文の書き方

TomcatやJBossを使ってJSPでJavaBeansを使う時、EL式の中でif文や三項演算子が使いたい時があります。
そんな時、どうやったらよいかサンプルをここに記載したいと思います。

2013年6月11日火曜日

Windowsのバッチでの経過時間の計測方法

Windowsでのバッチにて、バッチの実行時間を測定したい場合があります。
そんな時に、 バッチでの実装方法をここにメモとして記載したいと思います。

2013年6月10日月曜日

JBoss As 7のJSP自動コンパイル方法

JBoss As 7で開発を行っている時、JBossを再起動せず自動でJSPをコンパイル出来るようになると便利で、開発効率があがります。
しかし、JBoss As 7 Final1.1.1にはバグがあるらしく、設定ファイルを修正しても設定が反映されません。
そこで、ここではJBoss As 7でのJSP自動コンパイル方法をメモとして記載します。

2013年6月7日金曜日

Apache CommonsのBeanUtilsのcopyPropertiesの使い方

Apache Commonsにはかゆい所に手が届く便利なライブラリであります。
その中でJavaBeansを簡単に扱えるライブラリ「BeanUtils」のcopyProperiesの使い方についてメモを記載したいと思います。

2013年6月6日木曜日

JBoss As 7でのURLエンコーディング文字化け(国際化)対応

JBoss As 7では、デフォルトの設定であるASCIIだと、多くの言語に十分対応していますが、全ての言語の文字を提供しているわけではありません。

( ) { } [ ] < > ! # $ % & " ' ` ^ ~ = \ | ; : + / ? , などの禁則文字
このままだと、HTTP通信のGETメソッドなどのURLクエリパラメータで正しいリクエストが取得出来ない場合があります。
そこで、JBoss As 7でのURLエンコーディング・文字化け対応のメモを記載したいと思います。

2013年6月5日水曜日

JBoss As 7とApache2.2を使ったSSL/TLS通信の設定

JBoss自体にもSSL/TLS通信を行う機能は備わっているが、Apacheと組み合わせた方が簡単であると思う。
そこでJBossとApacheを用いたSSL/TLS通信の設定のメモを記載したいと思います。

多彩なフォーマットに変換できるオンラインサービス「Mr. Data Converter」のご紹介

JSONデータをWeb上で変換出来るサービスを探していたところ、「Mr. Data Converter」と言うサービスを見つけました。
http://shancarter.github.io/mr-data-converter/
ここでは、簡単な使い方と結果を記載したいと思います。

2013年6月4日火曜日

JBoss As 7とApacheとの連動方法

JBossとApacheの連携は実務で良く使います。そこで、ここでは、JBoss As 7とApacheとの連動方法をメモしたいと思います。

JBoss As 7でのXA-Datasourceを使ったトランザクション制御

JBoss As 7でのトランザクション制御のサンプルプログラムをメモとして記載したいと思います。

2013年6月3日月曜日

JBoss As 7のロギングの設定

ここではJBoss As 7でのロギングの設定方法に関して記載したいと思います。
特に、今回自分で設定をしていて、server.logに対してローテーションしない現象について記載します。

 

About

このブログは筆者の備忘録として色々記載しています。

Blog Archive

Powered by Blogger.