Java

JBossでデータソースを使ってDBに接続して値を取得するサンプルと定義ファイルの書き方など。

最初に、今回のサンプルで使うテーブルを用意する。 CREATE TABLE book ( id INT AUTO_INCREMENT PRIMARY KEY, title VARCHAR(100), author VARCHAR(100) ); 次に、データを入れてみる INSERT INTO book(title,author) VALUES('GravityPierrot','Kotaro Isak…

JavaのSVNKitで、Subversionのリポジトリを操作して、昨日から今日までのログを取得する。

SVN Kit for Javaのダウンロード 以下のURLからSVN Kitをダウンロードする。 http://svnkit.com/download.php 今回は「org.tmatesoft.svn_1.7.11.standalone.zip」をダウンロードした。ダウンロードした「svnkit-1.7.11\lib」以下のjarをプロジェクトのlibデ…

JBossに組み込まれているTomcatのパス(場所)とウェブアプリケーションの3層構造についてのメモ。

JBoss At Workを読んだので、内容のメモ。 JBossにバンドルされているTomcatについて ・JBoss4.0.2のデフォルトのサーブレットコンテナはTomcat5.5.9である。 ・JBoss4.0.2にTomcatはSARファイルとしてデプロイされている。 デプロイされているパスは $JBOSS…

Java サーブレットで受け取ったリクエストURLをsplitを使って分解して、解析するサンプル

URLを取得するメソッド HttpServletRequestのgetRequestURL()メソッドを使うことで、リクエストされたURLを取得することができる。 StringBuffer orgUrl = req.getRequestURL(); たとえば、リクエストされたURLが、こんな感じに設定されているとしよう。 htt…

JBoss4.2.3.GAの各ディレクトリの意味のまとめ

jboss-4.2.3.GA直下 bin:JBossの起動/停止スクリプトを格納するディレクトリ client:JNDIにリモートアクセスするために、外部クライアントアプリケーションから使われるJarファイルを格納する docs:奇妙なことに、ここにJBossのドキュメントは見当たらない。…

Magic Servlet(アンチ)パターンとCommandを使うということ。

サーバーサイドJavaのアンチパターンの本を読んだときもメモなど。 古い本だけど、コマンドで処理を包む部分とか参考にしたい。 メモ的な記事。 Magic Servletパターン サーバサイドJavaでもっともよく見られるアンチパターンがMagic Servletパターンのよう…

Twitter4jで特定のユーザのツイートのリツイート数、お気に入られ数を一気に取得する

好きなユーザーのツイートの過去分を取得したいというときがある。 そして、できれば膨大な過去のツイートから、お気に入られ数やリツイート数の多いものから並べてみたいということもあるだろう。 そんなときに使えるサンプルを作ってみた。Javaでツイッタ…

サーブレットでリクエストされたURLを取得して、「/」で区切って末尾の文字列を取得する

RESTっぽい実装をしたいとき、サーバ側でURLに応じた処理をしたいことがある。 そういうときは、サーバ側でURLを文字列として解析して、URLによって処理を振り分ける必要があると考える。URLによって処理を振り分けるには、URLを[/]などで区切って文字列比較…

Mapにputしたkeyや値(value)を順番に取得して表示するサンプル

Mapをイテレータで回すサンプル Mapにputしたkeyや値(value)を順番に取得したいときは、Iteratorを使う。 Mapをイテレータでグルグル回すサンプルは以下の通り。 package mapcheck; import java.util.HashMap; import java.util.Iterator; import java.util.…

サーブレットの文字化け対策にサーブレットフィルタを使う。そのためのweb.xmlの設定など。

サーブレットフィルタのweb.xmlの設定とサンプルコード 画面から送られてきた文字に対して、フィルタを通すことで指定した文字コードを強制的に適用することができる。イメージとしてはこんな感じ。 <<画面>> → <<サーブレットフィルタ>> → <<サーブレット>>…

サーブレットの基礎。オブジェクトのスコープについて(リクエストスコープ/セッションスコープ/アプリケーションスコープ)

オブジェクトのスコープ 複数のサーブレットやJSPを連携する際に考慮すべきは、「オブジェクトのスコープ」である。 サーブレットAPIには、3つのスコープが用意されている。 リクエストスコープ リクエストスコープとは、リクエスト単位のスコープである。 …

Tomcatでデータソースを使ってコネクションを取得。JDBC経由でDBに接続する方法。

データソースとは データソースとは、データベースにアクセスする実装をカプセル化したもの。 RDBMSの違いにかかわらず、共通のインターフェースを用いて利用できる。 データベースのドライバやURLの情報はアプリケーションとは別の、アプリケーション"サー…

リクエストされたJSONをJavaサーブレット側でJSONICを使って解析し、クラスに詰め込むサンプル

※2014/11/15追記※JSONICのREST Servletを使ってJsonレスポンスを返すサンプルは以下の記事に書きました。 ・JSONICのREST Servletを使って,JavaオブジェクトをJSONにしてレスポンスを返す。・JSONICでPOSTリクエストのパラメータを取得する 別のブログですが…

JSONICを使ってJavaオブジェクトをJSONに変換(JSON encode)したり、JSONをJavaオブジェクトに変換する(decode)サンプル

JSONICのダウンロード 以下のURL先からjsonicのjarをダウンロードして、ビルドパスに追加する。 http://sourceforge.jp/projects/jsonic/ 「jsonic-1.2.11.zip 」 net.arnx.jsonic.JSONは、JSON形式のエンコードやデコードを行うためのstaticメソッドを提供…

文字列の連結にStringBufferクラスを使うワケ(内部仕様編)

2003年に出版された化石のような本にいいことが書いてあったのでメモ。 文字列の連結にStringBufferクラスを使うワケ StringとStrigBufferでパフォーマンスに違いが出ることは、以前の記事にも書いたけれど、内部でどのように処理をしているのかはちゃんと理…

JBoss EAP6をダウンロードしてからLinuxにインストールし、起動するまでのまとめ。

JBoss EAP6(JBoss Enterprise Application Platform)をダウンロードする手順。 JBoss6.Xは以下のページからダウンロードすることができる。 http://www.jboss.org/jbossas/downloads/6.1.0Finalのzipをクリックすると、ユーザー名とパスワードを入力する画面…

なぜ文字列の連結は+演算子を使うより、StringBuilderのappend()メソッドを使った方がいいのか

Stringを「+」で結合するのが望ましくない理由。 以下のブログで「Javaプログラマであるかを見分ける10の質問」という記事があった。 http://d.hatena.ne.jp/shuji_w6e/20110305/1299288660その中で、「文字列の連結は原則として+演算子を使ってはならない理…

JSTLとは何か?JSTLを使ったサンプル。

JSTLとは JSTLとは、JavaServer Pages Standard Tag Libraryの略。 JSTLは、JSPで利用される標準的なカスタムタグをまとめたもの。 JSTLを使ってドロップダウンリストを作成する JSTLを使う準備の部分。 JSPの先頭部分の書き方。 <%@ page language="java" c…

JSPでユーザーが入力した値をサーブレット側で受け取る。

Google App Engineのこと Google App Engineとは、Googleのインフラ上で自作のWebアプリケーションを実行するための仕組みのこと。 Webアプリケーションの実行環境ではJavaとPythonで作られたアプリケーションを動かすことができる。 すなわち、JavaとPython…

EclipseでJettyを起動させるために調べたプラグインなどのメモ。

Jettyのダウンロード Jettyは以下のURLからダウンロードする http://www.eclipse.org/jetty/右側のDownloadをクリックして、zipをダウンロードした。 まぁ、正確にいうと、前にダウンロードしていたやつを使う。イーモバイルがクソで、ダウンロードが終わら…

dom4jやXPathを使って、JavaでXML文書を読み込むサンプル

JavaでXMLを扱うためのライブラリ dom4jはJavaでXMLを扱うためのライブラリ。 dom4jは以下からダウンロードできる。 http://sourceforge.net/projects/dom4j/files/dom4j/1.6.1/上記のURLからjarをダウンロードして、適当にパスを通す。 自分の場合は、Eclip…

dom4jを使って、JavaでXMLファイルを出力してみる。その他、XPathの詳細表記について。

前回のブログからの続き。 http://d.hatena.ne.jp/sho322/20130710/1373465211 XPathで詳細にノードを記述する 以下の2つは同じ意味である。 詳細表記 child::cars/child::car[position()=2]簡易表記 cars/car[2]軸(axis)は基準となるノードとの関係を示す。…

サーブレットでリクエストパラメータを受け取ったり、文字コードのフィルタをかけたりのまとめ。

「作ればわかる!Google App Engine」という本を写経している。 「基礎からのサーブレット/JSP」などでひと通り基礎の基礎を身につけた後にやるべき素敵な本だ。今はまだサンプルを真似しているだけなので、コード全体を載せることなんてできないけれど、 「…

TomcatプロジェクトでDataSourceを利用して、DBに接続したときのまとめ(eclipseの例含む)

Tomcatでデータソースを利用する。 Tomcatでデータソースを利用するには以下の前準備が必要。 1.JDBCドライバを適切なディレクトリに配置する。 2.コンテキストファイルの編集データソースを利用するには、「アプリケーションサーバが利用するクラスパス…

DBから値を取得して、Javaオブジェクトに詰め込んで、ブラウザにJSONで返すサンプル。

サーブレットリクエストを処理し、DBから取得した値をJSONで返してみる。 昨日の記事で、株のイメージを持ったBeanなど作成した。 こいつらの情報はデータベース(MySQL)に格納してある。 さっきの記事で、このDBのConnectionを表示させるところまで作った。 …

サーブレットでブラウザで入力されたパラメータ(値)を受け取って表示させる。

サーブレットでリクエストに含まれたパラメータを受け取るサンプル まずはコードから。 package servlet; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import…

JavaでMySQLに接続して、値を取得して表示するサンプル。

JavaでDBのConnectionを取得するサンプル まずはMySQLのコネクションを取得するサンプルを作ってみる。 このMySQLのJDBCドライバーを指定するときの引数(ドライバのクラス名)がわからない人がいるかもしれない。 Class.forName(引数) そういうときは、参照ラ…

Gsonを使って、JavaオブジェクトをJSON形式に変換するサンプル

JavaでオブジェクトやStringをJSONに変換するサンプル JavaオブジェクトやintをJSONに変換するライブラリとして、Gsonを使ってみた。 https://code.google.com/p/google-gson/Gsonは使い方がとてもシンプルで、 Gson gson = new Gson(); System.out.println(…

SpringフレームワークでDIするサンプルと、AOPの前準備。

Springで普通にDIしてみる。 まずは、あるクラスを使うMainから書いてみる。 Springではまず、 BeanFactoryクラスを使って、オブジェクトを作るためのクラスを生成しなければならない。 BeanFactoryクラスのgetBean()メソッドで、使いたいオブジェクトのIDを…

スレッドのライフサイクルの話。ついでに凝集度と結合度のメモ。

凝集度と結合度って何? オブジェクト指向プログラミングをする上でよく話に出てくるのが、凝集度と結合度という概念である。 凝集度というのは、クラスの機能と属性の関連性の強さを表す。 関連する機能(メソッド)や属性(変数)をあちこちに分散させずに、適…