読者です 読者をやめる 読者になる 読者になる

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

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

JSP/Servletアプリでvalidatorの機能を使う

Servlet/JSPの環境で、入力値のチェックを行ってみます。 ここでは、バリデーションという仕組みを利用します。 この記事では、バリデーションの他に、DispatcherServletパターン、setAttributeでインスタンスを設定して、JSPで表示する方法のサンプルとして…

カスタムタグとJSTLについてまとめ

カスタムタグというのは、JSP内での処理をタグの形で定義し、処理できるようにしたものです。 <% if (i > 10) { // } %> みたいな処理を、 <c:if test="${i > 10}"> 10以上です </c:if> みたいに、再利用しやすくしたものがカスタムタグです。 JSPのコードが見やすくなり、Javaプログラマ以…

NetBeans IDE7.4でJavaEEプロジェクトを作成し、「Hello World」を表示させるまで

以下のリンクを参考に順番にやってみる。 ただ「Hello World」を表示させるだけの単純な作業。 でもNetBeans初めて使うから、一応メモ(わかってる人にはくだらない記事です) https://netbeans.org/kb/docs/javaee/ecommerce/setup-dev-environ.html#create1…

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

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

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

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

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

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

サーブレットの文字化け対策にサーブレットフィルタを使う。そのための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リクエストのパラメータを取得する 別のブログですが…

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をダウンロードした。 まぁ、正確にいうと、前にダウンロードしていたやつを使う。イーモバイルがクソで、ダウンロードが終わら…

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

「作ればわかる!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…

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を…

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

JSPとは JSPはJavaServer Pagesの略である。 HTMLファイルにJavaプログラムw埋め込むことにより、サーバー側で動的なWebページを生成する技術。JSPはWebコンテナが実行時にコンパイルする。 web.xmlによるマッピングも行わない。JSPの配置場所は「任意」であ…

情報セキュリティの特性と、Java EEの認証方式

HttpSessionインターフェースのメソッド メソッド名 機能 Object getAttribute(String name) nameで指定した名前に相当するオブジェクトを返す。相当するオブジェクトがない場合はnullを返す。 void removeAttribute(String name) nameで指定した名前に相当…

セッションとかスコープとか。

HTTPにおける処理はステートレスである。 ステートレスというのは、リクエストによってコネクションが確立し、レスポンスを返した後にはコネクションが切断されてしまうことで、リクエストされたときの状態は保持されない。HTTPでステートレスなプロトコルを…

自分が新人だった頃に知っておきたかったweb.xmlの基礎。

自分が新人だった頃。 web.xmlの設定にハマり、ブラウザでサーブレットが表示できないと嘆いていたあの頃。 ネットでいくら検索しても意味がわからず、結局全然うまくいかなかった。 その頃の自分に言いたい。基礎からやれ、と。web.xmlの基礎的なこと、まと…

JSP/サーブレットを作る際のややこしいディレクトリ構成のまとめ。

コンテキストルート コンテキストルートというのは、Webアプリケーションを構成するすべてのコンテンツを格納するディレクトリである。 Webアプリケーションを作成する際に作る根幹となるディレクトリのようなもので、コンテキストルート以下にWEB-INFを置い…

JavaEE basics

The complexity of the EJB programming model has hindered the adoption of J2EE."If all you've got is a hammer, every problem tends to look like a nail." Burce Tate, author of Better, Faster, Lighter Java calls the combination of these predi…

JBossのデータソース周りの知識のまとめ

J2EEアプリケーションのお作法 ・web.xmlの <servlet-mapping>は、WEB-INF以下の見えないリソースを公開するために設定するもの。・WARファイルがweb.xmlを定義するように、EARファイルはapplication.xmlを定義する。・EARファイルのMETA-INFディレクトリにapplication.xmlを</servlet-mapping>…

Javaでメールを送るプログラム作成途中のメモ。

メモ ・Javaでメールを送るjar(javax.mail)は以下から取得 http://www.java2s.com/Code/Jar/j/Downloadjavaxmailjar.htm・Javaでメールを送るサンプル package mail; import java.util.Properties; import javax.mail.Address; import javax.mail.Message; i…

Sublime Textの文字化け対策とJavaEEパターンなど。

Sublime Textの日本語文字化けに対応する方法 「ConvertToUTF8」というプラグインをインストールするといい。 https://github.com/seanliang/ConvertToUTF8 上記でダウンロードしたzipを解凍して、できたフォルダを preferences > Browze packages・・・ の…

JavaScriptでヘッダーを設定して、サーブレットにリクエスト。

EclipseとTomcatの連携 1.tomcatPluginV321.zipをダウンロードする。 http://www.eclipsetotale.com/tomcatPlugin.html#A32.eclipseのdropinsの下に展開する。3.ウィンドウ→設定→Tomcatでtomcatほーむの設定と、コンテキスト・ファイルを選択する コンテキス…

EJB、J2EE、そしてJBossの基礎をまとめてみた。

JBossやJavaEEの紛らわしいファイル達 ・EJB-JARファイル EJB-JARファイルとは、1つ以上のEnterprise Beanを収めたJARファイルのこと。 拡張子は「.jar」。 ・WARファイル WAR(Web ARchive)ファイルとは、サーブレットのクラスファイルやJSPファイル、Webコ…

勉強のやり方について、試行錯誤している。

今まで勉強したことのメモとしてブログを使ってきた。 1時間を区切りとして、タイマーで計り、そこで学んだことを残した。学んだことを文字にしてアウトプットすることで、記憶が定着し、理解が深まったのは事実だ。 一方で、1時間にこだわりすぎて、学習…

JSTL(JavaServer Pages Standard Tag Library)の基礎のまとめ

JBoss At Workを読んで。 JSTL JSTLを使うことでソースコードは短くなる。 tableなんかを記述する時は、JSTLのforeachループを使うと、いちいちtableを書かなくてもよくなる。・JSTLのダウンロード ○javax.servlet.jsp.jstl-api-1.2.1.jar https://jstl.java…

Ajaxで変なエラーが出てうまくいかない

web.xmlについて ■XML宣言 version,eocoding,standaloneなどの属性がある。 スタンドアロン文章とは、外部ファイルの参照が必要かどうかを示す。 ■きまりごと ・ルート要素は単位杖ある必要がある。 ・XMLでは大文字と小文字は区別される。 ・開始タグに対し…

サーブレットの基礎知識の復習を始めた。

ことば ソフトウェア開発者なら、顧客が求めていないものを開発するのに全力を注いでも意味がない。アジャイル手法はそれを防ぐのに役立つ。君のキャリアについても同じ事がいえる。大きな目標を立てたら、それを常に見直すようにしよう。経験から学び、進み…

EJBのプログラムを作る際の手順のメモ

■リモートインターフェースを作るときのポイント リモートインターフェースとは → ・javax.ejb.EJBObjectを継承すること ・すべてのメソッドのthrows節ではjava.rmi.RemoteExceptionを宣言すること ・永続フィールドに対応するget/setメソッドを宣言する ・…

「努力というのはもっと主体的に目的的になされるもののことだ」

ことば 永沢「だからね、ときどき俺は世間を見回して本当にうんざりするんだ。どうしてこいつらは努力というものをしないんだろう、努力もせずに不平不満を言うんだろうってね」僕「僕の目から見れば世の中の人々はずいぶんあくせくと身を粉のようにして働い…

聞き手のコトをちゃんと理解するための合言葉「WISDOM」

ことば 聞き手を理解するための合言葉はWISDOM What:聞き手に何を知ってほしいのか Interest:言いたいことの中にある彼らの興味とは何か? Sophisticate:それらはどれくらい洗練されているか。 Detail:彼らはどの程度詳細に知りたがっているか Own:誰に…

ゆで蛙は自らがゆでられていることに気付かない。

ことば 熱湯の中に蛙を入れると、蛙はびっくりして飛び出してくるそうです。 しかし、水の入った鍋に蛙を入れて徐々に熱していった場合、蛙はゆっくりとした温度の上がり方に気づかず、調理されるまで鍋の中から飛び出してこないのです。 達人プログラマー―…

マスタリング JavaEE5を買った。

1つ前の記事を書いているときにたまたま見つけた「マスタリングJavaEE5」。 市販されているJava EE関連の本はひと通り見て、良さそうな本はとりあえず全部購入したはずだが、なんでこの本を持っていないんだろうと不思議に思っていた。 で、さっき本屋に行…

Java EEの勉強(1)〜フレームワークを使う側から作る側になるために〜

会社で使ってるフレームワークの中をちゃんと理解したいから、イチからJava EEを勉強する。 読んでる本はコレ。 実践J2EEテクノロジ―Java2 Platform,Enterprise Editionによるビジネスアプリケーション構築 (The Java series)作者: リックカトル,ジムインス…

JavaでXMLを操作するクラス・メソッドのまとめ。

XMLとはeXtensible Markup Languageの略。 XMLを使ったアプリケーションでは、DTD(Document Type Definition:文書型定義)かスキーマのいずれかをとおして、その文書の内容を使う前に文書構造の検証ができる。DOM(Document Object Model)はXMLの処理に広く使…

JSPとサーブレットでアクセスカウンタもどきを作ってみた

JSPでサーブレットにリクエストを飛ばす。 リクエストを受け取ったサーブレットは、そのリクエストのたびに、リクエストをカウントしていく。カウントアップした値を持つのはJavaBeanである。 そして、カウントアップされた値を持つJavaBeanをJSPが読み込む…

MVCパターンの実装例。

ビューを記述するのはJSPがふさわしい。 ビューにサーブレットを使用すると、変更するたびにコンパイルとデプロイをし直す必要があるため、保守管理が大変になる。最初の画面 <meta http-equiv="Content-Type" content="text/html; charset=Windows-31J"> <html> <head> <title>登録</title> </head> <body> <form action="pettern/ListController" method="get"> 名前:</form></body></html></meta>

【プログラミング 52時間目】MVCパターンについて。

J2EEデザインパターン作者: William Crawford,Jonathan Kaplan,福龍興業,佐藤直生,木下哲也出版社/メーカー: オライリージャパン発売日: 2004/03メディア: 単行本購入: 1人 クリック: 18回この商品を含むブログ (17件) を見るすべてのアプリケーションは最終…

JSPの要素、タグ、アクション、ディレクティブのサンプル

基礎からのサーブレット/JSP 第3版 (基礎からのシリーズ)作者: 宮本信二出版社/メーカー: ソフトバンククリエイティブ発売日: 2010/09/01メディア: 大型本購入: 3人 クリック: 82回この商品を含むブログ (12件) を見る基礎からのサーブレット/JSPで学んだの…

【プログラミング 40時間目】サーブレットでデータソースとlookup

長かったサーブレット/JSPの基礎固めももうすぐ終わる。 この本で勉強してよかった。昔、10日で〜とか、サーブレットサンプル集的な本で勉強した時は、肝心の設定の説明とか、環境構築の説明が省略されていて、全く理解できなかった。初心者が1番つまづくの…

【プログラミング 37-38時間目】サーブレットとDB,JSPの連携について

29章かな。サーブレットでDBから取得したデータと、JSPの連携のサンプルを写経した。 自分で応用したものを作ったら記事に載せます。 今回は写経しかしていないので、転載はできず。★★DAO(Data Access Object)パターンとは、データベース等へのアクセスを行…

【プログラミング 26時間目】JDBC周りの勉強。トランザクション

くそっ・・・! このまとめが面白すぎて2時間も読み込んでしまった・・・。勇者「すごい美人で有能な僧侶と魔法使いをお願いします」 http://minnanohimatubushi.2chblog.jp/archives/1819509.htmlキャラ設定が秀逸すぎる。 ドラクエがやりたくなってしまっ…

【プログラミング 25時間目】Webアプリケーションのデプロイ、JDBCによるDBへの接続など。

基礎からのサーブレット/JSPのChapter26「JDBCを使う」の勉強。 「パーフェクトJava」もわかりやすかったが、やはり基礎はこちらの本がいい。 カーソルの説明までしてくれる本はなかなかなかったから。良い本に出会えるのは幸せなことだ。 ドットインストー…

【プログラミング 23時間目】サーブレットでweb.xmlをいちいち編集するのが面倒くさいときはinvokerサーブレットを有効化

「基礎からのサーブレット」 この本は入門書としては最高の本である。説明が一つ一つ詳しく、類書が省きがちな環境構築をきめ細やかに説明してくれる。初学者が1番つまづくのは環境構築なのに、それを省略する本を書くヤツはナルシストに違いない。 読者の気…