(#003)

復刻シリーズ 第53弾!!

━━━━━━━━━━━━━━━━━━━━━━ 2001.06.20 Vol.357  ━━━━
 □■□
 ■□■  日刊「WEBのツボ」 〜次世代WEBマーケティングを読む〜
 □■□                      http://www.soho-union.com/
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
                          配信部数 2284部

【○】本日のお題 「ツボによく利くJAVA & DB」(#003) ━━━━━━━━━━
                                                           福井修@Fsys
▽ Java から DB にアクセスする

前回 「 OSの動向も考慮すると今後の基幹プラットフォーム(DBも含む)は、
『オープンソース』製品が有利です。」という話をしました。

WindowsNT/2000 の IIS の 脆弱さや WindowsXP,Windows 64bit対応に振り回され
るのは、避けたいのと、本格的DBが オープンソース で使えるという点で、私は
Web-DB連携サーバは

 Linux + Apache + Tomcat + Java/Servet/JSP + PostgreSQL

 が、良い と考えております。( クライアントは WindowsIE )

 この手のシステム構築には、言語は、「PHP」や「Perl」も候補にあがります。
また 最近「Ruby」の台頭もめざましいものがあります。Java というとJava2
(JDK1.2 以降)が Linux で動作しだしたのは、2000年以降になるので好奇心の強
い技術者でないと、実際に触る場面は少ない状況はありました。しかしながら最近
では 携帯での iアプリJava が採用され、また zaurus でも Javaが動きだし、
一気にJavaのすそ野がひろがりつつあります。

また マイクロソフトが提供した ASP(Active Server Pages)と同様な書式で、Web
ページの中に <% 〜 %> でくくる形で、プログラムを埋め込むことができる JSP
(Java Server Pages)も最近は、一気に解説書も増えて、身近なものになってきて
います。
この Webページの中に <% 〜 %> でくくる形で、プログラムを埋め込む書式は (
PHPでは  ですが ) 動的なWebページ作成の為の自然な拡張として、受け入
れられ今後とも主流となるでしょう。Ruby の 拡張 eRuby でも<% 〜 %> が使えま
す。 すなわち、これまで ASPPHP でプログラミングしていた層も、JSPへなら
移行しやすい訳です。

ちょっと雰囲気を味わってみましょう。実際に PostgreSQLの郵便番号簿から正規
表現で住所を取り出している例です。
(実際にはエラー処理などがもっと必要ですが)

 :
// ドライバのロード
Class.forName("postgresql.Driver");

// データベースへの接続
connection = DriverManager.getConnection(url, user, password);
statement  = connection.createStatement();

// SQL文の編集
String sql = "select * from postlist "+
        "where post_id~'^"+ post_id +"'";

// 問い合わせの実行
resultset = statement.executeQuery(sql);
%> 
<TABLE BORDER CELLPADDING=2 CELLSPACING=0>
 <TR>
 <TH ALIGN=center>郵便番号</TH>
 <TH>都道府県</TH>
 <TH>市区</TH>
 <TH>町村</TH>
 </TR>
<%
 while(resultset.next()){
  String pcode   = resultset.getString("post_id");
  String pref    = resultset.getString("ken");
  String city    = resultset.getString("si");
  String town    = resultset.getString("tyou");
%>
 <TR>
   <TD> <%=postno%></TD>
   <TD> <%=pref%></TD>
   <TD> <%=city%></TD>
   <TD> <%=town%></TD>
 </TR> 
<%
 }
%>
 :

どうです。簡単でしょ^^; 但しDBを扱うには、「SQL」言語も使いこなす必要
がありますので、新しい技術要素を一遍にというのは大変なのは事実です。

例えば Windows で HTML と VB ならなんとか という土俵から、LinuxJavaで
本格DBの土俵へとシフトするには、

1) Linux(Unix) の基礎 (ファイルやエディタの操作など)
2) Apache (WebServer)の設定
3) Tomcat (Servlet/JSPのプラットフォーム)の設定
4) PostgreSQLの設定
5) SQL言語
6) Java言語
7) Servlet/JSP の理解
8) コード(Shift-JIS,EUC,Unicode,JIS..)の理解

などを乗り越える必要があります。 一歩ずつ一歩ずつ^^

今後ますますニーズが高まるところの電子商取引に踏み込むには、これらの要素
に加えて XMLSOAP なども使いこなさなくてはなりません。

Web の世界と システムの世界は、シームレスに繋がろうとしています。
その際、 Java と DB の使いこなしは、強力な武器となります。あと オブジェク
ト志向スクリプト言語 Ruby正規表現などでのテキスト操作も強力ですね。

オープンソース部品を使いこなす事で、限られた予算をよりよい問題解決に回す
ことができます。


■ Tomcatを使う「JSPプログラミング」
http://www.atmarkit.co.jp/fjava/rensai/jsp01/jsp01.html
http://www.atmarkit.co.jp/fjava/rensai/jsp02/jsp02.html
http://www.atmarkit.co.jp/fjava/rensai/jsp03/jps03.htmlJSPの基礎知識
http://www.atmarkit.co.jp/fjava/javafaq/jsp/jsp01.html
http://www.atmarkit.co.jp/fjava/javafaq/jsp/jsp02.html
http://www.atmarkit.co.jp/fjava/javafaq/jsp/jsp03.html

■ 前回5/16 以降にも 相次ぐ IISセキュリティ・ホール情報,くれぐれも
  “まひ”しないように (閲覧には登録要)
http://itpro.nikkeibp.co.jp/members/ITPro/SEC_CHECK/20010522/1/

【プロフィール】
福井 修 ( FUKUI Osamu )o-fukui@po.iijnet.or.jp fukui@fsys.net
福井システムリサーチ http://fsys.net/  主幹。システム構築歴25年。
Linux+JSP+PostgreSQLでの郵便番号簿 検索 http://fsys.net/post/
日本リヌクス協会、神戸商工会議所情報処理学会 会員
関西ソーホ・デジタルコンテンツ事業協同組合流通科学大学 委託SE http://www.umds.ac.jp/