|
楼主 |
发表于 2005-5-16 01:14
|
显示全部楼层
三、正式编程:
1.建立数据库
打开开始菜单找到sqlserver的快捷方式组里面的企业管理器,点开左边的树一般有个localhost连接,如果有个绿色三角形符号证明数据库连接成功。点击邮件新建数据库,在你新建的数据库中再新建个数据表(例如叫test),数据表建立若干字段。
补充:提供另一种建表方法是使用sql脚本建表。首先创建如下文件:
-------------------------------------------------------------------------------------------
test.sql
create database test
USE test
create table test
(
id int not null identity(1,1),
mark varchar(255),
name varchar(255),
sex varchar(255)
)
-----------------------------------------------------------------------------------------
然后打开开始菜单中sqlserver快捷方式组中的查询分析器,点击“文件”-》“打开”,选择test.sql,点击运行即可。
2.建立tomcat虚拟目录
在任意你喜欢的地方建立一个文件夹(例如e:/wool),在文件夹中建立WEB-INF文件夹(注意必须大写),WEB-INF文件夹中再建立classes和lib两个文件夹,将第一步下载的三个jar文件(连接数据库用)放入lib文件夹中。(有人可能问:这里为何没有web.xml这个文件,不急,后面会说到)
3.配置文件与连接池
这次班里做课程设计这步难倒不少同学,我这里有最简单方法(俺老师建议去http://localhost:8080/admin中去配置,我个人觉得那样麻烦而且容易出错),好,下面介绍步骤:
首先,按下面内容建立好两个文件:
--------------------------------------------------------------
wool.xml
<?xml version=\'1.0\' encoding=\'utf-8\'?>
<Context docBase=\"E:\\wool\" path=\"/wool\" reloadable=\"true\" workDir=\"E:\\wool\\WEB-INF\\classes\">
<Resource name=\"jdbc/sqlserver\" type=\"javax.sql.DataSource\"/>
<ResourceLink name=\"jdbc/sqlserver\" global=\"jdbc/sqlserver\" type=\"javax.sql.DataSource\"/>
<ResourceParams name=\"jdbc/sqlserver\">
<parameter>
<name>driverClassName</name>
<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:microsoft:sqlserver://localhost;DatabaseName=test</value><!--这里test是第三点中第一小点建立的数据库名-->
</parameter>
<parameter>
<name>username</name>
<value>sa</value>
</parameter>
<parameter>
<name>password</name>
<value></value>><!--安装sqlserver时用空密码的话这里什么都不用填(注意连空格都没有)-->
</parameter>
<parameter>
<name>maxActive</name>
<value>4</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>5000</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>2</value>
</parameter>
</ResourceParams>
</Context>
--------------------------------------------------------------
注意:在帮同学配置的过程发现一个问题,就是上面的配置文件必须把注释部分删除才可以成功运行。暂时不了解什么原因,理论上xml文件中这样的注释是允许的,郁闷。
--------------------------------------------------------------
web.xml
<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>
<web-app>
<resource-ref>
<description>connectDB</description>
<res-ref-name>jdbc/sqlserver</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>
--------------------------------------------------------------
建立完两个文件后,把wool.xml放到tomcat目录下的\\conf\\Catalina\\localhost中;web.xml文件放到E:\\wool\\WEB-INF目录中。
4.写段程序测试连接
----------------------------------------------------------------------------
test.jsp
<!--测试数据源-->
<%@ page contentType=\"text/html; charset=gb2312\" %>
<%@ page import=\"javax.naming.Context\" %>
<%@ page import=\"javax.sql.DataSource\"%>
<%@ page import=\"javax.naming.InitialContext\"%>
<%@ page import=\"java.sql.*\"%>
<%
DataSource ds = null;
try{
Context initCtx = new InitialContext();
ds = (DataSource) initCtx.lookup(\"java:comp/env/jdbc/sqlserver\");
if(ds!=null)
{
out.println(\"已经获得DataSource!\");
out.println(\"<br/>\");
Connection conn = ds.getConnection();
Statement stmt=conn.createStatement();
ResultSet rst=stmt.executeQuery(\"select * from test\");//这里的test是表名
out.println(\"以下是从数据库中读取出来的数据\");
%>
<table width=\"100%\" border=\"2\" cellspacing=\"0\" cellpadding=\"0\">
<tr bordercolor=\"#FF0000\" bgcolor=\"#CCCCCC\" class=\"style1\">
<th>名字</th>
<th>性别</th>
<th>分数</th>
</tr>
<%
while(rst.next())
{%>
<tr bgcolor=\"orange\">
<td><%=rst.getString(1)%></td>
<td><%=rst.getString(2)%></td>
<td><%=rst.getString(3)%></td>
</tr>
<%
}
%>
</table>
<%
conn.close(); //这里很重要,俺们老师给的实例中没有这句。没有这句会导致连接池枯竭
}
else
out.println(\"连接失败!\");
}
catch(Exception ne)
{
out.println(ne);
}
%>
----------------------------------------------------------------------------
将test.jsp文件放到E:\\wool即可。
5.启动sqlserver和tomcat,在浏览器输入:
http://localhost:8080/wool/test.jsp
[ Last edited by wool王 on 2005-5-18 at 23:53 ] |
|