関連ページ:Tomcat 文字コード/Servletでの文字化け(いわゆる全角チルダ問題)
Webアプリをコンパイルするシェルスクリプト 
POS用。
他のプロジェクトで使うには色々修正する必要がある。
#!/bin/sh
JAVAC=/usr/local/jdk1.6.0_01/bin/javac
TOMCAT_HOME=/usr/local/apache-tomcat-6.0.13
LIBDIR=/usr/local/apache-tomcat-6.0.13/webapps/pos_auto/WEB-INF/lib
cd /usr/local/apache-tomcat-6.0.13/webapps/pos_auto
POS_LIBS=`find $LIBDIR -name '*.jar'|paste -s -d: -`
TOMCAT_LIBS=`find $TOMCAT_HOME/lib -name '*.jar'|paste -s -d: -`
find . -name '*.java' -print0 | xargs -0 $JAVAC -cp "$TOMCAT_LIBS:$POS_LIBS" -d WEB-INF/classes
WebアプリをコンパイルするAnt用build.xml 
POS用。
他のプロジェクトで使うには適宜変更すること。
<?xml version="1.0" encoding="UTF-8"?>
<!--
Tomcat Web アプリをコンパイルする build.xml
@date 2007-07-12
@version 1.0
@author AOYAMA Shotaro
準備:
0. 環境変数 TOMCAT_HOME が設定されていることを確認。
1. このファイルを webapps/アプリ名/src に置く。
2. property を設定する。
実行:
コマンドラインから
$ ant compile
で実行。
参考:
http://www.stackasterisk.jp/tech/java/ant02_03.jsp
-->
<project name="webappli_compile" default="all" basedir=".">
<!-- カレントディレクトリにこのファイルがあるときは、そこからも
プロパティを読み込む。 -->
<property file="build.properties" />
<!-- 環境変数を使ってpropertyのセット -->
<property environment="env" />
<!-- Tomcat 6 用!! 5 ではlibのパスが違う。 -->
<property name="path_to_servlet_api" value="${env.TOMCAT_HOME}/lib/servlet-api.jar" />
<!-- 違うプロジェクトで使うときは、以下のプロパティを正しく設定すること! -->
<property name="appdir" value=".."/>
<property name="src" value="."/>
<property name="classes" value="../WEB-INF/classes"/>
<property name="libdir" value="../WEB-INF/lib"/>
<property name="encoding" value="UTF-8"/>
<!-- タスクを持たないターゲット -->
<target name="all" depends="timestamp,compile" />
<!-- タイムスタンプを変更 -->
<target name="timestamp">
<touch datetime="01/01/1990 0:00 am">
<fileset dir="${classes}">
<include name="**/*.class"/>
</fileset>
</touch>
</target>
<!-- ディレクトリ作成 -->
<target name="init">
<mkdir dir="${appdir}/WEB-INF/classes"/>
</target>
<!-- classes ディレクトリの削除 -->
<target name="clean">
<delete dir="${classes}" />
</target>
<!-- コンパイル -->
<target name="compile" depends="init,copy">
<javac srcdir="${src}" destdir="${classes}" encoding="${encoding}">
<classpath>
<pathelement path="${classes}"/>
<fileset dir="${libdir}">
<include name="*.jar" />
</fileset>
<pathelement location="${path_to_servlet_api}"/>
</classpath>
</javac>
</target>
<!-- XMLなどファイルコピー -->
<target name="copy">
<copy todir="${classes}">
<fileset dir="${src}">
<exclude name="**/*.java"/>
<exclude name="**/*.class"/>
</fileset>
</copy>
</target>
</project>
リンク集 
サルでもわかる 逆引きデザインパターン
DAO, ViewHelper, NullObjectなど他とはちょっと違うパターンが紹介されている。わかりやすい。
http://www.nulab.co.jp/designPatterns/designPatterns1/designPatterns1-1.html