windows下tomcat+mysql配置jpetstore全过程

来源:互联网 发布:美萍进销存软件 编辑:程序博客网 时间:2024/06/06 00:37
 

发布: 2009-9-07 23:41 | 作者: milan | 来源: 7点测试网

测试环境
JDK版本:JDK1.6.0_10
Tomcat版本:6.0.20
MySQL版本:5.0.22
JDBC版本:mysql-connector-java-5.0.3
Jpetstore版本:Jpetstore 5.0

第一步JDK的配置
JDK安装路径 D:\Program Files\Java\jdk1.6.0_10
配置环境变量:JAVA_HOME; PATH; CLASSPATH。
1.JAVA_HOME指向的是JDK的安装路径,如D:\Program Files\Java\jdk1.6.0_10,在这路径下你应该能够找到bin、lib等目录。当然,你愿意放哪里,就放哪里。
JAVA_HOME=D:\Program Files\Java\jdk1.6.0_10
2.PATH环境变量,目的是为了指向JDK的bin目录,这里面放的是各种编译执行命令。
我的设置是:
PATH=D:\Program Files\Java\jdk1.6.0_10\bin;D:\Program Files\Java\jdk1.6.0_10\jre\bin;
需要说明,系统中本身就有PATH环境变量,只要把D:\Program Files\Java\jdk1.6.0_10\bin;D:\Program Files\Java\jdk1.6.0_10\jre\bin;直接放到后面即可,中间有分号间隔。
如果你的JAVA_HOME是别的目录,就对照着该吧。
3.CLASSPATH最重要。
CLASSPATH=.;D:\Program Files\Java\jdk1.6.0_10\lib;D:\Program Files\Java\jdk1.6.0_10\tools.jar;这是我的设置。这是类的路径。前面加上点和分号,意为首先在当前目录查找,以后你自己编写类的时候自然明白这点。
那么为什么要设置环境变量,以前编写c语言的时候怎么不设置呢?
由于WINDOWS默认的搜索顺序,先搜索当前目录的,再搜索系统目录的,再搜索PATH环境变量设定的。你在编写java程序时,在一个指定目录,这里没有编译执行命令,而系统目录里面,也没有编译执行命令。所以放在环境变量里面, 从这里你应该可以看出,环境变量是干什么用的了。简单说就是告诉操作系统到那里去找指定的文件。你要是把系统目录给改了,看你用dos命令还好不好使。
4.配置完后,在D盘根目录下新建一个记事本,输入以下内容:
public class Test{
public static void main(String args[]){
System.out.println("welcome to 7dtest.");
}
}
另存为“Test.java"。
然后打开命令提示符窗口,cd到D盘根目录下,然后键入下面的命令
javac Test.java
java Test
如果看到“welcome  to 7dtest”恭喜你,JDK配置成功~~
第二步 tomcat6.0配置
Tomcat有安装版和绿色版,我这里用到的是安装版。安装Tomcat后,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(我的tomcat安装在D:\tomcat):
CATALINA_HOME:D:\tomcat
CATALINA_BASE:D:\tomcat
TOMCAT_HOME: D:\Tomcat
然后修改环境变量中的classpath,把tomat目录下的lib下的servlet.jar追加到classpath中去。接着可以启动tomcat6.0.启动后,在IE中访问http://localhost:8080,如果看到可爱的tom猫,说明tomcat安装成功了。
第三步 tomcat6.0数据库连接池配置
1.在tomcat安装目录下的webapps文件夹下新建你的项目文件夹(我的是studentproject)。在这个项目文件夹下新建文件夹META-INF。在META-INF下新建context.xml。context.xml的代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/studentproject" docBase="studentproject"
    debug="5" crossContext="true" reloadable="true"
    cachingAllowed="true" cacheMaxSize="20480"
    cacheTTL="10000">
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<Resource
name="jdbc/test"
auth="Container"
type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/bbs?autoReconnect=true"
username="root"
password="root"
maxActive="20"
maxIdle="10"
maxWait="-1" />
</Context>
下边解释几个主要属性:
path="/studentproject"; studentproject 这是我的工程名字,这里要写上你自己工程名字;
docBase="studentproject" 同理;
reloadable="true"--->自动加载;
name="jdbc/test"--->数据源的名字其格式不能错jdbc/name,其中test可以自己定
url="jdbc:mysql://localhost:3306/bbs?autoReconnect=true"------- >bbs是mysql中数据库的名称
username="root"----->root是 mysql用户名
password="root" ---->root是我的mysql的密码,可以根据自己安装mysql时设置的密码修改
2.在工程studentproject下新建文件夹WEB-INF(注意一定要大写)。在WEB-INF下新建web.xml。
代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<resource-ref>   
<description>DB Connections</description>
<res-ref-name>jdbc/test</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>
注意:
<res-ref-name>jdbc/test</res-ref-name>中间的名字一定要和你name="jdbc/test"名字一样。
这样基本的配置算上完成了。但一定要记得把你的JDBC驱动mysql-connector-java-5.0.3-bin.jar拷到Tomcat6.0 的lib文件夹下!
第四步 MySQL5.0配置
MySQL5.0的具体安装过程,网上有很多资料,这里就省略了。Mysql安装完毕以后,在开始菜单-程序-MySQL-MySQL Server 5.0-MySQL Command Line Client用客户端的快捷方式连接
输入安装时设置的密码(我的安装密码是root)。
建立数据库bbs以及在数据库里建一个表userinfo。
命令如下:
create database bbs;//建立数据库bbs
use bbs;//
create table userinfo( username VARCHAR(20));//在bbs下建立表userinfo
INSERT INTO userinfo VALUES(‘7Dtest’);

第五步 测试连接池连接数据库
在你的工程文件夹下,新建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.*"%>
<html>
<body>
<%
        DataSource ds = null;
        try{
          Context initCtx = new InitialContext();
          Context envCtx = (Context) initCtx.lookup("java:comp/env");
         //从Context中lookup数据源。
          ds = (DataSource)envCtx.lookup("jdbc/test");
             if(ds!=null)
             {
        out.println("已经获得DataSource!");
        out.println("<br>");
        Connection conn = ds.getConnection();
        Statement stmt=conn.createStatement();
        ResultSet rst=stmt.executeQuery("select * from userinfo");//从一个已存在的表中读取数据
        out.println("以下是从数据库中读取出来的数据:<br>");
        while(rst.next()){
        out.println("<br>");
        out.println(rst.getString(1));}
             }
}
catch(Exception ne)
{
       out.println("出现如下错误:<br>");
       out.println(ne);
}  
%>
</body>
</html>

重启tomcat。在IE中输入http://localhost:8080/studentproject/Test.jsp。
成功后看到以下内容:
已经获得DataSource!
以下是从数据库中读取出来的数据:
7Dtest
第六步 Jpetstore配置
1.解压jpetstore压缩包后,在build\wars下有一个jpetstore.war,将其复制到tomcat的webapps文件夹下,启动tomcat服务,在浏览器中输入如下地址访问:http://localhost:8080/jpetstore/ 会看到“welcome to JpetStore 5”主页。
2. 回到/tomcat/webapps文件夹下,可以发现多了一个jpetstore文件夹。在jpetstore文件夹下确认是否有个名为src的文件夹。如果没有,从下载的jpetstore解压包中拷贝,复制到/jpetstore/下。
3.把\jpetstore\src\ddl\mysql下的jpetstore-mysql-schema.sql,jpetstore-mysql-dataload.sql,jpetstore-mysql-create-user.sql三个文件拷贝到MySQL的bin目录下。复制这三个文件中的内容,到MySQL的命令提示符下分别运行。顺序不能错,依次为:
jpetstore-mysql-schema.sql
jpetstore-mysql-dataload.sql
jpetstore-mysql-create-user.sql
以上三个文件分别是创建数据库JPetStore,导入数据,分配权限。
4.需要修改\jpetstore\WEB-INF\classes\properties下的database.properties文件。代码如下:
####################################
# Database Connectivity Properties
####################################
#driver=org.hsqldb.jdbcDriver
#url=jdbc:hsqldb:mem:jpetstore
driver=org.gjt.mm.mysql.Driver
url=jdbc:mysql://localhost:3306/jpetstore?useUnicode=true&characterEncoding=UTF-8
username=root
password=root
5.完成以上四步后,基本配置完成了。在IE中输入http://localhost:8080/jpetstore/可以看到jpetstore的首页,点击“enter the store”可以看到鹦鹉。然后接着点进去查看动物列表,点到选择 动物 itemId的时候,就会提示错误。错误提示如下:
“error dispatching bean action via URL pattern(‘viewCategory’)……….”后来我打开\jpetstore\src\com\ibatis\jpetstore\persistence\sqlmapdao\sql下的Item.xml文件,终于发现错误啦!错误的原因:因为其中的SQL是多表查询,而这几个表里都有 itemId字段,而且它写的 select   ITEMID......没有指定是哪个表的itemId,所以,将这个字段加一个表名前缀就可以了,例如:select  I.itemId ........
修改后,重起tomcat,重新进入jpetstore,一切OK!

Item.rar
(2009-09-07 23:41:43, Size: 804 B , Downloads: 2)


database.rar
(2009-09-07 23:41:43, Size: 288 B , Downloads: 0)

原创粉丝点击