import javax.servlet.*; //servlet文件必須引入的包
import javax.servlet.http.*; //servlet文件必須引入的包
import java.io.*; //因為要拋出IO異常,所以引入IO包
import java.sql.*; //因為要聯(lián)接數(shù)據(jù)庫,所以需要引入sql的?
public class ConSql extends HttpServlet
//新建的servlet應(yīng)用程序必須繼承HttpServlet類
{
public void init(ServletConfig config) throws ServletException
//使用ServletConfig config對象對新建的Servlet進(jìn)行初始化設(shè)置
{
super.init(config);
//為確保形參中的config對象能正常進(jìn)行初始化需要激活其父類的init方法
try
{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
//連接數(shù)據(jù)庫第一步,在init方法中注冊SQL數(shù)據(jù)庫驅(qū)動程序是為了
//添加數(shù)據(jù)庫驅(qū)動程序
//需要拋出異常
//聯(lián)接數(shù)據(jù)庫時最好在這里先注冊驅(qū)動程序
//在doGet或者doPost方法中再建立數(shù)據(jù)鏈接
}
catch(Exception e)
{
e.printStackTrace();
System.out.println(“數(shù)據(jù)庫連接異常”);
}
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
response.setContentType("text/html; charset=gb2312");
//設(shè)置返回的內(nèi)容類型形式
PrintWriter out = response.getWriter();
//創(chuàng)建一個文本打印輸出流
/*
out.println("<html>");
out.println("<head><title>網(wǎng)頁標(biāo)題</title></head>");
out.println("<body ">");
out.println("網(wǎng)頁內(nèi)容");
out.println("</body></html>");
//用out.println動態(tài)的生成一個網(wǎng)頁
*/
try
{
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=student";
// jdbc是主協(xié)議
// microsoft:sqlserver是子協(xié)議
// localhost是本機名(或IP)
// 1433端口為SQL默認(rèn)端口
Connection con=null;
con=DriverManager.getConnection(url,"sa","");
//連接數(shù)據(jù)庫第二步
//用Connection對象與數(shù)據(jù)庫建立一個聯(lián)接
//sa是訪問數(shù)據(jù)庫的用戶口令
//sa后面的""是訪問數(shù)據(jù)庫的密碼
//在這里需要拋出一個異常
Statement sta=null;
sta=con.createStatement();
//連接數(shù)據(jù)庫第三步
//創(chuàng)建一個操縱SQL語句的對象
ResultSet res=sta.executeQuery("SELECT * FROM student");
//res對象接收select返回的結(jié)果集
//查詢用executeQuery("select * from 表名")
//增刪改用executeUpdate("insert into 表名 values(,,,,)")
while(res.next())//res.next()方法判斷是否還有下一條記錄
{
String str1=res.getString("學(xué)號");
//str 得到數(shù)據(jù)庫中id字段
String str2=res.getString("姓名");
//str0 得到數(shù)據(jù)庫中name字段
String str3=res.getString("年齡");
String str4=res.getString("性別");
String str5=res.getString("系別");
out.println(str1);
out.println(str2);
out.println(str3);
out.println(str4);
out.println(str5);
}
res.close();
sta.close();
con.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
doGet(request,response);
//在doPost方法中調(diào)用doGet方法,節(jié)省代碼
}
public void destroy()
{
//垃圾回收
}
}
其他數(shù)據(jù)庫連接驅(qū)動及URL.
//SQL_Server:
String driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test";
String user = "sa";
String password = "";
//Oracle:
String driver = "oracle.jdbc.driver.OracleDriver";
String url = "jdbc:oracle:thin:@localhost:1521:wanchao";
String user = "scott";
String password = "tiger";
//mysql
String driver="com.mysql.jdbc.Driver";
String url="jdbc:mysql://localhost:3306/chinabank?useUnicode=true&characterEncoding=GBK";
String user="root";
String passeord="root";
Class.forName(driver);
con = DriverManager.getConnection(url,user,password);
posted on 2005-11-21 15:27
我心依舊 閱讀(983)
評論(0) 編輯 收藏