07年2月2号
这是2篇以前我再csdn的blog上面写的 ,现在转过来看。
由 于工作的需要我要在Windows 2003 server 下架构一个可以连接数据库的JSP的网站,下面就是我工作的过程。我会省略一些我走过的弯路,仅把自己成功的方法总结出来,当然我也会把自己出错的地方提 醒给大家。等这个在Windows下正常工作后我就会把它移植到我的Linux平台上去。
好了,废话不多说了。下面开始工作的流程。
我这个人一向喜欢使用最新的东西,虽然有时候最新的东西总容易出或多或少的问题,但是尝鲜的感觉让我很享受。
首 先我要架构一个可以解析java 的WEB环境。使用IBM Websphere、BEA Weblogic、Jboss 等这些J2EE 服务器会有一个很好的解决方案,但是只有应用EJB才会发挥这些J2EE服务器的强大功能。收费的东西我不会用的,我选择的都是一些开源的软件。由于我做 这个也不是拿来赚钱的,所以也不担心什么法律效应。(现在国内很多的公司喜欢把开源的软件经过自己的整合和改装就拿去卖钱,对于这种行为我个人持非常反感 的态度。我的想法是你拿去卖钱可以,但是请用你利润的一部分来资助社区和支持开源运动,不好意思,扯得有点远了。)自然或者说习惯性的我就选择了 Apache家族的产品。但是单独使用Tomcat做JSP服务器,在工作效率上会有问题,并且所能承受的最大并发连接数也有一定的限制;经测试,当并发 连接较多时,Tomcat就会处于“僵死”状态,对后继的请求连接失去响应。所以现在就有了一些“整合”解决方案:将html与jsp的功能部分进行明确 分工,让tomcat只处理jsp部分,其它的由apache,IIS等这些web server处理,由此大大节省了tomcat有限的工作“线程”。
1。我从apache网站上下载了apache2.2.3 的Windows 版本,其默认端口为80安装上去后测试本地显示“It‘s Work”表示其正常启动了。(当然这个时候我已经把IIS服务停掉了)
2。 下载tomcat5.5.17,其默认端口为8080,测试如果显示tomcat的欢迎界面则表示安装成功。
3。关键部分:下载 mod_jk-apache-2.2.2.so 这个文件就是用来连接apache跟tomcat的。下载地址: http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binar ies/win32/jk-1.2.18/ 然后把它改名为mod_jk.co,放到apache安装目录的/modules目录下。
4. 在apache安装目录的/conf目录下用记事本建一个workers.properties文件,内容如下:workers.tomcat_home =d:\Program Files\Apache Software Foundation\Tomcat 5.5 //此处指定你的tomcat安装目录
workers.java_home=d:\Program Files\Java\jdk1.5.0_07 //指定你JDK安装目录
//剩下的不需要修改
ps=\
worker.list=ajp13
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
worker.ajp13.lbfactor=1
5.修改在apache安装目录的/conf目录下的httpd.conf文件。在文件的最后加上:LoadModule jk_module modules/mod_jk.so
JkWorkersFile “d:\Program Files\Apache Software Foundation\Apache2.2\conf\workers.properties” //指定workers.properties文件的位置
DirectoryIndex index.html index.htm index.jsp
JkMount /* ajp13 //过虑请求。
即所有的请求都转给tomcat处理。这里可以根据自己的需要修改.
同过上面的配置,我们已经完成了对于apache和tomcat的结合。下面就是和数据库的连接了,稍后待续。。。。。
好的,下面我接着上次的文章接着写。在上次我们成功的实现了apache和tomcat的联合工作,这次我们让jsp可以成功的连接Mysql数据库。这个相对来说比较简单。
1。我们只要给他加一个JDBC的驱动就可以了,到mysql.org 上下载驱动,文件名是 mm.mysql-2.0.4-bin.jar
地址:http://www.mysql.com/downloads/download.php?file=Downloads/Contrib/mm.mysql-2.0.4-bin.jar
放到 Tomcat 的lib目录里,由于我也不太清楚其具体位置该放到哪里,我就在common和shared的lib里面都各自放了一份。
2。 安装Mysql,我选择了Mysql5.0.24a-win32,安装方法很简单,基本按照默认的走就可以了,记着把它设置为系统服务,这样可以保证他可 以正常启动。然后再开始-〉程序->Mysql里面有一个命令行的选项,选择后出现终端模式,这个时候要求你输入密码,这个密码就是你在安装的时候 设置的root的密码。这个时候如果现在Mysql的命令行模式则表示Mysql可以正常使用。使用Show databases 命令可以查看现在已有的数据库。或者你可以创建你自己的数据库,当然这些都是一些常用的数据库sql语句了。
3。测试连接。JSP里面有专门的程序语言来连接数据库,下面我们在tomcat的Root目录下新建一个test.jsp的文件,其内容(这个是我从网上下的一段,然后把自己的数据库的名字和用户名密码来替换他原有的内容)为:
<%@page import=”java.sql.*”
import =”java.util.*”
import =”java.io.*”
contentType=”text/html; charset=gb2312″
%>
<%!
String host=”localhost”; //数据库主机
String database=”"; //数据库名
String user=”"; //用户名
String pass=”"; //口令
%>
<% java.sql.Connection sqlConn; //数据库连接对象
java.sql.Statement sqlStmt; //语句对象
java.sql.ResultSet sqlRst; //结果集对象
//登记JDBC驱动对象
Class.forName (“org.gjt.mm.mysql.Driver”).newInstance ();
//连接数据库
sqlConn= java.sql.DriverManager.getConnection (“jdbc:mysql://”+host+”/”+database,user,pass);
//创建语句对象
sqlStmt=sqlConn.createStatement (java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);
//执行Sql语句
String sqlQuery=”select * from dbtest”;
sqlRst=sqlStmt.executeQuery (sqlQuery);
sqlRst.next();
int count=sqlRst.getInt(1); //取得总的留言记录数
sqlQuery=”select * from dbtest order by id desc;”;
sqlRst=sqlStmt.executeQuery (sqlQuery); //执行SQL语句
%>
<% while (sqlRst.next()) { //取得下一条记录 %>
<% } %>
| ID | 昵称 | 性别 | 地址 |
| <%=sqlRst.getString(“id”)%> | <%=sqlRst.getString(“name”)%> | <%=sqlRst.getString(“sex”)%> | <%=sqlRst.getString(“ad”) %> |
<%
//关闭结果集对象
sqlRst.close();
//关闭语句对象
sqlStmt.close ();
//关闭数据库连接
sqlConn.close();
%>这个时候打开IE来测试一些,如果成功的话他就会在页面上显示一个列表,列出你这个数据库表里面的所有内容。这个成功了,我们可以进行下面进一步的开发了。

本文还暂无回复