- - PR -
サーブレットでSQL
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2008-09-26 01:13
javaでSQL(employeesテーブル)の社員IDのデータ取得し、新しい社員IDを作るというプログラムを作りました。
employeesテーブル ID | name 1001 | 浅葱 1002 | 岩崎 1003 | 牛飼 1004 | 江本 | | | その際javaでは新しいデータを(ID:1005 name:...)入れることができたのですがこれをサーブレットにしたときにエラーが起こり保存されませんでした。 つくったサーブレットは名前を入れたら次のIDのところ(今回でいうID:1005)をつくり名前とともに保存するというものです。 エラー内容 java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1338) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1187) at java.lang.ClassLoader.loadClassInternal(Unknown Source) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at Id.doPost(Id.java:33) at javax.servlet.http.HttpServlet.service(HttpServlet.java:709) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:868) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:663) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) at java.lang.Thread.run(Unknown Source) at Id.doPost(Id.java:33)は Class.forName("org.gjt.mm.mysql.Driver"); です。 Class.forName("org.gjt.mm.mysql.Driver"); に対してのエラーなのでCLASSPATHがおかしいのではと考えたのですが、Webをみてもできませんでした。。。 |
|
投稿日時: 2008-09-26 08:44
「Tomcat サーブレットJDBC クラスパス」あたりで検索すると見つかります。
その中では、こちらのページが詳しいです。 http://www.jajakarta.org/tomcat/tomcat5.0/ja/docs/tomcat-docs/class-loader-howto.html 簡単に言えば、 「WEB-INF/libにMySQLのJDBCドライバのjarを置きなさい」 ということです。 通常Tomcatでは、CLASSPATHは無視されます。 これを書き写した記事が某所にありますが、そちらは見なくてもいいでしょう 。 |
|
投稿日時: 2008-09-26 09:14
回答ありがとうございます。ちゃんとできました。
とても単純なことだったのですね....でもとても大事なことだと思いますので忘れないように頭にしっかり書き込んでおきます。 お騒がせいたしました。 |
1