SAK 図書館
PostgreSQL + Servlet、JSP 編1 - war 作成、JDBC 配置、Servlet, JSP テスト
■Tomcat PostgreSQL JDBC、JAVA Servlet、JSP 実行環境 ・JAVA Servlet、JSP アクセスをする準備として、Tomcat の /jakarta-tomcat-3.3.1/webapps/ 配下に実行環境を作成する必要がある。 また、JDBC ドライバの配置も行う。 ■Servlet、JSP 実行フォルダ作成 ・JAVA サーブレット(Servlet) *.class のコンバイルは、次のように行う。 cd /src javac test.java ・テスト用の Servlet、JSP 実行フォルダ作成のための war パッケージファ イルを作成する。次のようなフォルダ構成をワークに作成する。 jsp/ には、*.jsp を置く。 classes/ には、*.class を置く。 lib/ には、*.jar を置く。 sak/ jsp/ WEB-INF/ classes/ lib/ ・war パッケージファイルは、次のように作成する。 cd /src/sak jar cvf sak.war ./* ・作成された sak.war を /jakarta-tomcat-3.3.1/webapps/ 配下に置き、 Tomcat を再起動すると、自動的に展開され実行環境の設定が行われる。 /jakarta-tomcat-3.3.1/webapps/sak/ がこれで利用可能となる。 ・webapps/ 配下に直接、ファイルを作成するだけでは、実行ができないので、 war 展開で初期セットアップすると良い。 その後は、*.jsp、*.class、*.jar を直接その場所に置いても実行できる。 ・Servlet への実行 URL は、 http://sak-design:8080/sak/servlet/test となる。 ・JSP への実行 URL は、 http://sak-design:8080/sak/jsp/test.jsp となる。 ■JDBC ドライバ postgresql.jar インストール ・PostgreSQL 7.0.2 の JDBC ドライバは、次のようにインストールする。 c:/cygnus/jakarta-tomcat-3.3.1/webapps/sak/WEB-INF/lib/postgresql.jar ・CLASSPATH は、次のようにした。 尚、Cygwin B20 では、「"」で囲まないと「;」でエラーになる。 また、普通のパスは、Cygwin B20 では「:」で区切るが、CLASSPATH は、 DOS と同じく「;」でかつ、「c:/...」のようにシステムパスから指定する 必要がある。 export CLASSPATH=".;c:/cygnus/jakarta-tomcat-3.3.1/lib/common/servlet.jar;c:/cygnus/jakarta-tomcat-3.3.1/webapps/sak/WEB-INF/lib/postgresql.jar" ■JDBC ドライバ pgjdbc2.jar インストール ・PostgreSQL 7.2.3 の JDBC ドライバは、次のようにインストールする。 pgjdbc2.jar については、JDBC ドライバの make もうまくいかず、ダウン ロードしてきた。(Servlet や JSP のソースの修正は不要であった。) c:/cygnus/jakarta-tomcat-3.3.1/webapps/sak/WEB-INF/lib/pgjdbc2.jar ・CLASSPATH は、次のようにした。 尚、Cygwin B20 では、「"」で囲まないと「;」でエラーになる。 また、普通のパスは、Cygwin B20 では「:」で区切るが、CLASSPATH は、 DOS と同じく「;」でかつ、「c:/...」のようにシステムパスから指定する 必要がある。 export CLASSPATH=".;c:/cygnus/jakarta-tomcat-3.3.1/lib/common/servlet.jar;c:/cygnus/jakarta-tomcat-3.3.1/webapps/sak/WEB-INF/lib/pgjdbc2.jar" ■JAVA Servlet テスト ・単純なサーブレットのテストを行う。 尚、S-JIS、日本語 EUC コードを使用しても日本語が表示できなかった。 なにか指定方法がありそうである。(JSP は日本語が普通に使えた。) // test.java import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class test extends HttpServlet { public void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException { PrintWriter rw = res.getWriter(); rw.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\">"); rw.println("<HTML>"); rw.println("<HEAD>"); rw.println("<META http-equiv=\"Content-Type\" content=\"text/html; charset=Shift_JIS\">"); rw.println("<TITLE>JAVA Servlet Test</TITLE>"); rw.println("</HEAD>"); rw.println("<BODY>"); rw.println("<P>JAVA Servlet Test...</P>"); rw.println("<P>OK</P>"); rw.println("</BODY>"); rw.println("</HTML>"); } } ・コンパイルは、次のようにする。 cd /src javac test.java ・test.class を /jakarta-tomcat-3.3.1/webapps/sak/WEB-INF/classes/ 内 に置き、http://sak-design:8080/sak/servlet/test として実行する。 ■JAVA Server Page(JSP) テスト ・単純な JSP のテストを行う。 Servlet と違い、JSP は、S-JIS での日本語表示も OK であった。 <%@ page import="java.util.*" contentType="text/html; charset=Shift_JIS"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <TITLE>JAVA Server Page(JSP) Test</TITLE> </HEAD> <BODY> <% out.println("<P>JAVA Server Page(JSP) Test...</P>"); out.println("<P>JSP は、日本語も OK</P>"); %> </BODY> </HTML> ・JSP は、ソースをそのまま実行する形となるので、test.jsp を /jakarta-tomcat-3.3.1/webapps/sak/jsp/ 内に置き、 http://sak-design:8080/sak/jsp/test.jsp として実行する。 ■PostgreSQL 編、JAVA Servlet、JSP 編資料
■MySQL 編資料
■SQL 基礎編資料
■SQL 基礎実地編資料
■SQL チューニング編資料
■Oracle PL/SQL 編資料