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 編資料