将第8章使用的JDBC连接包mysql-connector-java-3.0.16-ga-bin.jar复制到C:\\Program Files\\Apache Software Foundation\\Tomcat 5.0\\common\\lib目录下,common\\lib是Tomcat的全局引用库的所在目录,Tomcat在启动时会自动加载这个目录中的所有JAR包。 有些网上的文章说也可以将数据库连接包复制到WEB应用的WEB-INF\\lib中(本例的
myweb\\hello\\WEB-INF\\lib目录),这个目录是hello模块发布时会自动加载的一个包目录。但经笔者实验,如果连接包将放在此目录中,不用数据库连接池方式来访问数据库,则连接包可以正常使用;如果使用Tomcat连接池,则会出错误,连接包无法使用。 2、进入Tomcat的配置页面
用IE浏览器输入地址:http://127.0.0.1:8080/admin/ ,打开Tomcat服务器配置的登录页面,再输入用户名admin、密码123456,进入Tomcat的配置页面,如下图9.31所示:
图9.31 连接池设置
单击左边的树结点“Data Source”→选择右上角的下拉框的“Create New Data Source”项,然后在表格中输入相应的连接池配置信息:
? JNDI Name:jdbc/mysql - 设置连接池的JNDI名,在Java程序会用到此名。 ? Data Source URL:jdbc:mysql://localhost/sms - 数据库连接字串,sms是数据库。 ? JDBC Driver Class:com.mysql.jdbc.Driver - JDBC连接类。 ? User Name:root - 数据库登录用户名。
? Password:****** - 数据库登录密码。本例为123456。
? Max. Active Connections:4 - 最大连接数。实际应用时,应该根据WEB使用情况设置得大一些;开发时,4个连接足够了。 ? Max. Idle Connections:2 - 最大空闲连接数。
? Max. Wait for Connection:5000 - 最大等待连接限制。 ? Validation Query:验证用的查询语句,可以不填。
填写完以上信息之后,单击右下角的“Save”按钮保存修改,再单击右上角的“Commit Changes”按钮提交修改。
3、修改Tomcat的server.xml文件
server.xml文件的具体路径:C:\\Program Files\\Apache Software Foundation\\Tomcat 5.0\\conf\\server.xml,在原来的 reloadable=\ docBase=\ workDir=\ global=\ type=\
4、测试数据库连接池
将以下测试程序命名为test.jsp,创建在hello模块的根目录下,然后通过IE地址:http://127.0.0.1:8080/hello/test.jsp来访问。这个测试程序从数据库连接池中获得一个数据库连接对象Connection,然后再查询数据库的iuser表,并用name(姓名)列的数据打印出来(注:iuser是在第8章创建的用户表)。test.jsp运行效果如下图9.32所示:
图9.32 test.jsp的效果 test.jsp源代码如下:
<%@ page contentType=\<%@ page import=\<%@ page import=\
<%@ page import=\<%
Connection con=null; Statement sm=null; ResultSet rs=null; try{
InitialContext ctx=new InitialContext();
DataSource ds=(DataSource)ctx.lookup(\ con = ds.getConnection(); sm = con.createStatement();
rs = sm.executeQuery(\ while(rs.next())
out.println(rs.getString(\}catch(Exception e){ e.printStackTrace(); }finally {
if (rs != null) { try {
rs.close();
} catch (SQLException e) {} rs = null; }
if (sm != null) { try {
sm.close();
} catch (SQLException e) {} sm = null; }
if (con != null) { try {
con.close();
} catch (SQLException e) {} con = null; } } %> 程序说明:
? <%@ page contentType=\这一行是设置网页的字符集,也是解决中文乱码问题的关键一句。如果是纯html页面,则应在项之前加入这样一句:
8.2 面向对象分析和数据表创建(版本V0010) 8.2.1 界面效果及实现功能
本章项目是编写一个学生成绩管理软件,由于主要目的是给出一个项目开发的示例,所以这个软件的功能是做得相当简单的,也不存在需求分析阶段。关于学生成绩管理软件的一些功能及概念,也不再多加说明,毕竟大家都是从学校和考试里走出来的,对这些已经很熟悉了。
本章项目的主体界面框架如下图8.19所示: