JSP/Servlet对SQL Server 2005的可配置访问

来源 :电脑知识与技术·学术交流 | 被引量 : 0次 | 上传用户:michaelgang1
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:随着SQL Server 2005数据库使用的普及,在Java 应用程序中使用基于Java Database Connectivity (JDBC)的驱动程序来访问SQL Server 2005数据库已经成为十分必要的工作。特别是随着XML成为工业标准,越来越多的Java应用程序趋向于使用XML配置文件。论文结合实例讲述了在JSP/Servlet中使用JDBC驱动及XML配置文件访问SQL Server 2005数据库的典型应用方式。
  关键词:JDBC; SQL Server 2005; XML; JDOM; JSP/Servlet; JBuilder
  中图分类号:TP312文献标识码:A文章编号:1009-3044(2008)05-10ppp-0c
  
  1 引言
  
  JSP是一种基于Java Servlet的Web开发技术。目前,JSP/servlet 结合大型或超大型网络数据库已经成为电子商务站点的流行架构。在传统的网页HTML文件中加入Java程序代码,就构成了JSP页面。当Web服务器上的一个JSP页面被第一次请求执行时,JSP引擎首先将此JSP页面文件转译成一个java Servlet文件,再将这个java文件编译成字节码文件,然后通过执行字节码文件响应客户请求。
  JDBC(Java Database Connectivity)是Java语言访问数据库的一种规范, 它是一个面向对象的应用程序接口(API),是Java核心类库的一部分。为了使JAVA应用程序独立于特定的数据库驱动程序,JDBC规范建议开发者使用基于接口的编程方式,即尽量使用仅依赖java.sql及javax.sql中的接口和类。通过使用JDBC,Java应用程序可以访问各种不同类型的关系数据库,完成建立数据库连接、执行SQL语句进行数据的增、删、改、查操作。JDBC确保了“100%纯Java”的解决方案,利用Java的平台无关性, JDBC应用程序可以自然地实现跨平台特性,因而更适合于Internet上异构环境的数据库应用。
  随着SQL Server 2005数据库使用的普及,在Java 应用程序中使用基于JDBC驱动程序来访问SQL Server 2005数据库已经成为十分必要的工作。特别是随着XML成为工业标准,越来越多的Java应用程序趋向于使用XML配置文件。下面结合实例讲述在JSP/Servlet中使用JDBC驱动及XML配置文件访问SQL Server 2005数据库的典型应用方式。
  
  2 JDBC驱动程序的下载及设置
  
  首先需要下载SQL Server 2005的JDBC驱动程序,下载后需要对机器的环境变量以及JBuilder或Eclipse开发环境进行配置。
  2.1 JDBC驱动程序的下载
  首先下载SQL2005的JDBC驱动程序,这是微软官方下载地址:http://download.microsoft.com/download/2/8/9/289dd6a3-eeeb-46dc-9045-d0c6b59bfbc1/sqljdbc_1.1.1501.101_chs.exe。将文件“sqljdbc_1.1.1501.101_chs.exe”下载后解压,会默认解压生成一个名为“Microsoft SQL Server 2005 JDBC Driver”的文件夹。将此文件夹复制到%ProgramFiles%文件夹下(如果系统在C盘则为C:\Program Files)。复制后的文件夹内容如图1所示。
  
  图2 JSP应用程序项目结构图
  
  选择"Project"->"Project Properties"菜单项,打开此项目的属性配置窗口 。切换到"Required Libraries"面板,点击"Add"按钮,向此工程中添加JDBC驱动类库文件,如图3所示。点击"Add"按钮后,选择"New"按钮。在打开的窗口中先给要加载的JDBC驱动起个名字"SQLJDBC"。点击"Add"按钮,再在弹出的窗口中选择安装在"C:\Program Files\sqljdbc_1.1\chs"文件夹下的"sqljdbc.jar"文件后,点击"OK"按钮。此时JDBC驱动程序已加载到当前的项目中,如图3所示。
  
  图4 启用TCP/IP协议
  
  图5 启用TCP/IP协议
  
  3.2 启用SQL Server 2005网络配置中的TCP/IP协议
  选择“开始”→“程序”→“Microsoft SQL Server 2005”→“配置工具”→“SQL Server Configuration Manager”菜单,在打开的窗口左侧选择“SQL Server 2005 网络配置”项下面的“SQLEXPRESS的协议”选项,将其对应的TCP/IP协议设置为“启用”,如图5所示。
  
  3.3 配置启用的TCP/IP协议
  修改TCP/IP属性,将全部侦听改为“否”,同时将TCP动态端口改为空(让服务器自己选择端口), TCP端口改为1433,如图6所示。重新启动计算机,或重新启动SQL Server2005 express服务。
  
  图7 jdom.jar文件所在位置
  
  图9 JDBC_SQL2005.JSP运行效果
  
  <%@page import="java.io.InputStream,
  java.io.IOException,
  java.io.FileInputStream,
  org.jdom.input.SAXBuilder,
  org.jdom.Document,
  org.jdom.Element,
  org.jdom.JDOMException,
  org.jdom.*,
  java.sql.*"%>
  <%@page contentType="text/html;charset=GB2312" language="java"%>
  <html>
  <head>
  <title>使用JDBC驱动及XML配置访问SQL Server 2005数据库</title>
  </head>
  <body>
  <center>
  <%
  String ipaddress, port, database, user, password;
  Connection con = null;
  Statement s = null;
  ResultSet rs = null;
  try {
  //构造一个SAXGBuilder对象
  SAXBuilder db = new SAXBuilder();
  //取得XML配置文件的绝对路径
  String filepath =
  pageContext.getServletContext().getRealPath("WEB-INF\\DBConfig.xml");
  //创建文档
  Document doc = db.build(new FileInputStream(filepath));
  //获得这个文档的根元素
  Element root = doc.getRootElement();
  //获取各个元素的值
  ipaddress = root.getChild("ipaddress").getText();
  port = root.getChild("port").getText();
  database = root.getChild("database").getText();
  user = root.getChild("user").getText();
  password = root.getChild("password").getText();
  //输出从XML文档中提取的配置信息
  out.println("数据库所在的服务器IP地址:" ipaddress "<br>");
  out.println("端口号:" port "<br>");
  out.println("用户名:" user "<br>");
  out.println("密码:" password "<br>");
  }
  catch (JDOMException jdome) {
  throw new IOException(jdome.getMessage());
  }
  try {
  //加载JDBC数据库驱动程序
  Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
  }
  catch (ClassNotFoundException ce) {
  System.out.println("JDBC驱动加载失败!");
  System.out.println(ce);
  }
  try {
  String str = "select * from dbo.MSreplication_options";
  // 创建数据库连接,要提供主机IP地址、端口号、用户名、口令等信息
  con = DriverManager.getConnection(
  "jdbc:sqlserver://" ipaddress ":" port ";DatabaseName=" database,
  user, password);
  //执行SQL语句,得到结果集
  s = con.createStatement();
  rs = s.executeQuery(str);
  if (rs.next()) {
  out.print(database "数据库成功访问");
  }
  rs.close();
  }
  catch (SQLException se) {
  System.out.println(database "数据库访问失败!");
  System.out.println(se);
  }
  finally {
  try {
  if (s != null) {
  s.close();
  }
  if (con != null) {
  con.close();
  }
  }
  catch (SQLException se2) {
  System.out.println("数据库连接关闭失败!");
  System.out.println(se2);
  }
  }
  %>
  </center>
  </body>
  </html>
  
  5 结束语
  
  Java与XML的组合被普遍认为是“黄金组合”。JDBC技术的使用,可以实现对因特网上异构环境的数据库的访问,已经成为Web开发的首选方案。相信随着SQL Server 2005使用的普级,在使用JDBC访问SQL Server 2005数据库时采用XML配置文件也一定会被更广泛的使用。
  
  参考文献:
  [1]马斗.专家门诊——JSP开发答疑[M].北京: 人民邮电出版社,2006年5月?P151-152.
  [2]imetoo的资料室?数据库安全基本原则[OL].http://imetoo.blog.hexun.com/,2007年10月24日/2007年10月27日.
  
  收稿日期:2008-01-12
  作者简介:王萍(1973-),女,湖北汉阳人,计算机应用专业硕士,现为北京电子科技职业学院科技工程学院电子工程系讲师,主要研究方向:信息管理与服务系统架构与开发。
其他文献
摘 要:基于问题解决的教学,是科学探究的一种形式,能较好地落实物理核心素养的培养。加速度是高中物理第一个核心的比值定义的概念,将问题解决教学模式运用于加速度教学,形成了教学设计思路:①提出问题:速度变化快慢如何描述;②探究问题:用比值描述;③解决问题:这个比值被定义为加速度;④引发新问题:加速度的方向、拓展延伸。  关键词:问题解决;比值定义;概念教学;速度变化快慢;加速度;教学设计  中图分类号
摘 要:《质量》是沪科版八年级物理第五章第一节的内容,它是这章知识的基础,知识点主要包括理解质量的概念、知道质量的单位及换算和认识测量质量的工具。这节内容看似比较简单,但要让学生真正理解质量的概念,并对质量的单位有更准确的认识并不容易。如果按照以往传统的教学方式,这节课的内容要不了20分钟就能讲完,而且学生掌握起来也没什么困难。但新课程强调学生在活动中、亲身体验的过程中去学习知识,只有亲身经历的东
摘 要:以2019年高考物理全国Ⅰ卷和《普通高中物理课程标准(2017年版)》为研究对象,应用韦伯一致性工具,对比分析二者在韦伯模式四个方面的一致性程度。结果表明:二者在知识种类一致性、知识深度一致性以及知识分布平衡性程度上达到判别标准的可接受水平,但由于高考是“限时限量”的考查,难免疏漏一部分知识点,导致知识广度一致性不太理想。为了使高考试卷与课程标准达到较高的一致性,无论是日常授课还是高考命题
伴随秋季入学到来,我国教育史上再次落下浓重一笔。因为自今年起,全国范围内全部免除城市义务教育阶段学生学杂费,由此标志,城乡统筹的义务教育普惠制度得以确立。  义务教育的基本特点是强制性、普及性和免费性。有资料显示,全球已有170多个国家和地区实行免费义务教育。而这种潮流之所以形成,经济上的考量主要有两点:其一,宏观层面上,一国经济社会发展高度正相关于人力资本,以美国为例,1929至1957年间,该
在国际金融危机的冲击下,全国各个省市不同程度地出现了农民工返乡潮。如何帮助这些农民工重新就业成为当地政府部门工作的重中之重。  近日,全国首家“新市民创业贷款担保中心”在江西赣州成立。令人关注的是,该中心将帮扶新市民就业的范围扩展到了失业返乡农民工。为返乡农民工创业担保解决融资问题发挥了重要的作用。  “当前的就业形势非常严峻。保就业成为落实‘三保’工作的重头戏和关键点。赣州是人口大市,也是劳务大
摘要:分层教学体现了孔子“因材施教”的教育思想,是高职院校教学改革的一个新方向,但在“统一”的课堂教学中实施困难较多。混合学习融合了课堂教学和在线学习的优势,是开展分层教学的有效手段,该文以《JSP程序设计》课程为例,提出了一种基于混合学习的分层教学设计方案,并对实施策略进行了探讨。  关键词:分层教学;课堂教学;混合学习  中图分类号:G424 文献标识码:A 文章编号:1009-3044(20
摘 要:高中物理教学中达成物理观念培养的目标,可行的教学方式有隐性教学和显性教学,对此提出了教学结构并作了阐述。适切的教学途径有顺次教学和逆溯教学,对其教学的基本环节和关系也作了论述。根据高中物理课程标准和高中物理教科书,对上述方式和途径作出了示例并提出了教学建议。  关键词:学科核心素养;物理观念;教学方式;教学途径  中图分类号:G633.7 文献标识码:A 文章编号:1003-6148(
小学生在语文学习过程中存在一个普遍的现象,即学生阅读量不小,写作能力却提高缓慢。这种情况让老师和家长非常着急,却又不知如何走出这一困境。本文针对这一问题,从语言习得的规律出发,将克拉申提出的语言输入假说和情感过滤假说作为切入点,以四年级语文学习为例研究小学语文教学中阅读和写作的关系,尝试构建读写一体化的语文教学模式,以提高学生的语文写作能力。  一、读写一体化语文教学模式构建的意义  1.读写一体
摘 要:文章聚焦于光感巡线的设计与优化,对EV3光感巡线中存在的误区进行了梳理甄别,对光感巡线中的常见方法进行了概念化的概括,对所总结出的“最值法”“均值法”及“差值法”等方法的设计与优化逻辑进行了梳理。通过分析推导、追根溯源和抽丝剥茧式的追问,力求打通横亘在学生心中的脉络误区,让学生在“大道至简,精于心”的内化引导下,做到在实操中“简于行”的目的。  关键词:光感巡线;EV3编程;设计;优化