Servletでデータベースを接続する

13685 ワード

http://blog.csdn.net/mzule/article/details/6193884
Servletでデータベースを接続するのは日常茶飯事です。Servletでデータベースを接続するのも普通のJAVA類(POJO)とデータベースを接続するのと同じ方法です。
 1: import java.io.IOException;
 2: import java.io.PrintWriter;
 3: import java.sql.Connection;
 4: import java.sql.DriverManager;
 5: import java.sql.ResultSet;
 6: import java.sql.SQLException;
 7: import java.sql.Statement;
 8:  
 9: import javax.servlet.ServletException;
 10: import javax.servlet.http.HttpServlet;
 11: import javax.servlet.http.HttpServletRequest;
 12: import javax.servlet.http.HttpServletResponse;
 13:  
 14: public class LoginServlet extends HttpServlet {
 15:  
 16:     @Override
 17:     protected void doPost(HttpServletRequest req, HttpServletResponse resp)
 18:             throws ServletException, IOException {
 19:         req.setCharacterEncoding("gb2312");
 20:         resp.setContentType("text/html;charset=gb2312");
 21:         PrintWriter out = resp.getWriter();
 22:         ResultSet rs = null;
 23:         Statement stmt = null;
 24:         Connection cnn = null;
 25:         try {
 26:             Class.forName("com.mysql.jdbc.Driver");
 27:             cnn = DriverManager
 28:                     .getConnection("jdbc:mysql://localhost:3306/menagerie?user=root&password=cannottellyou");
 29:             stmt = cnn.createStatement();
 30:             rs = stmt.executeQuery("SELECT * FROM pet");
 31:             out.println("");
 32:             while (rs.next()) {
 33:                 out.println("
");
 40:             }

");
 42:             out.close();
 43:         } catch (SQLException e) {
 44:             e.printStackTrace();
 45:         } catch (ClassNotFoundException e) {
 46:             e.printStackTrace();
 47:         } finally {
 48:             try {
 49:                 if (rs != null) {
 50:                     rs.close();
 51:                     rs = null;
 52:                 }
 53:                 if (stmt != null) {
 54:                     stmt.close();
 55:                     stmt = null;
 56:                 }
 57:                 if (cnn != null) {
 58:                     cnn.close();
 59:                     cnn = null;
 60:                 }
 61:             } catch (SQLException e) {
 62:                 e.printStackTrace();
 63:             }
 64:         }
 65:  
 66:     }
 67:  
 68:     @Override
 69:     protected void doGet(HttpServletRequest req, HttpServletResponse resp)
 70:             throws ServletException, IOException {
 71:         doPost(req, resp);
 72:     }
 73:  
 74: }
のコードを するといくつかの が する があります。
1、java.lang.lass NotFoundExceptionが れます。comp.mysql.jdbc.Driver
この が した はmysqlのjarカバンをTomcatにコピーしていないかもしれません。jarカバンをtomcat/libディレクトリにコピーして、webappsを って、あるいは のwebappの のlibディレクトリだけにコピーして、 のwebapp にしてもいいです。 が な の ページを っている 、やはりjavagjavan.lassNotFoundException:comp.mysql.jdbc.Driver、 い れました。Tomcatは しなければならないです。へへへ。
また、JarカバンはEclipseに する がないので、これは さんがClass.forNameを いています。new Driver()などを かないからです。
2、データベースを けたことを えていると いたいですが、 かを げ すかわからないので、フルネームが えられなくなりました。データベースを じて、 して、 かを てみたいです。
えっと、 Oracleをアンインストールした 、 のMySQLサービスを した に しました。サービスが されれば、データベースに する はありません。MySQLサービスが されたことを します。サービスパネルを いて、MySQLサービスが にあるかどうかを します。
はMySQLサービスを した に げる を てみましょう。 で されたのはConnectExceptionです。
3、 のごちゃごちゃしたExceptionが てきます。…SQL のような か があるはずです。