servlet 连接mysql数据库时出现异常,麻烦高手帮看看

servlet 连接mysql数据库时出现错误,麻烦高手帮看看servlet 连接mysql数据库时出现错误,麻烦高手帮看看对

servlet 连接mysql数据库时出现错误,麻烦高手帮看看
servlet 连接mysql数据库时出现错误,麻烦高手帮看看
对数据库实现插入操作
浏览器显示下面信息
type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: Servlet.init() for servlet insert threw exception
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:877)
org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:594)
org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1675)
java.lang.Thread.run(Thread.java:619)
root cause

java.lang.NullPointerException
java.lang.Class.forName0(Native Method)
java.lang.Class.forName(Class.java:169)
org.sunxin.lesson.jsp.bookstore.insert.init(insert.java:31)
javax.servlet.GenericServlet.init(GenericServlet.java:212)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:877)
org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:594)
org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1675)
java.lang.Thread.run(Thread.java:619)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.35 logs.



  


addStuInfo.jsp页面
<%@ page contentType="text/html" language="java" import="java.util.*" pageEncoding="GB2312"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
  <script type="text/javascript"">
  function validate()
  {
  var id = document.forms[0].id.value;
  var name = document.forms[0].name.value;
  var age = document.forms[0].age.value;
  var major = document.forms[0].major.value;
  if(id <= 0){
  alert("学号不能为空,请输入学号!");
  return false;
  }
  else if(name.length <= 0){
  alert("姓名不能为空,请输入姓名!");
  return false;
  }
  else if(age <= 0){
  alert("请输入合法年龄!");
  return false;
  }

  else if(major.length <= 0){
  alert("专业不能为空,请输入所学专业!");
  return false;
  }

  else{
  return true;
  }
  //document.getElementById("form").submit();
  }
  </script>
  <head>
  <base href="<%=basePath%>">
   
  <title>Welcome,home</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">  
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
  </head>


  
  <body background="pic/background.jpg"><br/><br/>
 
  <center>
  <div>主页<p>
  <form name="form1" action="servlet/insert" method="post" onsubmit="return validate()">
  <h4> 学号:<input type="text" name="id" class="{required:true}"></input><br></h4>
<h4> 姓名:<input type="text" name="name"></input><br></h4>
<h4> 年龄:<input type="text" name="age"></input><br></h4>
<h4> 性别:<input type="radio" name="gender" value="男">男
  <input type="radio" name="gender" value="女">女<br></h4>
<h4> 专业:<input type="text" name="major"></input><br></h4>
<input type=submit><input type=reset>

  </form>
  </div>
  </center>
  </body>
</html>

servlet程序
insert.java

package org.sunxin.lesson.jsp.bookstore;

import java.io.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class insert extends HttpServlet
{
  private String url;
  private String user;
  private String password;
  private String id;
  private String name;
  private String age;
  private String gender;
  private String major;
   
  /**
  *
  * @throws ServletException
  */
  @Override
  public void init() throws ServletException
  {
  String driverClass=getInitParameter("driverClass");
  url=getInitParameter("url");
  user=getInitParameter("user");
  password=getInitParameter("password");
  try
  {
  Class.forName(driverClass);
  }
  catch(ClassNotFoundException ce)
  {
  throw new UnavailableException("加载数据库驱动失败!");
  }
  }
   
  /**
  *
  * @param req
  * @param resp
  * @throws ServletException
  * @throws IOException
  */
  @Override
  public void doPost(HttpServletRequest req, HttpServletResponse resp)
  throws ServletException,IOException
  {
  Connection conn=null;
  Statement stmt=null;
  try
  {
  conn=DriverManager.getConnection(url,user,password);
  stmt=conn.createStatement();
  // stmt.executeUpdate("create database bookstore");
  stmt.executeUpdate("use jsp");
  // stmt.executeUpdate("create table bookinfo(id INT not null primary key,title VARCHAR(50) not null,author VARCHAR(50) not null,bookconcern VARCHAR(100) not null,publish_date DATE not null,price FLOAT(4,2) not null,amount SMALLINT,remark VARCHAR(200)) ENGINE=InnoDB");
  stmt.addBatch("insert into student(id,name,age,gender,major) values(" + id + ",'" + name + "'," + age + ",'" + gender + "','" + major + "')");
  // stmt.addBatch("insert into bookinfo values(2,'JSP深入编程','李四','李四出版社','2004-10-1',56.00,20,null)");
  // stmt.addBatch("insert into bookinfo values(3,'J2EE高级编程','王五','王五出版社','2005-3-1',78.00,10,null)");


  stmt.executeBatch();
   
  PrintWriter out=resp.getWriter();
  out.println("success!");
  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;
  }
  }
  }
}


部署信息web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <servlet>
  <servlet-name>CreateDBServlet</servlet-name>
  <servlet-class>org.sunxin.lesson.jsp.bookstore.CreateDBServlet</servlet-class>
  <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>123456</param-value>
  </init-param>
  </servlet>
  <servlet>
  <servlet-name>insert</servlet-name>
  <servlet-class>org.sunxin.lesson.jsp.bookstore.insert</servlet-class>
  </servlet>
  <servlet>
  <servlet-name>insert1</servlet-name>
  <servlet-class>org.sunxin.lesson.jsp.bookstore.insert1</servlet-class>
  </servlet>
  <servlet-mapping>
  <servlet-name>CreateDBServlet</servlet-name>
  <url-pattern>/CreateDBServlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
  <servlet-name>insert</servlet-name>
  <url-pattern>/servlet/insert</url-pattern>
  </servlet-mapping>
   
</web-app>


[解决办法]
ava.lang.Class.forName(Class.java:169)
有空指针啊!
[解决办法]
空指针错误,LZ看看是不是哪个变量为空值,然后又使用了这个变量
我的异常网推荐解决方案:The server encountered an internal error () that prevented it from fulfilling this request.,http://www.myexception.cn/java-web/317.html