我加载jar了,换成java.sql.Statement能运行。 但是subscriptionform.jsp调用的另一个 subscription.jsp报错: 14:48:02,284 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/SecondMarche].[jsp]] (http-localhost-127.0.0.1-8080-1) "Servlet.service()" pour la servlet jsp a généré une exception: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver from [Module "deployment.SecondMarche.war:main" from Service Module Loader] at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190) at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468) at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456) at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398) at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120) at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:131) [jbossweb-7.0.13.Final.jar:] at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:67) [jbossweb-7.0.13.Final.jar:] at java.lang.Class.forName0(Native Method) [rt.jar:1.6.0_38] at java.lang.Class.forName(Unknown Source) [rt.jar:1.6.0_38] at org.apache.jsp.inscription_jsp._jspService(inscription_jsp.java:72) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) [jbossweb-7.0.13.Final.jar:] at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final] at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369) [jbossweb-7.0.13.Final.jar:] at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:326) [jbossweb-7.0.13.Final.jar:] at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:253) [jbossweb-7.0.13.Final.jar:] at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329) [jbossweb-7.0.13.Final.jar:] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.13.Final.jar:] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [jbossweb-7.0.13.Final.jar:] .... .... <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <%@page import="java.sql.Statement"%> <%@page import="java.sql.*" %> <%@page import="site.MD5Util" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> </head> <body> <% String login=request.getParameter("login"); String password=request.getParameter("password"); String mail=request.getParameter("mail"); String pwmd5=MD5Util.MD5(password); Class.forName("com.mysql.jdbc.Driver"); Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/mydb", "root", "1016"); PreparedStatement st=conn.prepareStatement("select idUtilisateur from Utilisateur where login='"+login+"'"); ResultSet rs=st.executeQuery(); if(!rs.next()){ PreparedStatement st1=conn.prepareStatement("insert into Utilisateur(login,password,role,valide,mail) values('"+login+"','"+pwmd5+"','2','0','"+mail+"')"); st1.executeUpdate(); response.sendRedirect("index.jsp?login="+login); st1.close(); //session.setAttribute("idUtilisateur",rs.getString(1)); }else{
换成java.sql.Statement 果真有用 可以运行 不报错了
那我的class.forname(""); 引号中 相对应的应该写什么呢?
能稍微解释下么 为什么换成这个语句就可以运行了呢
我加载jar了,换成java.sql.Statement能运行。
但是subscriptionform.jsp调用的另一个 subscription.jsp报错:
14:48:02,284 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/SecondMarche].[jsp]] (http-localhost-127.0.0.1-8080-1) "Servlet.service()" pour la servlet jsp a généré une exception: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver from [Module "deployment.SecondMarche.war:main" from Service Module Loader]
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456)
at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120)
at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:131) [jbossweb-7.0.13.Final.jar:]
at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:67) [jbossweb-7.0.13.Final.jar:]
at java.lang.Class.forName0(Native Method) [rt.jar:1.6.0_38]
at java.lang.Class.forName(Unknown Source) [rt.jar:1.6.0_38]
at org.apache.jsp.inscription_jsp._jspService(inscription_jsp.java:72)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) [jbossweb-7.0.13.Final.jar:]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final]
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369) [jbossweb-7.0.13.Final.jar:]
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:326) [jbossweb-7.0.13.Final.jar:]
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:253) [jbossweb-7.0.13.Final.jar:]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [jbossweb-7.0.13.Final.jar:]
....
....
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.*" %>
<%@page import="site.MD5Util" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
</head>
<body>
<%
String login=request.getParameter("login");
String password=request.getParameter("password");
String mail=request.getParameter("mail");
String pwmd5=MD5Util.MD5(password);
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/mydb", "root", "1016");
PreparedStatement st=conn.prepareStatement("select idUtilisateur from Utilisateur where login='"+login+"'");
ResultSet rs=st.executeQuery();
if(!rs.next()){
PreparedStatement st1=conn.prepareStatement("insert into Utilisateur(login,password,role,valide,mail) values('"+login+"','"+pwmd5+"','2','0','"+mail+"')");
st1.executeUpdate();
response.sendRedirect("index.jsp?login="+login);
st1.close();
//session.setAttribute("idUtilisateur",rs.getString(1));
}else{
response.sendRedirect("inscriptionForm.jsp");
}st.close();
conn.close();
%>
</body>
</html>
加载了 在buidpath里加载的 mysql-connector-java-5.1.20-bin
加载了 在buidpath里加载的 mysql-connector-java-5.1.20-bin你应该把jar放在你工程的lib目录下!
换成java.sql.Statement 果真有用 可以运行 不报错了
那我的class.forname(""); 引号中 相对应的应该写什么呢?
能稍微解释下么 为什么换成这个语句就可以运行了呢我想应该是你jar的位置放错了!Web工程的jar都应该放在lib下面!