收藏 分销(赏)

JSP中使用JDBC连接SQL_Server_2005.doc

上传人:xrp****65 文档编号:6641732 上传时间:2024-12-19 格式:DOC 页数:20 大小:82KB
下载 相关 举报
JSP中使用JDBC连接SQL_Server_2005.doc_第1页
第1页 / 共20页
JSP中使用JDBC连接SQL_Server_2005.doc_第2页
第2页 / 共20页
点击查看更多>>
资源描述
使用JDBC连接SQL Server 2005 接触Java或者JSP,难免会使用到数据库SQL Server 2000/2005(我使用2005标准版[9.0.3054]测试),经过自己的搜索和研究,使用JDBC连接SQL Server成功,特此整理方法(使用Eclipse 3.2)如下。 准备工作 首先,操作系统中安装好SQL Server 2000/2005,如果系统中都装有2000和2005版,记得停用一个,只开一个行了。 然后,到微软网站下载Microsoft SQL Server 2005 JDBC Driver 1.1 或更高版本。 解压sqljdbc_1.1.1501.101_chs.exe,把sqljdbc_1.1复制到%ProgramFiles%(如果系统在C盘则为C:\Program Files)。 设置 Classpath JDBC 驱动程序并未包含在 Java SDK 中。因此,如果要使用该驱动程序,必须将 classpath 设置为包含 sqljdbc.jar 文件。如果 classpath 缺少 sqljdbc.jar 项,应用程序将引发“找不到类”的常见异常。 sqljdbc.jar 文件的安装位置如下: <安装目录>\sqljdbc_<版本>\<语言>\sqljdbc.jar 下面是用于 Windows 应用程序的 CLASSPATH 语句实例: CLASSPATH =.;%ProgramFiles%\sqljdbc_1.1\chs\sqljdbc.jar 下面是用于 Unix/Linux 应用程序的 CLASSPATH 语句实例: CLASSPATH =.:/home/usr1/mssqlserver2005jdbc/Driver/sqljdbc_1.1/chs/sqljdbc.jar 注意: 在 Window 系统中,如果目录名长于 8.3 或文件夹名中包含空格,将导致 classpath 出现问题。如果怀疑存在这类问题,应暂时将 sqljdbc.jar 文件移动到名称简单的目录中,例如 C:\Temp,更改 classpath,然后测试这样是否解决了问题。 直接在命令提示符运行的应用程序 在操作系统中配置 classpath。将 sqljdbc.jar 追加到系统的 classpath 中。或者,使用 java -classpath 选项,可以在运行此应用程序的 Java 命令行上指定 classpath。 设置SQL Server服务器 我使用的是SQL Server 2005标准版SP2,这些都默认即可,一般不用配置。如果需要配置端口请看下面。 1、“开始”→“程序”→“Microsoft SQL Server 2005”→“配置工具”→“SQL Server 配置管理器”→“SQL Server 2005 网络配置”→“MSSQLSERVER 的协议” 2、如果“TCP/IP”没有启用,右键单击选择“启动”。 3、双击“TCP/IP”进入属性设置,在“IP 地址”里,可以配置“IPAll”中的“TCP 端口”,默认为1433。 4、重新启动SQL Server或者重启计算机。 创建数据库 打开“SQL Server Management Studio”,登录连接SQL Server服务器,新建数据库,命名为test 在Eclipse中测试 1、打开Eclipse,“文件”→“新建”→“项目”→“Java 项目”,项目名为Test 2、在Eclipse中,选择“窗口”→“首选项...”→“Java”→“已安装的 JRE”,选择已安装的 JRE,点击“编辑”→“添加外部”,选择%ProgramFiles%\sqljdbc_1.1\chs\sqljdbc.jar 3、在Test项目的“JRE 系统库”中可以看见sqljdbc.jar,如果没有可以右键单击项目Test→“构建路径”→“配置构建路径...”→“Java 构建路径”→“库”→“添加外部 JAR...”,选择%ProgramFiles%\sqljdbc_1.1\chs\sqljdbc.jar 4、编写Java代码,如下: import java.sql.*; public class Test { public static void main(String[] srg) {   String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";  //加载JDBC驱动   String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=test";  //连接服务器和数据库test   String userName = "sa";  //默认用户名   String userPwd = "123456";  //密码   Connection dbConn;   try {    Class.forName(driverName);    dbConn = DriverManager.getConnection(dbURL, userName, userPwd);    System.out.println("Connection Successful!");  //如果连接成功 控制台输出Connection Successful!   } catch (Exception e) {    e.printStackTrace();   } } } 注: 1、因为SQL Express这个版本的服务器默认是禁用的并且端口号没有配置,所以要进行重新设置 2、如果你以前用Java连接SQL Server 2000的话就要注意了: 在SQL Server 2000 中加载驱动和URL路径的语句是 String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver"; String dbURL = "jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=sample"; 而SQL Server 2005 中加载驱动和URL的语句则为 String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=sample"; 如果写法错误将会找不到驱动。 秋忆:对于Microsoft SQL Server 2005 JDBC Driver 1.1,据我看官方文档就没有提及2000与2005的差别,相信都是按照2005的语句写法,我没有测试2000,如果朋友你测试到不一样请告诉我,谢谢! 其它参考资料: 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 package jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class Test { private Connection conn = null; public Test() { super(); } public void getConnection() { try { Class .forName("com.microsoft.sqlserver.jdbc.SQLServerDriver") .newInstance(); String URL = "jdbc:sqlserver://localhost:1433;DatabaseName=testDB"; String USER = "sa"; // 根据你自己设置的数据库连接用户进行设置 String PASSWORD = "123"; // 根据你自己设置的数据库连接密码进行设置 conn = DriverManager.getConnection(URL, USER, PASSWORD); } catch (java.lang.ClassNotFoundException ce) { System.out.println("Get Connection error:"); ce.printStackTrace(); } catch (java.sql.SQLException se) { System.out.println("Get Connection error:"); se.printStackTrace(); } catch (Exception e) { System.out.println("Get Connection error:"); e.printStackTrace(); } } public void testConnection() { if (conn == null) this.getConnection(); try { String sql = "SELECT * FROM user"; Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery(sql); while (rs.next()) { System.out.print(rs.getString("ID")+" "); System.out.print(rs.getString("Name")+" "); System.out.println(rs.getString("Email")); } rs.close(); stmt.close(); } catch (SQLException e) { System.out.println(e.getMessage()); e.printStackTrace(); } finally { if (conn != null) try { conn.close(); } catch (SQLException e) { } } } public static void main(String[] args) { Test bean = new Test(); bean.testConnection(); } } 在jsp页面把Java代码写在<%%>中,就像在Java类中写代码一样。 1.首先你应该先建立jdbc与数据的的链接,有两种方式我给你发的例子中有两个jdbc。那就是链接数据库的java类。你只需把里面的代码,拷贝到jsp中。 jdbc链接数据库的代码 public static Connection getConnection() throws ClassNotFoundException, SQLException { //加载驱动 Class.forName("com.ibm.db2.jcc.DB2Driver").newInstance(); String url="jdbc:db2://192.168.1.104:50000/database"; String user="name"; String password="password"; Connection conn= DriverManager.getConnection(url,user,password); return conn; } 把driver,url,username和password换成你的数据库驱动就可以了 链接任何的数据库都只改这个就行了。哈哈 验证的那段代码 public UserInfo loginInfo(UserInfo userInfo) { UserInfo user = null; MyJdbc jdbc = new MyJdbc(); String sql = "select * from userInfo where user_name='" + userInfo.getUserName() + "'"; jdbc.openConn(); ResultSet rs = jdbc.excuteQuery(sql); try { if (rs.next()) { String userPass = rs.getString("user_pass"); if (userInfo.getUserPass().equals(userPass)) { user = new UserInfo(); user.setUserAddress(rs.getString("user_address")); user.setUserAnswer(rs.getString("user_answer")); user.setUserCity(rs.getString("user_city")); user.setUserEmail(rs.getString("user_email")); user.setUserId(rs.getInt("user_id")); user.setUserName(rs.getString("user_name")); user.setUserPass(rs.getString("user_pass")); user.setUserPhone(rs.getString("user_phone")); user.setUserPost(rs.getInt("user_post")); user.setUserQq(rs.getInt("user_qq")); user.setUserQuestion(rs.getString("user_question")); user.setUserRealName(rs.getString("user_realName")); user.setUserSex(rs.getString("user_sex")); } } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } jdbc.closeStAndConn(); return user; } 你只需把这两段代码看明白了,引入到你的jsp页面就行了。 注意有个sql漏洞,哈哈使用另一种jdbc链接也可以避免这种漏洞就是sql语句有?的那种的可以避免sql漏洞 有些东西总是自己要尝试着做,我如果写的你直接能用,对你的学习也不利 给你发了个用jsp做的小例子,实在不明白就看看,不过可没你的登录验证噢 只是告诉你jsp页面跟数据库怎样建立连接 JSP使用JDBC连接SQL Server 2005数据库的代码示例 2011-08-02 13:44 佚名 火魔网 我要评论(0) 字号:T | T 本文主要介绍了JSP使用JDBC连接SQL Server 2005数据库的代码示例,对于初学者来说这段代码可以套用,只需要稍作修改即可,希望能够对您有所帮助。 AD: 在用JSP开发应用程序时,JSP对数据库的操作是通过JDBC来实现的,本文我们给出了JSP通过JDBC连接SQL Server 2005数据库的代码示例,包括java代码和JSP的代码,对于初学者来说可以直接套用这段代码,即可成功连接数据库。接下来我们就开始介绍。 1.下载SqlSer2005 JDBC Driver,解压,将sqljdbc.jar加入CLASSPATH环境变量。 2.开启Sql server服务,检查SERVER和Client端协议中Tcp/ip是否已启用。 java code: 1 import java.sql.*; public class JdbcDriver { 2 3 public static void main(String[] srg) { 4 5 String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; 6 7 //加载JDBC驱动 8 9 String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=xq_sql"; 10 11 //连接服务器和数据库sample 12 13 String userName = "sa"; 14 15 //默认用户名 16 17 String userPwd = "1234"; 18 19 //密码 20 21 String sql=" SELECT * FROM xq_mem"; 22 23 Connection dbConn; 24 25 Statement state=null; 26 27 ResultSet rs=null; 28 29 try{ 30 31 Class.forName(driverName); 32 33 dbConn = DriverManager.getConnection(dbURL, userName, userPwd); 34 35 // it works well.. 36 37 //dbConn = DriverManager.getConnection(dbURL); 38 39 // doesn't work! 40 41 state=dbConn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); 42 43 System.out.println( "Connection SQL Server 2005 Successful! "); 44 45 //如果连接成功 控制台输出Connection 46 47 Successful! 48 49 rs=state.executeQuery(sql); 50 51 while(rs.next()){ 52 53 String id=rs.getString(1); 54 55 String username=rs.getString(2); 56 57 System.out.print(id+" "); 58 59 System.out.print(username+"\n"); 60 61 }catch(Exception e){ 62 63 e.printStackTrace(); } 64 65 } 如果用JSP连接,把sqljdbc.jar拷到tomcat的lib目录下,重启tomcat。 jsp code: 66 <%@ page contentType="text/html;charset=gb2312"%> 67 68 <%@ page import="java.sql.*"%> 69 70 <html> 71 72 <body> 73 74 <% 75 76 Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 77 78 Connection conn= DriverManager.getConnection("jdbc:sqlserver://localhost;DatabaseName=xq_sql;user=sa;password=1234"); 79 80 Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); 81 82 String sql="select * from xq_mem"; ResultSet rs=stmt.executeQuery(sql); 83 84 while(rs.next()){%> 第一个字段:<%=rs.getString(1)%> 第二个字段:<%=rs.getString(2)%> 85 86 <br> 87 88 <% 89 90 } 91 92 %> 93 94 <%out.print("数据库操作成功");%> 95 96 <%rs.close(); stmt.close(); conn.close(); 97 98 %> 99 100 </body> 101 102 </html> 关于JSP使用JDBC连接SQL Server 2005数据库的知识就介绍到这里了,希望本次的介绍能够带给您一些收获! 浅谈JSP JDBC来连接SQL Server 2005的方法 2009-09-10 09:40:43 来源:网络 评论:0 点击:2077  一、下载安装  一、下载安装   1、SQL Server 2005 Express Edition   下载:   安装完数据库后设置ICP/IP协议启动,具体如下:   (1)打开SQL Server Configuration Manager   (2)转到SQL Server 2005 Network Configuration->Protocols for SQLEXPRESS   (3)将TCP/IP设置为Enabled(启用)   (4)双击TCP/IP项,转到IP Addresses页   (5)IP All中设置TCP Port为1433   (6)重新启动服务   2、SQL Server2005数据库JSP JDBC驱动   下载:   安装或者解压,取得sqljdbc.jar文件,该文件即为JDBC驱动。将sqljdbc.jar放到classpath。(web application中放在WEB-INF/lib下)   二、连接数据库SQL Server2005的Java代码   1、在tempdb中创建测试数据表格 use tempdb  CREATE TABLE dbo.Table_1  (  ID bigint NOT NULL,  NAME varchar(20) NOT NULL,  EMAIL varchar(50) NULL  ) ON [PRIMARY]    2、测试使用数据库连接   下面代码创建了一个连接到数据库的连接,及使用连接操作数据库。 package mon.web.test;    import java.sql.Connection;  import java.sql.DriverManager;  import java.sql.ResultSet;  import java.sql.SQLException;  import java.sql.Statement;    import org.apache.log4j.Logger;      public class TestConnSql2k5Bean {    private static final Logger logger =   Logger.getLogger(TestConnSql2k5Bean.class);  private Connection conn = null;    public TestConnSql2k5Bean() {   super();  }    public void getConnection() {   try {    Class    .forName("com.microsoft.SQL Server.jdbc.SQL ServerDriver")    .newInstance();    String URL = "jdbc:SQL Server://localhost:1433;DatabaseName=tempdb";    String USER = "sa"; // 根据你自己设置的数据库连接用户进行设置    String PASSWORD = "123456"; // 根据你自己设置的数据库连接密码进行设置    conn = DriverManager.getConnection(URL, USER, PASSWORD);   } catch (java.lang.ClassNotFoundException ce) {    logger.error("Get Connection error:", ce);   } catch (java.sql.SQLException se) {    logger.error("Get Connection error:", se);   } catch (Exception e) {    logger.error("Get Connection error:", e);   }  }    public void testConnection() {   if (conn == null)    this.getConnection();   try {    String sql = "SELECT * FROM TABLE_1";    Statement stmt = conn.createStatement();    ResultSet rs = stmt.executeQuery(sql);    while (rs.next()) {    logger.debug(rs.getString("ID"));    logger.debug(rs.getString("NAME"));    logger.debug(rs.getString("EMAIL"));    }    rs.close();    stmt.close();   } catch (SQLException e) {    logger.error(e.getMessage(), e);   } finally {    if (conn != null)    try {     conn.close();    } catch (SQLException e) {    }   }  }  public static void main(String[] args) {   TestConnSql2k5Bean bean = new TestConnSql2k5Bean();   bean.testConnection();  }  }    三、SQL Server2000和2005的连接代码区别   写连接代码时需要注意2000和2005的不同:   1、JSP JDBC连接SQL Server2000 Class.forName("com.microsoft.jdbc.SQL Server.SQL ServerDriver").newInstance();  URL = "jdbc:microsoft:SQL Server://localhost:1433;DatabaseName=tempdb";    2、JSP JDBC连接SQL Server2005 Class.forName("com.microsoft.SQL Server.jdbc.SQL ServerDriver").newInstance();   URL = "jdbc:SQL Server://localhost:1433;DatabaseName=tempdb";  import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class ConnectionManager { private static String Driver_Class = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; //驱动类连接字符串 private static String Database_Url ="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=数据库名称"; //url private static String Database_User = "sa"; //数据库用户名 private static String Database_password = "sa"; //密码 /** * 获得数据库连接,返回连接对象 * @return connection */ public static Connection getConnection(){ Connection connection = null; try { Class.forName(Driver_Class); connection = DriverManager.getConnection(Database_Url); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return connection; } /** * 关闭连接 * @param rs 结果集对象 * @param pStatement PreparedStatement 对象 * @param connection 连接对象 */ public static void closeAll(ResultSet rs, PreparedStatement pStatement, Connection connection){ try { if(rs!=null){ rs.close(); rs = null; } if(pStatement!=null){ pStatement.close(); pStatement = null; } if(connection!=null){ connection.close(); connection = null; } }catch (SQLException e) { e.printStackTrace(); } } } 链接sqlserver 需要启动sqlserver 服务 mcrosoft sqlserver 2005-->配置工具--> sql server configuration manager -->sql server 网络配置-->MSSQLSERVER-->TCP/IP 将协议中已起用改为是 TCP 端口输入1433 已起用改为是 程序中右击 选择属性(properties-->java build path 选择 librares 选择 add external jars... 选中驱动包然后确定就行了
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服