JSP初级教程--JSP初学者入门之三
第三章 连接数据库
接着我想做一个jsp的留言板之类的东西:有登录验证、注册、发表文章、浏览文章、管理文章、管理用户等这些功能。
首先,登录验证这个不难,但是有个问题:需要连接数据库了。于是我开始查找资料,并安装了Oracle数据库(对于Oracle数据库的一些最基本的知识我就不在这里说明了,但是需要注意的两点是:
一、安装完成后就不要再改变你的机器名,一旦改了再改回来,数据库也用不了;
二、安装完后不要使用Windows优化大师的清理注册表垃圾的功能,它会删掉一个有用的注册表信息导致Oracle的监听无法启动),最后写了这个文件:
-----------------------------link.jsp-----------------------------------------
<%@ include file="include.inc"%>
<%@ page contentType="text/html;charset=gb2312"%>
<html>
<body>
<%
Connection con = null;
Statement stmt = null;
ResultSet rs = null;
try
//有try就至少要有一个catch或finally
{
Class.forName(CLASSFORNAME);//载入驱动程式类别
con=DriverManager.getConnection(SERVANDDB);//建立数据库连接
stmt=con.createStatement();
String sql="select * from infom";//infom是表名
rs=stmt.executeQuery(sql);
while(rs.next())
{
out.println(rs.getString(1));//1就是第一个字段,第一个字段的名是username,所以这段也可以写成:rs.getString("username")
out.println(rs.getString(2));
}
out.println("<br>成功!");
}//try结束
catch(Exception e)
//当try里运行出错时,运行catch里的内容
{
out.println(e);//输出错误信息
}
finally
//不论是否出错、结果怎样,都要运行finally里的内容
//向下为关闭数据库连接
{
if (rs!=null)
rs.close();
if (stmt!=null)
stmt.close();
if (con!=null)
con.close();
}
%>
</body>
</html>
---------------------------------------------
Class.forName(CLASSFORNAME);
con=DriverManager.getConnection(SERVANDDB);
这两句无疑是很重要的,可是CLASSFORNAME、SERVANDDB这两个变量是什么呢?它们都来自<%@ include file="include.inc"%>这句里的include.inc文件,该文件与link.jsp在同一目录下。
-----------------------------------include.inc------------------------------------
<%@ page import="java.sql.*"%>
<%@ page import="java.util.*"%>
<%@ page import="java.io.*"%>
<%@ page import="oracle.jdbc.driver.OracleDriver"%>
<%@ page import="java.lang.*"%>
<%
request.setCharacterEncoding("gb2312");
String CLASSFORNAME="oracle.jdbc.driver.OracleDriver";//定义载入驱动程式的字符串
String SERVANDDB="jdbc:oracle:thin:name/password@ringz:1521:rock";//定义建立数据库连接的字符串
//name是数据库的用户名;password是该用户的密码;ringz是我的机器名;rock是SID
%>
----------------------------------------------
假如你用的是Oracle的数据库的话,现在你运行这个文件还是会出错,因为Tomcat服务器找不到Oracle的JDBC驱动,你需要甲骨文(oracle)公司提拱的一个包:classes12.jar,
你可以在D:oracleora92jdbclib下找到它,然后把它放到D:Tomcat 5.0commonlib下,
好了,现在应该可以了。