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

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

JavaEE

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