struts+spring+hibernate基本项目框架的搭建(2)

项目框架搭建步骤:

1 MyEclipse建立一个Web project(demo1_1)

2 鼠标右击工程->MyEclipse->Add Struts Capabilities,出现如下界面:

i) 选择struts的版本1.2

ii) Base package for new classes输入框里面,输入自己的包路径.cn.com.book.demo.struts

3 鼠标右击工程->MyEclipse->Add Spring Capabilities,出现如下界面:

如图显示,选择上面的选项:

 i)   Spring version :Spring 2

 ii)   MyEclipse Libraries

 iii)   JAR Library Installation里面,选择 Copy checked ….

  4 点击下一步,出现如下界面:

     点击Finish

   5 鼠标右击工程->Add Hibernate Capabilities,出现如下界面:

       做如上图显示的选择,点击 Next ,进入如下界面:

6          选择 Spring configuration file,点击 Next

7          选择 Existing Spring configuration file, SessionFactory ID后面的输入框输入session工厂名称,可以自己起名.我们这里输入sessionFactory. 点击 Next,进入下面界面

8          Bean Id后面输入数据源的id,可以自己定义,我们这里输入 dataSource..DB Driver里面,选择我们在前面配置的数据源,点击 Next ,进入下面界面:

9          java package中输入Hibernate Session Factory类的包名,如果没有,可以点New生成一个新的包路径.Class Name后面,输入即将生成的Hibernate Session Factory的类名,我们这是HibernateSessionFactory.选择Java5做为我们编译的JDK

Finish 完成

 

   到这里,我们完成了Struts+Spring+Hibernate的框架搭建,还有最后一步,因为同过MyEclipse加入的Spring liberaryHibernate3liberary有冲突,要解决这问题,需要将工程web目录立马,lib目录下(WebRoot/WEB-INF/lib)jar文件都删除,数据库驱动程序除外,然后用将光盘里整理的jar文件copy进去.copyjar文件,就完成了框架的所有搭建.

   接下来,我们介绍怎么样在这框架的基础上,开发我们简单的Web应用:TUser表中,将用户记录读出来,显示在userList界面上.

   编写的过程大体如下:

   i) 编写Struts中的userListFormuserListAction

   ii) 编写显示用户列表的userList.jsp

   iii) MyEclipse生成TUser表对应的pojo对象TUserTUsertuser的映射xml文件

   iv) 配置strutsspring对应的配置文件

  

  如下是各步的详细过程:

1 编写Struts中的FormAction

  1) 打开struts-config.xml的图形设计界面

  2) 在图形设计界面上,点击鼠标右击,选择New功能,出来如下界面

  i) User case后面输入userList

  ii) Supperclass的下拉框中,选择org.apache.struts.action.ActionForm

  iii) 点击 Finish 按钮

  iv) 编辑生成的UserListForm.java代码,在里面添加一个属性userList,用来将从数据库中取出的用户记录,并编写对应的setget方法,代码详细如下:

     UserListForm.java

    

/*

 * Generated by MyEclipse Struts

 * Template path: templates/java/JavaClass.vtl

 */

package cn.com.book.demo.struts.form;

 

import java.util.List;

 

import javax.servlet.http.HttpServletRequest;

 

import org.apache.struts.action.ActionErrors;

import org.apache.struts.action.ActionForm;

import org.apache.struts.action.ActionMapping;

 

/**

 * MyEclipse Struts

 * Creation date: 11-27-2007

 *

 * XDoclet definition:

 * @struts.form name="userListForm"

 */

public class UserListForm extends ActionForm {

         private List userList;

         /*

          * Generated Methods

          */

 

         public List getUserList() {

              return userList;

         }

 

         public void setUserList(List userList) {

              this.userList = userList;

         }

 

         /**

          * Method validate

          * @param mapping

          * @param request

          * @return ActionErrors

          */

         public ActionErrors validate(ActionMapping mapping,

                     HttpServletRequest request) {

              // TODO Auto-generated method stub

              return null;

         }

 

         /**

          * Method reset

          * @param mapping

          * @param request

          */

         public void reset(ActionMapping mapping, HttpServletRequest request) {

              // TODO Auto-generated method stub

         }

}

  3) 打开Struts-config.xml图形设计界面,右击鼠标->New->Action,出现如下界面

     i) User case后面输入userList

     ii) 选择Optional Detail里面的Form标签,Browse,选择上一步生成的userListForm

     iii) 取消Validate Form前面的复选框

     iv) 点击 Finish 按钮

2 编写userList.jsp

  <%@ page language="java" pageEncoding="UTF-8"%>

 

<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>

<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>

<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>

<%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>Insert title here</title>

</head>

<body>

<html:form action="/userList.do">

   <table>

      <tr>

        <td>用户名</td><td>姓名</td><td>邮件地址</td>

      </tr>

      <logic:notEmpty name="userListForm" property="userList">

         <logic:iterate id="user" name="userListForm" property="userList">

          <tr>

            <td><bean:write name="user" property="userName"/></td>

            <td><bean:write name="user" property="name"/></td>

            <td><bean:write name="user" property="email"/></td>

          </tr>

         </logic:iterate>

      </logic:notEmpty>

   </table>

</html:form>

</body>

</html>

3 生成TUser对象,以及TUser对象同tuser表的xm映射文件

  1) Window->Open Perspective->MyEclipse Hibernate

  2) 用鼠标右击DB Browser中的DemoMySQL,Open Connection

  3) 展开里面的Table节点

  4) 右击里面的t_user->Hibernate Reverse Engineering,出现如下界面,并做如下界面上的选择

  5) 点击 Next ,进入如下界面

i) 选择ID Generator后面的 increment

ii) 点击 Finish 按钮

4 配置strutsspring的配置文件

  1) 编辑UserListAction.java文件,注意粗体部分

/*

 * Generated by MyEclipse Struts

 * Template path: templates/java/JavaClass.vtl

 */

package cn.com.book.demo.struts.action;

 

import java.util.List;

 

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

 

import org.apache.struts.action.ActionForm;

import org.apache.struts.action.ActionForward;

import org.apache.struts.action.ActionMapping;

import org.springframework.web.struts.ActionSupport;

 

import cn.com.book.demo.hibernate.dao.TUserDAO;

import cn.com.book.demo.struts.form.UserListForm;

 

/**

 * MyEclipse Struts

 * Creation date: 11-27-2007

 *

 * XDoclet definition:

 * @struts.action path="/userList" name="userListForm" scope="request"

 */

public class UserListAction extends ActionSupport {

       /*

        * Generated Methods

        */

 

       /**

        * Method execute

        * @param mapping

        * @param form

        * @param request

        * @param response

        * @return ActionForward

        */

       public ActionForward execute(ActionMapping mapping, ActionForm form,

                     HttpServletRequest request, HttpServletResponse response) {

              String path = "success";

              UserListForm userListForm = (UserListForm) form;// TODO Auto-generated method stub

              TUserDAO userDAO =

TUserDAO.getFromApplicationContext(this.getWebApplicationContext());

              List userList = userDAO.findAll();

              userListForm.setUserList(userList);

              return mapping.findForward(path);

       }

}

  2) 编辑struts-config.xml,注意粗体部分

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">

 

<struts-config>

  <data-sources />

  <form-beans >

    <form-bean name="userListForm" type="cn.com.book.demo.struts.form.UserListForm" />

 

  </form-beans>

 

  <global-exceptions />

  <global-forwards />

  <action-mappings >

    <action

      attribute="userListForm"

      name="userListForm"

      path="/userList"

      input="/userList.jsp"

      scope="request"

      type="cn.com.book.demo.struts.action.UserListAction"

      validate="false">

      <forward name="success" path="/userList.jsp" />

    </action>

  </action-mappings>

  <message-resources parameter="cn.com.book.demo.struts.ApplicationResources" />

    <plug-in

    className="org.springframework.web.struts.ContextLoaderPlugIn">

       <set-property property="contextConfigLocation"

           value="/WEB-INF/classes/applicationContext.xml" />

    </plug-in>

</struts-config>

 

 

  3)另外还有一个Spring Beans的配置文件applicationContext.xml,不用做修改,内容如下:

<?xml version="1.0" encoding="UTF-8"?>

<beans

    xmlns="http://www.springframework.org/schema/beans"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">

 

 

    <bean id="dataSource"

       class="org.apache.commons.dbcp.BasicDataSource">

       <property name="driverClassName"

           value="com.mysql.jdbc.Driver">

       </property>

       <property name="url" value="jdbc:mysql://localhost:3306/book"></property>

       <property name="username" value="root"></property>

       <property name="password" value="yyaccp"></property>

    </bean>

    <bean id="sessionFactory"

    class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

       <property name="dataSource">

           <ref bean="dataSource" />

       </property>

       <property name="hibernateProperties">

           <props>

              <prop key="hibernate.dialect">

                  org.hibernate.dialect.MySQLDialect

              </prop>

           </props>

       </property>

    </bean>

    <bean id="TUserDAO"

       class="cn.com.book.demo.hibernate.dao.TUserDAO">

       <property name="sessionFactory">

           <ref bean="sessionFactory" />

       </property>

    </bean></beans>

 

到这里 , 我们的第一基于 Struts+Spring+Hibernate 的例子完成了 .
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值