第二种,JavaBean的形式。
package conn;                            //导入包
import java.sql.*;                        //导入数据库操作的类
public class DBConnAccess                //构造方法,初始化
{
    private
Connection conn;            //连接对象
    private
Statement stmt;                //语句对象
    private
ResultSet rs;                //结果集对象
    private
String accessdriver;        //保存Access驱动程序字符串
    private
String accessURL;             //保存Access连接字符串
    public
DBConnAccess()
    {
       
//Access驱动程序
       
accessdriver = "sun.jdbc.odbc.JdbcOdbcDriver";        
        //连接字符串
       
accessURL = "jdbc:odbc:Driver={Microsoft Access Driver
(*.mdb)};DBQ=";
        conn
= null;
    }
    //该方法从参数得到数据库路径,并加到连接字符串后面,然后再建立连接
    public
Connection getConnToAccess(String dbpath){
        try{
           
accessURL=accessURL+dbpath;
           
Class.forName(accessdriver);
           
conn = DriverManager.getConnection(accessURL);
           
}catch(Exception e){
               
System.out.println("操作数据库出错,请仔细检查");
               
System.err.println(e.getMessage());
            }
       
return conn;
    }
   //关闭数据库连接
    public
void close()
    {
        try{
           
//rs.close();
           
//stmt.close();
           
conn.close(); 
       
}catch(SQLException sqlexception){
            sqlexception.printStackTrace();
        }
    }
}
调用方法如下: 程序代码
<meta http-equiv="Content-Type"
content="text/html; charset=gb2312">
<%@ page contentType="text/html;
charset=gb2312" language="java" 
import="java.sql.*"  %>
<jsp:useBean id="DBConn" scope="page"
class="conn.DBConnAccess"/>
<%  //连接Access 数据库
    String
dbpath="data/test.mdb";   //数据库的路径,请自行修改
   
Connection conn=DBConn.getConnToAccess(application.getRealPath(dbpath));
    Statement
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
    String
sql="select * from username order by id";
    //String
sql1="insert into username (uid,pwd) values('wsp','wsp')";
   
//stmt.executeUpdate(sql1);
    ResultSet
rs=stmt.executeQuery(sql);
   
while(rs.next()){
   
out.print("用户名:");
   
out.print(rs.getString("uid")+" 密码:");
   
out.println(rs.getString("pwd")+"<br>");
    }
   
DBConn.close();
%>
第一种,jsp页面连接
<%@ page contentType="text/html;
charset=gb2312" language="java"
import="java.sql.*"%>
<meta http-equiv="Content-Type" content="text/html;
charset=gb2312">
<%
    //
******* 数据库连接代码 开始  *****
    //异常处理语句
    try
{   //以下几项请自行修改
       
String spath = "data/test.mdb";//Access 数据库路径
       
String dbpath = application.getRealPath(spath);//转化成物理路径
       
String dbname = "";       
//Acvess 数据库用户名,没有则为空
       
String user = "";       
//Access 数据库密码,没有则为空
//数据库连接字符串 
       
String url ="jdbc:odbc:Driver={Microsoft Access Driver
(*.mdb)};DBQ="+dbpath; 
        //加载驱动程序
       
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        //建立连接
       
Connection conn= DriverManager.getConnection(url); 
        //创建语句对象
       
Statement
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
        //
****   数据库连接代码 结束
******
      
//*********  测试数据代码开始  ******
        //请在数据库中建立username表,表中建立两个字段uid和pwd,类型为文本型
       
String sql = "select * from username";
       
ResultSet rs = stmt.executeQuery(sql);
       
while(rs.next())
        {   out.print("用户名:" + rs.getString("uid"));
           
out.print("  密码:" + rs.getString("pwd") + "<br>");
        }
       
out.print("<br>恭喜你!数据库连接成功!");
       
rs.close();                                    //关闭记录集对象
       
stmt.close();                                //关闭语句对象
       
conn.close();                                //关闭连接对象
   
}catch(Exception e){
       
out.print("数据库连接错误!,错误信息如下:<br>");
       
out.print(e.getMessage());
       
}  //*******   测试数据代码结束  *******
%>
jsp连接SQLServer数据库的代码
要正确的使用这段代码,你需要首先在SQLServer数据库里创建一username表,表里面创建两个字符型的字段,字段名分别为:uid,pwd,然后插入几条测试数据。
欢迎各位提出改进的意见。
以下用两种方式来实现jsp连接SQLServer数据库。
第一种JSP形式。  程序代码
<meta http-equiv="Content-Type"
content="text/html; charset=gb2312">
<%@ page contentType="text/html;
charset=gb2312" language="java" 
import="java.sql.*"%>
<%  
   
/*********************
    
*********  JDBC_ODBC连接 SQL Server 数据库,不需要设置数据源
    
*********  Date: 2005.8
    
*********  Email:fanwsp@126.com
    
*********  Author: DreamTime [梦想年华]
    
*********  有任何欢迎提出指正   
    
****************************/
    //请根据需要,选择一种方法,去掉相应的方法的注释,并注释其它没有使用的
    //以下几项请自行修改
    String
server="localhost";       
//SQL Server 服务器的地址
    String
dbname="test";            //SQL
Server 数据库的名字
    String
user="sa";                //SQL
Server 数据库的登录用户名
    String
pass="chfanwsp";           
//SQL Server 数据库的登录密码
    String
port="1433";               
//SQL Server 服务器的端口号,默认为1433
     /***** 
方法1: *******
     *    用net.sourceforge.jtds.jdbc.Driver  
     *            (http://jtds.sourceforge.net/)                                 *
     *    在Win2003Server上安装SQLSERVER2000,必须安装补丁sp3                     *
    
*************************/
    //
*******数据库连接代码 开始 
*******
        //数据库连接字符串 
       
String
url="jdbc:jtds:sqlserver://"+server+":"+port+"/"+dbname+";USER="+user+";PASSWORD="+pass+"";
        //加载驱动程序
       
Class.forName("net.sourceforge.jtds.jdbc.Driver").newInstance();
        //建立连接
       
Connection conn= DriverManager.getConnection(url); 
        //创建语句对象
       
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
        //
****     数据库连接代码 结束
*********
   
/**********          方法2: 
*******
   
*************    用微软提供的JDBC驱动程序  
*******
   
*******************************************
    *在Win2003 Server上安装SQLSERVER2000,必须安装补丁sp3
    ***************************/
    //
******************     数据库连接代码 开始            
******************
    /*
       
String
url="jdbc:microsoft:sqlserver://"+server+":"+port+";DatabaseName="+dbname+";
USER="+user+";PASSWORD="+pass+"";
       
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
       
Connection conn= DriverManager.getConnection(url); 
       
Statement
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
    */
    //
****     数据库连接代码 结束
*********
    /**********          方法3:  ****************
   
*************    用JDBC-ODBC桥驱动程序   *********
   
***********************************
    *    在Win2003 Server上安装SQLSERVER2000,可能需要安装补丁sp3*
   
***************************/
    //
********* 数据库连接代码 开始 ********
    /*
       
String url="jdbc:odbc:Driver={SQL
Server};server="+server+";uid="+user+";pwd="+pass+";database="+dbname+"";
       
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
       
Connection conn= DriverManager.getConnection(url); 
       
Statement
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
    */
    //
****     数据库连接代码 结束
*********
    String
sql="select * from username";
    ResultSet
rs=stmt.executeQuery(sql);
   
//rs.first();
   
while(rs.next()){
   
out.print("用户名:");
   
out.print(rs.getString("uid")+" 密码:");
   
out.println(rs.getString("pwd")+"<br>");
    }
   
rs.close();
   
stmt.close();
   
conn.close();
%>
第二种方式,用JavaBean来实现。请看代码:
DBConnSql.java
编译以后的Class文件应该放在 WEB-INF\classes\conn目录下。
程序代码
/*
*******  java连接SQL Server数据库代码  *************
*******         
使用Jdbc连接          *************
*/
package conn;                            //导入包
import java.sql.*;                        //导入数据库操作的类
public class DBConnSql                    //构造方法,初始化
{
    private
Connection conn;            //连接对象
    private
Statement stmt;                //语句对象
    private
ResultSet rs;                //结果集对象
    private
String sqldriver;            //SQL Server驱动程序字符串
    private
String sqlURL;                 //SQL
Server连接字符串
    /**********          方法1:  *********
     *        用net.sourceforge.jtds.jdbc.Driver   ************
     *        (http://jtds.sourceforge.net/)
     *        在Win2003Server上安装SQLSERVER2000,必须安装补丁sp3
     *
     *  该方法取得连接所需各种参数,组成连接字符串,然后再建立连接
     *  server;dbname,user,pass,port
     * 分别表示SQL Server 服务器的地址,数据库,用户名,密码,端口
    
*****************************/
         
public Connection getConnToSql1(String server,String dbname,String
user,String pass,String port){
        
//SQL Server驱动程序,用net.sourceforge.jtds.jdbc.Driver
        
sqldriver = "net.sourceforge.jtds.jdbc.Driver";    
       
sqlURL = "jdbc:jtds:sqlserver://";              //连接字符串一部分
        try{
           
//完整的连接字符串
            sqlURL
=sqlURL+server+":"+port+"/"+dbname+";USER="+user+";PASSWORD="+pass+"";
           
Class.forName(sqldriver);
           
conn = DriverManager.getConnection(sqlURL);
           
}catch(Exception e){
               
System.out.println("操作数据库出错,请仔细检查");
               
System.err.println(e.getMessage());
            }
       
return conn;
    }
         /**********          方法2:  ***************
        
******* 用微软提供的JDBC驱动程序   **************
        
*    在Win2003 Server上安装SQLSERVER2000,必须安装补丁sp3
         *
        
*  该方法取得连接所需各种参数,组成连接字符串,然后再建立连接
         * 
server;dbname,user,pass,port 
                      * 分别表示SQL Server 服务器的地址,数据库,用户名,密码,端口
       
********************************/
       
public Connection getConnToSql2(String server,String dbname,String
user,String pass,String port){
         
        
//SQL Server驱动程序,用微软提供的JDBC驱动程序
       
sqldriver =
"com.microsoft.jdbc.sqlserver.SQLServerDriver";    
       
sqlURL = "jdbc:microsoft:sqlserver://";          //连接字符串一部分
        try{
            //完整的连接字符串
           
sqlURL
=sqlURL+server+":"+port+";DatabaseName="+dbname+";USER="+user+";PASSWORD="+pass+"";
           
Class.forName(sqldriver);
           
conn = DriverManager.getConnection(sqlURL);
           
}catch(Exception e){
                System.out.println("操作数据库出错,请仔细检查");
               
System.err.println(e.getMessage());
            }
       
return conn;
    }
        /**********          方法3:  **************
        
*************    用JDBC-ODBC桥驱动程序   **********
        
*    在Win2003 Server上安装SQLSERVER2000,可能需要安装补丁sp3
         *
         * 该方法取得连接所需各种参数,组成连接字符串,然后再建立连接
         * server;dbname,user,pass,port 
         * 分别表示SQL Server 服务器的地址,数据库,用户名,密码,端口
       
**********************************************/
       
public Connection getConnToSql3(String server,String dbname,String
user,String pass,String port){
        //SQL
Server驱动程序,用微软提供的JDBC驱动程序
       
sqldriver = "sun.jdbc.odbc.JdbcOdbcDriver";    
       
sqlURL = "jdbc:odbc:Driver={SQL Server};";          //连接字符串一部分
        try{
           
//完整的连接字符串
           
sqlURL
=sqlURL+"server="+server+";uid="+user+";pwd="+pass+";database="+dbname+"";
           
Class.forName(sqldriver);
           
conn = DriverManager.getConnection(sqlURL);
           
}catch(Exception e){
               
System.out.println("操作数据库出错,请仔细检查");
               
System.err.println(e.getMessage());
            }
       
return conn;
    }
    //关闭数据库连接
    public
void close()
{
        try{
           
//rs.close();
           
//stmt.close();
           
conn.close();
       
}catch(SQLException sqlexception){
           
sqlexception.printStackTrace();
        }
    }
}
这个文件只是实现了数据库的连接,下面我们再写一个测试文件。
就是用sql语句从数据库里查询出记录,以验证我们数据库的连接是否成功。
connsql.jsp 文件源代码如下: 程序代码
<meta http-equiv="Content-Type" content="text/html;
charset=gb2312">
<%@ page contentType="text/html;
charset=gb2312" language="java"
import="java.sql.*"  %>
<jsp:useBean id="DBConn"
scope="page" class="conn.DBConnSql"/>
<% 
   
/*****  说明:本数据库连接一共提供了三种方法:
      一、用net.sourceforge.jtds.jdbc.Driver,请调用getConnToSql1方法。
      二、用微软提供的JDBC驱动程序,请调用getConnToSql2方法。
      三、用JDBC-ODBC桥驱动程序连接,请调用getConnToSql3方法。
     本例使用的是第一种方法,调用getConnToSql1方法。请根据自己的实际情况进行修改
     如果是第二种方法请把 Connection conn=DBConn.getConnToSql1(server,dbname,user,pass);
                 里面语句改为:
    
Connection conn=DBConn.getConnToSql2(server,dbname,user,pass);
                
其它类此。
   
*****************************************************/
    //连接 SQL Server 数据库所需各种参数,请自行修改
    String
server="localhost";       
//SQL Server 服务器的地址
    String
dbname="test";            //SQL
Server 数据库的名字
    String
user="sa";                //SQL
Server 数据库的登录用户名
    String
pass="chfanwsp";           
//SQL Server 数据库的登录密码
    String
port ="1433";            //SQL
Server 服务器的端口号,默认为1433
    Connection
conn=DBConn.getConnToSql3(server,dbname,user,pass,port);
    Statement
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
    String
sql="select * from username order by id";
    String
sql1="insert into username (uid,pwd) values('wsp','wsp')";
   
//stmt.executeUpdate(sql1);
    ResultSet
rs=stmt.executeQuery(sql);
   
while(rs.next()){
   
out.print("用户名:");
   
out.print(rs.getString("uid")+" 密码:");
   
out.println(rs.getString("pwd")+"<br>");
    }
    rs.close();
   
stmt.close();
   
conn.close();
   
//DBConn.close();
Java实现文件操作:
一个用java实现对文件的操作。完成了如创建目录及文件,复制目录及文件以及删除等功能。
主要用到了java的File类,FileInputStream类,FileOutputStream,FileWriter,PrintWriter,InputStream,OutputStream ,BufferedReader和FileReader等相关类。
程序在某些方的实现可能存在一些问题,欢迎各位提出指正。
 程序代码
package file;
import java.io.*;
public class FileClass {
    //private
String sFileName;
    //private
String sFolderName;
    String
sPath;
    String
sFilePath;
    String
sContent;
       
/********************
         * 新建目录
        
*******************/
       
public boolean newFolder(String s)
        {
           
sPath = s;
           
sPath = sPath.toString();//中文转换
           
//创建一个File(文件)对象
           
File myFilePath = new File(sPath);
           
if(!myFilePath.exists())
            {
               
try
               
{    
                   
myFilePath.mkdirs();
                   
return true;
               
}catch(Exception e)
               
{
                   
e.printStackTrace();
                  
 return false;
               
}
            }
           
else return false;
        }
       
/********************
         * 新建文件
        
*******************/
       
public boolean newFile(String s1,String s2)
        {
           
sFilePath = s1;
            sContent = s2;
           
sFilePath = sFilePath.toString();
           
File myFilePath = new File(sFilePath);
           
if(!myFilePath.exists())
            {
               
try
               
{    
                   
myFilePath.createNewFile();
                   
FileWriter resultFile=new FileWriter(myFilePath);
                   
PrintWriter myFile=new PrintWriter(resultFile);
                   
String sContent = s2.toString();
                   
myFile.println(sContent);
                    myFile.close();
                   
resultFile.close();
                   
return true;
               
}catch(Exception e)
               
{
                   
e.printStackTrace();
                   
return false;
               
}
            }
           
else return false;
        }
       
/********************
         * 删除文件
        
*******************/
       
public boolean delFile(String s)
        {
           
sFilePath = s;
           
sFilePath = sFilePath.toString();
            File
dFile = new File(sFilePath);
           
if(dFile.exists())
            {
               
try
               
{    
                   
dFile.delete();
                   
return true;
               
}catch(Exception e)
               
{
                    e.printStackTrace();
                   
return false;
               
}
            }
           
else 
            {
               
System.out.print("文件:" + s + "不存在!");
               
return false;
            }
        }
       
/********************
         * 复制文件
        
*******************/
       
public boolean copyFile(String s1,String s2)
        {
           
int bytesum=0;
           
int byteread=0;
           
//file:读到流中
           
try
            {
               
InputStream inStream=new FileInputStream(s1);
               
FileOutputStream fs=new FileOutputStream(s2);
               
byte[]  buffer =new  byte[1444];
               
while ((byteread=inStream.read(buffer))!=-1)
               
{
                  
System.out.println("-- 
"+byteread+" --");
                  
bytesum+=byteread;
                  
System.out.println(bytesum);
                  
fs.write(buffer,0,byteread);
               
} 
               
inStream.close(); 
               
fs.close();
                return true;
           
}catch(Exception e)
           
{      
               
return false;
               
}
        }
       
/********************
         * 复制文件夹
        
*******************/
       
public boolean copyFolder(String s1,String s2)
        {
        try{
           
(new File(s2)).mkdirs();
           
File[] file=(new File(s1)).listFiles();
           
for(int i=0;i<file.length;i++)
            {
               
if(file[i].isFile()){
                   
file[i].toString();
                    FileInputStream input=new
FileInputStream(file[i]);
                   
FileOutputStream output=new
FileOutputStream(s2+"/"+(file[i].getName()).toString());
                   
byte[] b=new byte[1024*5];
                   
int len;
                    while((len=input.read(b))!=-1){
                        output.write(b,0,len);
                   
}
                   
output.flush();
                   
output.close();
                   
input.close();
               
}
            }
            return true;
        
}catch(IOException e){
            
e.printStackTrace();
            
return false;
            
}
        }
       
/********************
         * 得到文本文件的内容
        
*******************/
       
public String getFile(String s1)
        {
        try{
           
StringBuffer sb = new StringBuffer();
           
BufferedReader in = new BufferedReader(new FileReader(s1));
           
while(in.readLine()!=null){
               
sb.append(in.readLine()+"\n\r");
            }
            return sb.toString();
        
}catch(IOException e){
            
e.printStackTrace();
            
return null;
            
}
        }
    /**
     * @param
args
     */
    public
static void main(String[] args) {
        //
TODO 自动生成方法存根
        String s1="";
       
String s2="";
       
FileClass file1 = new FileClass();
        //目录创建测试
       
s2="F:/Test/Test1";
        if
(file1.newFolder(s2))
           
System.out.println("创建目录 " + s2 + " 成功!");
        else
           
System.out.println("创建目录 " + s2 + " 失败!!");
        //文件创建测试
       
s1="F:/Test/Test1/Test.txt";
       
s2="这是一个测试文件!";
       
file1.delFile(s1);
        if
(file1.newFile(s1,s2))
           
System.out.println("创建文件 " + s1 + " 成功!");
        else
           
System.out.println("创建文件 " + s1 + " 失败!!");
       
System.out.print("\n"+s2);
        //文件删除测试
       
s1="F:/Test/Test1/Test.txt";
        if
(file1.delFile(s1))
           
System.out.println("删除文件 " + s1 + " 成功!");
        else
           
System.out.println("删除文件 " + s1 + " 失败!!");
        //复制文件测试
       
s1="F:/Test/Test1/Test.txt";
       
s2="F:/Test/Test1/Test1.txt";
        if
(file1.copyFile(s1,s2)) 
           
System.out.print("把文件 "+s1+"成功复制到 "+s2);
        else
System.out.print("复制文件失败!");
        //复制目录测试
       
s1="F:/Test/Test1";
       
s2="F:/Test/Test2";
        if
(file1.copyFolder(s1,s2)) 
           
System.out.print("把文件夹 "+s1+" 成功复制到文件夹 "+s2);
        else
System.out.print("复制文件夹失败!");
        //得到文件内容测试
       
System.out.print(file1.getFile("F:/Test/Test1/Test1.txt"));
        }
}
没有所谓的命运,只有不同的选择!