java初心者のものです。書籍の内容どおりに進めてたらエラーにひっかりまして、
「Java.lang.ClassNotFoundException:mysql.jdbc.Driver」で調べたところjarファイルが設定していないとでたので、確認したところちゃんとWEB-INF、libにjarファイルを設定していますし、クラスパスも「ビルドパスの構成」から設定しているのにエラーになる原因がわかりません。
コンソールのエラー
java.sql.SQLException: con.mysql.jdbc.Driver at org.apache.catalina.realm.JDBCRealm.open(JDBCRealm.java:645) at org.apache.catalina.realm.JDBCRealm.startInternal(JDBCRealm.java:718) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.realm.CombinedRealm.startInternal(CombinedRealm.java:214) at org.apache.catalina.realm.LockOutRealm.startInternal(LockOutRealm.java:120) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:905) at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.StandardService.startInternal(StandardService.java:439) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:760) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.startup.Catalina.start(Catalina.java:625) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:351) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:485) Caused by: java.lang.ClassNotFoundException: con.mysql.jdbc.Driver at java.net.URLClassLoader.findClass(URLClassLoader.java:382) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:264) at org.apache.catalina.realm.JDBCRealm.open(JDBCRealm.java:641) ... 19 more
ソースコード
package chapter10; import java.io.IOException; import java.util.UUID; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; /** * Servlet implementation class TransactionTokenServlet */ @WebServlet("/TransactionTokenServlet1") public class TransactionTokenServlet1 extends HttpServlet { TransactionTokenBean tranTokenBean=new TransactionTokenBean(); @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { int studentNo; String studentName; int schoolYear; try{ studentNo=Integer.parseInt(request.getParameter("studentno")); studentName=request.getParameter("studentname"); schoolYear=Integer.parseInt(request.getParameter("schoolyear")); }catch(NumberFormatException e){ getServletContext().getRequestDispatcher("/errorinput.html").forward(request, response); return; } tranTokenBean.setStudentNo(studentNo); tranTokenBean.setStudentName(studentName); tranTokenBean.setSchoolYear(schoolYear); HttpSession session=request.getSession(); session.setAttribute("tranTokenBean", tranTokenBean); String tokenID=UUID.randomUUID().toString(); session.setAttribute("tokenID", tokenID); getServletContext().getRequestDispatcher("/transanctiontoken_check.jsp").forward(request,response); } }
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
Eclipse4.5
Widows7
tomcat8
jdbcドライバー:mysql-connection-java-8.0.17.jar
jdk1.8.0_211
MySQL Server5.7
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/09/03 12:55
2019/09/03 13:00
退会済みユーザー
2019/09/03 13:01