サーブレットのほこら
ここに置いてあるサーブレットはApache+Tomcatでしかテストしていません。
ソースコードを公開していますので、参考にしていただけると嬉しいです。
チャットに関してはjarファイル等が置いてありますので、ご自由に使用して頂いて構いません。再配布もご自由にどうぞ。
著作権はこのサイトの管理人:キタジー(S.Kitade)のものであることを一応主張しておきます。
また、ソースコードの無断転載はご遠慮願います。
要望、問題のある部分の指摘等、もしあればメールにでも書いていただけると有難いです。
現状は会社や大学でサーブレットを使う機会のある方以外は利用するのがなかなか難しいかもしれません。自宅サーバの方は設置可能です。
2004.7.17
SChatのバージョンを1.11にUPしました。
システムメッセージの出力設定を追加、文字コードのデフォルト指定をWindows-31Jに変更しました。
ソースも含めてこちらでダウンロードできます。(schat11.lzh)
ソース以外の再配布はご自由にどうぞ。
2004.2.23
FCLIST-SQLなるものを作成しました。
ファミコンユーザーの方に使って頂けるとうれしいです。
2003.11.28
SChatのバージョンを1.1にUPしました。
HOMEのURLを追加、LINK色をweb.xmlで指定できるようにしてあります。
※Tomcat4.1.29+Apache2.0.48、また、Tomcat3.3.1a+Apache1.3.29で動作確認しました。(11/28追記)
2003.05.22
SChatのバージョンを1.0にUPしました。
背景画像、クッキーの有効期間をweb.xmlで指定できるようにしてあります。
2003.02.10
ハンドル名をクッキーに保存するようにしたVer0.9をUPしました。
同一マシンであれば同一ハンドル名で複数のウィンドウから多重に入室できますが、別のマシンの場合同じハンドルでの同時入室はできません。
それから名前をSChatに変更しました。ServletとSimpleのSです。
2002.04.21
ファミコンの15パズルをUPしました。息抜きにどうぞ。
途中で面倒になったらURL部分の文字列を操作してインチキできます。('A'が空白部分)
2002.02.03
SKChatのバージョンを0.31から0.32にUPしました。
入力禁止文字列を設定できるようにしました。
初期化パラメータ"LOGPATH"に指定したディレクトリに"ngword.txt"というファイルを置いておけばOKです。
"ngword.txt"の中身に
文字列1
文字列2
...
というように書き込みされたくない文字列を指定します。
ただし、それらの文字列は初期化パラメータ"CHARSET"で指定した文字コードで書かれていなければなりません。
その他補足
・ドキュメントの生成
javadoc -private -d ..\doc -author -windowtitle skchat0.31 jp.ne.so_net.za2.kitade.chat
・classファイルをjarファイルにまとめる方法
jarファイルにまとめる際は作業ディレクトリに移動した上で、以下のようなコマンドを打ちました。
jar cvf skchat032.jar -C classes .
・パスの設定をtomcatディレクトリ/conf/server.xmlに追加
(/export/home/kitade/servlet/chat032以下をchat032としてアクセスする場合の例)
<Context path="/chat032"
docBase="/export/home/kitade/servlet/chat032"
crossContext="false"
debug="0"
reloadable="true" >
</Context>
・ビルドの方法
開発時のディレクトリ構成の例(わかりにくい書き方?) chat03 classes doc lib servlet.jar src jp ne so_net za2 kitade chat ChatDefs.java ChatLog.java ChatServlet.java SKException.java
例えば、ディレクトリ構成を上の表のようにした場合、ビルドはchat03ディレクトリで以下のようにjavacを実行すればOKです。
javac -d classes -classpath lib\servlet.jar src\jp\ne\so_net\za2\kitade\chat\*.java
DOSプロンプトでコマンドを打つよりは、batファイルにしておくほうがよいかもしれません。
関係あったりなかったりするメモ
・自宅サーバへリンクを張る方法
既存のホームページから自宅サーバへリンクを張る方法は、Linux magazine 2001年7月号の特集「インターネットサーバらくらく公開術」を参考にしました。
グローバルIPアドレスで、なおかつ常時接続ではあるのですが、接続の度にアドレスが変わるので以下のことをします。
1.自宅サーバからcrontabで設定した時間間隔毎にwget -O ファイル指定 プロバイダのサーバ上のスクリプト
2.リクエストを受けたサーバ上のスクリプトはリクエストのIPを調べてファイルに書き出す。
これで吐き出されたアドレスを、ブラウザからのリクエストがあった時に別のスクリプトで読み込んで表示してやればリンク完了です。その際にはSSIを使ってます。
Linux magazine 2001年7月号の特集だと、ルータの接続状態を取得していますが、どうせ後からサーバにUPするのなら最初からサーバのスクリプトを実行したほうがいいかなと思ったわけです。
・自宅サーバ(新)について
OS : Linux
CPU : K6-2 500MHz (AMD)
M/B : GA-5AX (GIGABYTE)
メモリーは256Mです。
HDは騒音を嫌って5,400rpmのものを買いました。割と静かでよかったです。
将来的には騒音対策と省エネのためにNotePCをLinuxサーバーにしたいと考えています。
ApacheもMySQLもOS付属のものを使わず、最新版をビルドしました。
2003/12/3現在、Apache2.0.48 ⇔ jk2-2.0.2 ⇔ Tomcat4.1.29 という構成です。
・自宅サーバ(旧)について
OS : Solaris8 for Intel
CPU : Duron 850MHz
M/B : ASUS A7V
VideoCard : Virgeの何かだったような。ちょっと古めのやつをわざわざDOS/Vパラダイスで購入。
NetworkInterfaceCard : Intel のやつをわざわざDOS/Vパラダイスで購入。バルクで売ってたので5,000円程度。
x86(Intel)版Solarisはサン・オンラインストアで買えます。私が手に入れようとした時にはまだそのようなページが無かったため、ぷらっとホームのぷらっとオンラインで買いました。
いつの間にかSolaris 9 のx86版出てますね。(2003/05/22追記)
Apache、Tomcat以外にOracle8iもSolarisに付属していたものをインストール済みです。そのうちServlet+JDBCのデモでも置きたいなあと。
Oracleのインストールには実はいろいろあるんですが、ここを見ていただければ大体大丈夫でしょうか?
それからOracleはここで楽しく勉強できそうです。※楽しくなくても責任は負いかねます
うちのサーバはSolarisなので結局、mod_jk.so(ApacheとTomcatを連携させるモジュール)のコンパイルは、日立ソフトのJava解説ページなんかも参考にしながら、
/usr/local/apache/bin/apxs -o mod_jk.so -DSOLARIS -I../jk -I/usr/java1.2/include -I/usr/java1.2/include/solaris -lposix4 -c *.c ../jk/*.c
でやったと思います。
関連リンク
■Servlet Garden 〜Servlet のお庭〜
■Jakarta Project
■Ja-Jakartaプロジェクト
■Java(tm) House Mailing List Homepage
■JavaでHello World
■Sun Microsystems - Java Developer Connection
■Java覚え書き
■Eclipse.org
■