• 締切済み

JSPからデータベースへのアクセス

質問させて頂きます。 下のサイトを参考にJSPからDBにアクセスする練習をしてるのですが、 思うように動きません。 http://www.fk.urban.ne.jp/home/kishida/kouza/shop/shop.html 同じようにDBにはAccessを利用。ODBCも設定を行いました。 tomcatの設定は他のJSPやサーブレットが動くので問題ないと 考えています。 サンプルをそのままコピーして、実行するとエラーがでます。 HTTPステータス500 The server encountered an internal error () that prevented it from fulfilling this request. org.apache.jasper.JasperException: JSPのクラスをロードできません org.apache.jasper.JspCompilationContext.load(JspCompilationContext.java:598) org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:147) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) JSPソース <%@page contentType="text/html; charset=Shift_JIS"%> <html> <head><title>商品一覧</title></head> <body> <%@page import="java.sql.*"%> <h1>商品一覧</h1> <% Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection conn = DriverManager.getConnection("jdbc:odbc:sampleshop"); Statement stmt = conn.createStatement(); String sql = "select * from t_shohin order by shohin_code"; ResultSet rs = stmt.executeQuery(sql); while(rs.next()){ out.print(rs.getString("shohin_name")); out.print(" - "); out.print(rs.getInt("price") + "円"); out.println("<br>"); } conn.close(); %> </body> </html> ご回答よろしくお願いします。

みんなの回答

  • PED02744
  • ベストアンサー率40% (157/390)
回答No.1

>tomcatの設定は他のJSPやサーブレットが動くので問題ないと考えています。 といわれましても、このエラーは「tomcatで新規作成されたJSPがコンパイルできてないから、クラスロードできない」 というエラーなのですよね。 JAVA_HOMEが正しく設定されていないとか、CLASS_PATHがおかしいとか、 そういうときに起こります。 ざっくり、ソースを見ている限りでは問題なさそうに思えるので、環境変数とかそのあたりをチェックされてはいかがでしょう?

star323
質問者

お礼

回答ありがとうございます。 もっと手前の問題でした; データベースのODBC設定の時点でユーザDNSよりシステムDNSに 登録するほうがいいと書いてあるサイトを見つけまして、 それにしたら、接続できるようになり表示もできました。 お手数かけてすいませんでした;