サーブレット接続データベース

7650 ワード

テスト接続データベースはMS Sql Server 2008
ステップ1:マイクロソフトにsqljdbcをダウンロードする4.0
ステップ2:インストールする必要がなくて、解凍して、sqljdbc 4.JArパッケージcopy to Tomcatのlibディレクトリの下
ステップ3:authディレクトリの下のsqljdbc_auth.dllファイルcopy to c:windowssystem 32下.
 
サーブレットコード:
 
package com.my;

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
import java.util.List;
import java.util.ArrayList;

public class Hello extends HttpServlet {
    public Hello() {}
    
    public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
    
        try {
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            Connection conn = DriverManager.getConnection("jdbc:sqlserver://127.0.0.1;DatabaseName=DBNAME;integratedSecurity=True;");
            Statement stm = conn.createStatement();
            ResultSet rs = stm.executeQuery("SELECT TOP 10 * FROM Project");
            List<String> list = new ArrayList<String>();
            while(rs.next()) {
                list.add(rs.getString("name"));
            }
            rs.close();
            stm.close();
            
            PreparedStatement stmPrepare = conn.prepareStatement("SELECT TOP 10 * FROM Project WHERE id=?");
            stmPrepare.setInt(1, 1);
            ResultSet rsPrepare = stmPrepare.executeQuery();
            List<String> listPrepare = new ArrayList<String>();
            while(rsPrepare.next()) {
                listPrepare.add(rsPrepare.getString("name"));
            }
            rsPrepare.close();
            stmPrepare.close();
            conn.close();
            
            resp.setContentType("text/html;charset=\"UTF-8\"");
            PrintWriter pw = resp.getWriter();
            pw.print("<html>");
            pw.print("<header>");
            pw.print("</header>");
            pw.print("<body>");
            pw.print("<form action=\"\" method=\"\">");
            for(int i=0; i<list.size(); i++) {
                pw.print("<h2>" + list.get(i) + "</h2>");
            }
            for(int i=0; i<listPrepare.size(); i++) {
                pw.print("<h3>" + listPrepare.get(i) + "</h3>");
            }
            pw.print("</form>");
            pw.print("</body>");
            pw.print("</html>");
        }
        catch(IOException e) {
            e.printStackTrace();
        }
        catch(SQLException e) {
            e.printStackTrace();
        }
        catch(Exception e) {
            e.printStackTrace();
        }
    }
    
    public void doPost(HttpServletRequest req, HttpServletResponse resp) {
        //
    }
}

  web.xml:
    <servlet>
      <servlet-name>hello</servlet-name>
      <servlet-class>com.my.Hello</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>hello</servlet-name>
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>