关于web中连接数据库的有关问题 ! 弄了一晚上要急哭了.

关于web中连接数据库的问题 !!! 弄了一晚上要急哭了...
大神帮帮忙 源代码如下:

package com.demo;

import java.io.*;

import java.sql.*;
import javax.activation.DataSource;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;

import java.util.*;

import javax.servlet.*;

import javax.servlet.http.*;

import javax.servlet.annotation.WebServlet;

 

@WebServlet("/queryproduct.do")

public class QueryProductServlet extends HttpServlet{

   private static final long serialVersionUID = 1L;

   Connection dbconn = null;

   public void init() {

   //   String driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";

    //  String dburl = "jdbc:microsoft:sqlserver://localhost:1433;databaseName=Product";

      String username = "sa";

      String password = "19931126";

      try{

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); // 加载驱动程序

          // 创建连接对象

dbconn = DriverManager.getConnection(

"jdbc:microsoft:sqlserver://localhost:1433;databaseName=Product",username,password);

      }catch(ClassNotFoundException e1){

          System.out.println(e1);

      }catch(SQLException e2){}

   }

   public void doPost(HttpServletRequest request,

                       HttpServletResponse response)

                 throws ServletException,IOException{

      String productid = request.getParameter("productid");

      try{

        String sql="SELECT * FROM product WHERE prod_id = ?";

        PreparedStatement pstmt = dbconn.prepareStatement(sql);

        pstmt.setString(1,productid);

        ResultSet rst = pstmt.executeQuery();

        if(rst.next()){

           Product product = new Product();

           product.setProd_id(rst.getString("prod_id"));

           product.setPname(rst.getString("pname"));

           product.setPrice(rst.getDouble("price"));

           product.setStock(rst.getInt("stock"));

           request.getSession().setAttribute("product", product);

           response.sendRedirect("/helloweb/displayProduct.jsp");

        }else{

           response.sendRedirect("/helloweb/error.jsp");

        }  

      }catch(SQLException e){

         e.printStackTrace();

      }

   }

  

   public void doGet(HttpServletRequest request,

                        HttpServletResponse response)

                        throws ServletException,IOException{

        ArrayList<Product> productList = null; 

        productList = new ArrayList<Product>();

        try{

         String sql="SELECT * FROM product";

         PreparedStatement pstmt = dbconn.prepareStatement(sql);

         ResultSet result = pstmt.executeQuery();

         while(result.next()){

            Product product = new Product();

            product.setProd_id(result.getString("prod_id"));

            product.setPname(result.getString("pname"));

            product.setPrice(result.getDouble("price"));

            product.setStock(result.getInt("stock"));

            productList.add(product);

         }

         if(!productList.isEmpty()){

            request.getSession().setAttribute("productList",productList);

            response.sendRedirect("/helloweb/displayAllProduct.jsp");

         }else{

            response.sendRedirect("/helloweb/error.jsp");

         }

       }catch(SQLException e){

         e.printStackTrace();

       }

   }

   public void destroy(){

         try {

            dbconn.close();

         }catch(Exception e){

          e.printStackTrace();

      }

   }

}

报错情况如下:
HTTP Status 500 - 


type Exception report

message 

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

exception 
java.lang.NullPointerException
com.demo.QueryProductServlet.doGet(QueryProductServlet.java:121)
javax.servlet.http.HttpServlet.service(HttpServlet.java:620)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)



note The full stack trace of the root cause is available in the Apache Tomcat/7.0.56 logs.
关于web中连接数据库的有关问题 ! 弄了一晚上要急哭了.

------解决思路----------------------
代码上没看出什么问题
给init方法打断点跟一下,看servlet初始化的时候,数据库的连接有没有正常生成?

使用前先打印下,看dbconn 是否为空
System.out.println(dbconn);
PreparedStatement pstmt = dbconn.prepareStatement(sql);
------解决思路----------------------
你的sqljdbc.jar 和 sqljdbc4.jar 这两个我怎么感觉像是同一个jar的不同版本呢,应该放一个就可以了吧
你删一个试试看,如果放两个,有时容器会不知道该加载哪一个,从而造成ClassNotFound 异常的
------解决思路----------------------
别哭,已经到了问题解决的边缘了,冲刺和坚持吧。