import java.io.*;
import java.sql.*;import javax.servlet.*;
import javax.servlet.http.*;public class CreateDB extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
String driverClass=getInitParameter("driverClass");
url=getInitParameter("driverClass");
user=getInitParameter("user");
password=getInitParameter("password"); try
{
Class.forName(driverClass);
}
catch(ClassNotFoundException ce)
{
throw new UnavailableException("加载数据库驱动失败!");
}
//--------------------------------------------------------------------------
Connection conn=null;
Statement stmt=null;
try
{
conn=DriverManager.getConnection(url, user, password);
stmt=conn.createStatement();
stmt.executeUpdate("create database bookstore");
stmt.execute("use bookstore");
stmt.execute("create tableBookInfo("
+ "id INT not null primary key"
+"title VERCHAR(50)not null"
+ "author VACHAR(50) not null,"
+ "bookconcernVARCHAR(100) not null"
+ "publish_date not null"
+ "price FAOT(4,2) not null,"
+ "amount SMALLINT,"
+ "reVARCHAR(200))ENGINE=InnoDB)"
);
stmt.addBatch("insert into values(1,'ddd','张','eee','2004-6-1',34.00,35,null)");
stmt.addBatch("insert into values(2,'fff','李','rrr','2005-3-1')");
stmt.addBatch("insert into values(3,''ggg','王','yyy','2006-10-1',78.00,10,null)");
stmt.executeBatch();
PrintWriter out=response.getWriter();
out.println("seccess!");
out.close();
}
catch(SQLException se)
{
se.printStackTrace();
}
finally
{
if(stmt!=null)
{
try
{
stmt.close();
}
catch(SQLException se)
{
se.printStackTrace();
}
stmt=null;
}
if(conn!=null)
{
try
{
conn.close();
}
catch(SQLException se)
{
se.printStackTrace();
}
conn=null;
}
}
}
// public void init() throws ServletException
// {
// String driverClass=getInitParameter("driverClass");
// url=getInitParameter("driverClass");
// user=getInitParameter("user");
// password=getInitParameter("password");
//
// try
// {
// Class.forName(driverClass);
// }
// catch(ClassNotFoundException ce)
// {
// throw new UnavailableException("加载数据库驱动失败!");
// }
// }
private String url;
private String user;
private String password;
}
//web.xml
<servlet>
……
<init-param>
<param-name>driverClass</param-name>
<param-value>com.mysql.jdbc.Driver</param-value>
</init-param>
<init-param>
<param-name>url</param-name>
<param-value>jdbc:mysql://localhost:3306/mysql</param-value>
</init-param>
<init-param>
<param-name>user</param-name>
<param-value>root</param-value>
</init-param>
<init-param>
<param-name>password</param-name>
<param-value>1</param-value>
</init-param>
</servlet>
import java.sql.*;import javax.servlet.*;
import javax.servlet.http.*;public class CreateDB extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
String driverClass=getInitParameter("driverClass");
url=getInitParameter("driverClass");
user=getInitParameter("user");
password=getInitParameter("password"); try
{
Class.forName(driverClass);
}
catch(ClassNotFoundException ce)
{
throw new UnavailableException("加载数据库驱动失败!");
}
//--------------------------------------------------------------------------
Connection conn=null;
Statement stmt=null;
try
{
conn=DriverManager.getConnection(url, user, password);
stmt=conn.createStatement();
stmt.executeUpdate("create database bookstore");
stmt.execute("use bookstore");
stmt.execute("create tableBookInfo("
+ "id INT not null primary key"
+"title VERCHAR(50)not null"
+ "author VACHAR(50) not null,"
+ "bookconcernVARCHAR(100) not null"
+ "publish_date not null"
+ "price FAOT(4,2) not null,"
+ "amount SMALLINT,"
+ "reVARCHAR(200))ENGINE=InnoDB)"
);
stmt.addBatch("insert into values(1,'ddd','张','eee','2004-6-1',34.00,35,null)");
stmt.addBatch("insert into values(2,'fff','李','rrr','2005-3-1')");
stmt.addBatch("insert into values(3,''ggg','王','yyy','2006-10-1',78.00,10,null)");
stmt.executeBatch();
PrintWriter out=response.getWriter();
out.println("seccess!");
out.close();
}
catch(SQLException se)
{
se.printStackTrace();
}
finally
{
if(stmt!=null)
{
try
{
stmt.close();
}
catch(SQLException se)
{
se.printStackTrace();
}
stmt=null;
}
if(conn!=null)
{
try
{
conn.close();
}
catch(SQLException se)
{
se.printStackTrace();
}
conn=null;
}
}
}
// public void init() throws ServletException
// {
// String driverClass=getInitParameter("driverClass");
// url=getInitParameter("driverClass");
// user=getInitParameter("user");
// password=getInitParameter("password");
//
// try
// {
// Class.forName(driverClass);
// }
// catch(ClassNotFoundException ce)
// {
// throw new UnavailableException("加载数据库驱动失败!");
// }
// }
private String url;
private String user;
private String password;
}
//web.xml
<servlet>
……
<init-param>
<param-name>driverClass</param-name>
<param-value>com.mysql.jdbc.Driver</param-value>
</init-param>
<init-param>
<param-name>url</param-name>
<param-value>jdbc:mysql://localhost:3306/mysql</param-value>
</init-param>
<init-param>
<param-name>user</param-name>
<param-value>root</param-value>
</init-param>
<init-param>
<param-name>password</param-name>
<param-value>1</param-value>
</init-param>
</servlet>
url=getInitParameter("driverClass"); 老大...参数取错了吧.......
url=getInitParameter("driverClass"); --->url=getInitParameter("url");
还有要把具体的错误信息贴出来
HTTP Status 500 -type Exception reportmessagedescription The server encountered an internal error () that prevented it from fulfilling this request.exceptionjavax.servlet.ServletException: Servlet.init() for servlet CreateDB threw exception
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:825)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:738)
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:526)
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
java.lang.Thread.run(Unknown Source)root causejava.lang.NullPointerException
java.lang.Class.forName0(Native Method)
java.lang.Class.forName(Unknown Source)
CreateDB.init(CreateDB.java:110)
javax.servlet.GenericServlet.init(GenericServlet.java:211)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:825)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:738)
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:526)
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
java.lang.Thread.run(Unknown Source)note The full stack trace of the root cause is available in the Apache Tomcat/5.5.7 logs.
Apache Tomcat/5.5.7
url=getInitParameter("driverClass"); 是读web.xml中的变量