30天学通Java Web项目案例开发
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.5 开发前的准备工作

由于该系统采用Spring做业务层,Hibernate作为持久层,MySQL作为数据库,因此在开发前,要对其进行配置,并在数据库中插入一些记录,供开发中测试使用。

2.5.1 表的创建与记录插入

上一节中介绍了数据库中表的设计,下面将介绍如何在MySQL数据库中创建这些表,并插入一些数据,具体步骤如下。

① 启动MySQL,打开MySQL命令行客户端MySQL Command Line Client。

② 执行语句“use test;”,然后执行上一节中创建表的SQL语句。

表创建完成后,需要插入一些测试数据,具体插入的SQL如下:

    insert into consumerinfo values('10001','奇川贸易','张先生','唐山','1234567',
'ligong@sina.com','暂无');
    insert into ProviderInfo values('10001','河北数码','张先生','唐山','1234567',
'ligong@sina.com','暂无');
    insert into GoodsClassInfo values('10001','水果');
    insert into GoodsInfo values('10001','苹果','10001',20,'斤',10,20);
    insert into AdminInfo values('10001','zrk','12345','超级');
    ……/* 此处省略了一些SQL语句,请读者参照光盘中本章的SQL脚本 */

2.5.2 数据源的配置

本系统连接数据库采用数据源连接池,因此需要对其进行配置,具体步骤如下所示:

① 在Tomcat安装目录下的lib目录下添加MySQL数据库驱动JAR包,见光盘中应用软件目录下的“mysql-connector-java-5.1.6-bin.jar”文件。

② 在Tomcat安装目录下的conf子目录中的server.xml中最后的“</Host>”标记之前添加如下配置:

<Context path="/POS" docBase="POS"
  debug="5" reloadable="true" crossContext="true"  workDir="">
  <Resource name="jdbc/pos" auth="Container" type="javax.sql.DataSource"
          maxActive="100" maxIdle="30" maxWait="10000"
          username="root" password="" driverClassName="org.gjt.mm.mysql.Driver"
    url="jdbc:mysql://localhost/test"/>
</Context>

③ 在Tomcat安装目录下的webapps文件夹中新建一个名称为POS的文件夹,并将光盘中本章的css、img及script文件夹复制到该目录下,在后续开发中,将写好的JSP文件均放在该文件夹下。

④ 在上述新建的POS目录下新建目录WEB-INF,并在WEB-INF下新建文件夹classes,该文件夹用来存放已经编译好的JavaBean、Servlet及辅助类的class文件。

⑤ 在WEB-INF文件夹下新建文件web.xml,并在web.xml中添加如下配置。

  <?xml version="1.0" encoding="ISO-8859-1"?>
  <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/
ns/j2ee/web-app_2_4.xsd"
    version="2.4">
    <resource-ref>
      <description>DB Connection</description>
      <res-ref-name>jdbc/pos</res-ref-name>          <!-- 此处指数据源的名称-->
      <res-type>javax.sql.DataSource</res-type>
      <res-auth>Container</res-auth>
    </resource-ref>
    <welcome-file-list>
          <welcome-file>login.jsp</welcome-file>     <!--设置欢迎页面-->
    </welcome-file-list>
  </web-app>

2.5.3 Spring的配置

(1)在本应用的WEB-INF目录下新建lib文件夹,并将光盘中lib目录下的spring-mock.jar、spring.jar复制到该文件夹下。

(2)在本应用的WEB-INF目录下的web.xml中的“</web-app>”之前添加如下配置:

  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/appcontext.xml</param-value> <!-- spring配置文件的路径 -->
  </context-param>
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener
</listener-class>
  </listener>

(3)在本应用的WEB-INF目录下新建appcontext.xml文件,用来对Spring进行配置,具体内容如下所示:

  <?xml version="1.0" encoding="GBK"?>
  <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
    "http://www.springframework.org/dtd/spring-beans.dtd">
  <beans>
    <!--通过JNDI获得数据源的引用-->
    <bean id="MyDataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
        <property name="jndiName"> <value>java:comp/env/jdbc/pos</value></property>
    </bean>
  </beans>

2.5.4 Hibernate的配置

(1)将光盘中lib目录下Hibernate所需要的一些JAR包复制到本应用的WEB-INF目录下的lib文件夹内。

(2)在Spring配置文件中,添加对Hibernate的配置,使Hibernate的LocalSessionFactoryBean作为Spring的一个受管Bean,在appcontext.xml文件中的“</beans>”前添加如下配置:

  <bean id="sessionFactory" <!--配置Hibernate-->
    class="org.springframework.orm.hibernate3.LocalSessionFactoryBean" >
    <property name="dataSource"><ref local="MyDataSource" /></property><!--指定
数据源-->
    <property name="mappingResources">              <!--给出映射文件资源-->
    <list>
            <!--  此处是本应用中的一些映射文件,在后面的开发中会把注释去掉
            <value>AdminInfo.hbm.xml</value>
            <value>GoodsInfo.hbm.xml</value>
            <value>GoodsClassInfo.hbm.xml</value>
            <value>ConsumerInfo.hbm.xml</value>
            <value>ProviderInfo.hbm.xml</value>
            <value>StockInfo.hbm.xml</value>
            <value>StockDetail.hbm.xml</value>
            <value>SellInfo.hbm.xml</value>
            <value>SellDetail.hbm.xml</value>
            <value>ConsumerBack.hbm.xml</value>
            <value>ConsumerBackDetail.hbm.xml</value>
            <value>ProviderBack.hbm.xml</value>
            <value>ProviderBackDetail.hbm.xml</value>
            -->
    </list>
    </property>
    <property name="hibernateProperties">           <!--定义Hibernate配置属性-->
        <props>
            <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect </prop>
            <prop key="hibernate.show_sql"> true</prop>
        </props>
    </property>
  </bean>

说明:在数据库中建表时,请读者按照笔者所给出的顺序依次创建,否则可能会由于外键原因导致表创建不成功。用于开发的Java类在修改后一定要进行编译,并将编译好的文件复制到classes目录下,当开发完一个JSP页面后,启动Tomcat,并在地址栏中输入http://localhost:8080/POS即可进行测试。