Tomcat+JSP+Oracle信息查询系统开发笔记(2)

上一篇讲解了Tomcat的安装以及配置,本篇讲解查询系统中核心部分,数据库链接以及查询操作的实现。

由于数据库操作部分为java而非HTML/javascript,所以需要在页面开头处写入以下代码。

<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%@ page 
 import="java.sql.Connection"
 import="java.sql.ResultSet"
 import="java.sql.SQLException"
 import="java.sql.Statement"
 %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

在HTML页面中嵌入java代码需要用<% %>包裹起来,上述代码的功能是引入java关于数据库操作的库。

一般查询操作页面虽然也以.jsp后缀名保存,但不显示在前台。并且页面中几乎都为java代码,所以HTML代码部分可省略至仅保留两个标签。

接下来讲解链接数据库以及进行查询、显示操作的java代码。

 Connection con;
 Statement stmt;
 ResultSet rs;

声明后面会使用的变量。否则会出错。

为了保证代码能处理异常,需要引入try/catch结构,如下图所示。

try{
  out.println('all is well');
}
catch(Exception e){out.println(e.getMessage());}

引入Oracle的jdbc驱动,并取得所连接到的数据库的url,数据库名称,登录用户名以及密码。其中url信息可在本机Oracle安装文件夹下找到。

 Class.forName("oracle.jdbc.driver.OracleDriver");
 java.sql.DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());

 String dbUrl="jdbc:oracle:thin:@1.1.1.1:1521:dbl";
 String dbUser="god";
 String dbPwd="god";
 con=java.sql.DriverManager.getConnection(dbUrl,dbUser,dbPwd);

 stmt=con.createStatement();

本身开发的这个信息查询系统是关于ipv4地址信息的,输入一个ip地址,输出数据库中若干个表中的isp信息,省市信息。其中ip地址只需要输入前三段,因数据库中的ip地址最后一段均为1,对传入的ipname进行字符串处理以其为条件进行查询操作。

  String ipname = request.getParameter("ip_name");
  ipname += ".1";
  out.println("<br / >"); //插入一个空行
  out.println("<table>");
  out.println("<tr><td width='200px'nowrap>数据源</td><td width='200px'nowrap>省份</td><td width='200px'nowrap>城市</td><td width='200px'nowrap>ISP</td></tr>");

ipname为查询界面传出的ip地址字符串。随即输出表格的HTML代码。表格的其他参数由下列代码在head标签中定义,使用css代码而非html代码对其进行修饰。

  <style type="text/css">
  table
  {
      border-collapse:collapse;
      width:1000px;
      text-align:center;
  }
  table, td, th
  {
  border:1px solid black;
  }
  </style>

最后为查询操作与打印表格的代码,使用较为简单的sql语句即可完成多表的查询,即一条语句查询一个表,需要注意的是sql查询语句为字符串,其变量名需要因查询的表不同而不同,否则会报错。

另外sql查询为空时会返回null值,需要对其进行处理变为空格。

表格打印完毕后关闭与数据库的链接并销毁变量。

  //A数据库
 String sqla="select * from A where ip="+"'"+ipname+"'";
 rs=stmt.executeQuery(sqla);  //rs为sql查询后获得的列表
 while(rs.next())
 {
 String col1="A库";
 String col2=rs.getString(2);
 String col3=rs.getString(4);
 String col4=rs.getString(6);
 out.println("<tr><td>"+col1+"</td><td>"+col2+"</td><td>"+col3+"</td><td>"+col4+"</td></tr>");
 }
  //B数据库
 String sqlb="select * from B where ip="+"'"+ipname+"'";
 rs=stmt.executeQuery(sqlb);
 while(rs.next())
 {
 String col1="B库";
 String col2=rs.getString(2);
 String col3=rs.getString(3);
 if (col3 == null)
    col3 = " ";
 String col4=" ";  
 out.println("<tr><td>"+col1+"</td><td>"+col2+"</td><td>"+col3+"</td><td>"+col4+"</td></tr>");
 }

 out.println("</table>");

 rs.close();
 stmt.close();
 con.close(); 

整个流程可类比一个冷笑话“如何将大象装进冰箱”,打开冰箱——装进大象——关上冰箱。本例中链接的数据库是Oracle,对于MySQL也是类似的过程与代码,只需要更改jdbc驱动部分的代码即可。

下篇将讲解查询系统的搭建与demo实现。

参考链接:jsp链接Oracle数据库

1. 首先设置网上购物系统。 (1) 确认“JDK+Tomcat”的运行环境已经搭建好。 (2) 从光盘中将shopping目录拷贝到电脑中,这里假定拷贝在“D:\shopping”,即把包含了网上购物系统所有文件的shopping目录放到D盘中。 (3) 在Tomcat安装目录的conf\Catalina\localhost目录下新建一个shop.xml配置文件,在其中添加一个Context元素,代码如下: (4) 将Oracle驱动程序“classes12.jar”(从Oracle安装目录,例如C:\oracle中搜索)拷贝到Tomcat安装目录下的 common\lib子目录中。 2. 在正式运行这个网上购物系统之前,要先建立相应的数据库和表,操作如下。 (1) 建立Oracle数据库。 对于本网上购物系统,我们需要建立一个名为myorc的Oracle数据库。具体创建方法可以参考本书第5章的内容(需建立SCOTT账户)。 (2) 通过PL/SQL Developer直接导入光盘中提供的数据记录,方法如下: ①在PL/SQL Developer工具中以SCOTT用户身份登录Oracle数据库myorc(请注意使用Normal登录!)。 ②选择【工具】|【导入表】菜单命令,选择“SQL插入”选项卡,然后导入“D:/shopping/数据库/shop.sql”文件,接着选择“Oracle导入”选项卡,然后导入“D:/shopping/数据库/shop.dmp”文件,这样,我们就成功地导入了对象和表数据。 3. 到此,网上购物系统已经可以正常运行了。 (1) 启动Tomcat服务器。 (2) 打开浏览器,在地址栏中输入http://localhost:8080/shop,即可打开网上购物系统登录界面。 (3) 注册新用户,然后使用注册时使用的用户名和密码登录网上购物系统
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值