Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1967205
  • 博文数量: 606
  • 博客积分: 9991
  • 博客等级: 中将
  • 技术积分: 5725
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-17 19:07
文章分类

全部博文(606)

文章存档

2011年(10)

2010年(67)

2009年(155)

2008年(386)

分类:

2008-07-19 22:50:35

建议:

   如果你还不清楚 struts 和 hibernate 的一些基本原理,希望能先去了解一下这方面的相关内容。

  推荐:

   《 Hibernate 中文手册》作者认为要学 Hibernate 看这个就足够了,里面几乎包括了所有的细节,不过可能不太适合快速入门。

   地址:

   关于 struts 的资料就很多了,这里推荐一个可以下载一些入门教程的网站。

   地址:

   强烈建议入门的朋友先了解一下基本的原理!否则本文可能对你没有任何帮助。

  相关工具下载:(注意版本)

mysql5.0
eclipse 3.1.1
myeclipse4.0.3
tomcat5.5

  安装:

   关于 tomcat 和 mysql 的安装就不多说了,需要注意的是最好保证你的 jdk 是 1.5 的版本,并配置好你的环境变量,不然可能会遇到一些问题。

   把 eclipse 解开,再去安装刚下载的 myeclipse ,在安装的时候需要把路径指定到刚才解开的 eclipse 上,由于 myeclipse 是个收费软件,所以需要注册。不过一般按照 Chinese 的习惯,去 google 一个注册码就可以了 :}

  开发环境部署:

   好了,现在保证你的 mysql 和 tomcat 服务能够正常启动, myeclipse 能够正常打开(如果不能,可以去找一下相关的说明或者给作者留言)。下面我们就要开始真正的开始部署一个传说中的 tomcat+struts+hibernate+mysql 结构的工程了!( faint! 前言就写的我好累)

   首先,在 myeclipse 里新建一个工程。在左边的 Package Exporler 面版里点右键选择 new->project…

   在跳出菜单里选择 MyEclipse->J2EE Projects->Web Project 。

   点击 next 后进入如下画面:


   工程名为: test

   结束后点击 Finish 。

   好了,如果成功的话你就会在 Package Exporler 里看到一个新的 test 工程!现在我们先配置一下数据库方面的东西。首先在你的 mysql 里建立一个数据库 webases ,再在里面新建一个表 admin ,里面三个字段分别为 id, ,password 其中 id 为自动取值的主键( mysql 具体的操作可以自己找资料,不是本文涉及范围)。

   再回到 myeclipse ,选中 window->Open Perspective->Other…

   可以看到现在跳出一个名为 Select Perspective 的菜单,在里面选中 MyEclipse Databases Exporler ,可以看到现在到了下面的页面。

  按以上图示输入相关字段后点击 Finish 便建立了一个数据库连接,在新出现的 JDBC for Mysql 上点右键,选择 Open connection… ,确认用户名和密码正确后点 OK ,如果一切顺利的话你会看到下面的画面:

  这说明你已经和数据库建立了正确的连接。现在我们再回到 window->Open Perspective- >Other… 里的 MyEclipse ,也就是我们刚进来的时候看到的画面。

   右键点击你刚建立的工程 test 并选择 MyEclipse->Add struts Capabilities… 在跳出的菜单里按照如下输入并确定:

  好了,现在你已经为你的工程增加了 struts ,接下来和上面一样在右键工程后选择 MyEclipse- >Add Hibernate Capabilities… 一路确定下来为你的工程添加 Hibernate 。(为方便起见我们在选择路径时把 HibernateSessionFactory.java 放在了 src/com 下面,其实最好建立个单独的目录如 src/com/hibernate )

   为了更好的演示我们不建立通常的登陆页面而是建立个注册页面。选择 src 目录下的 hibernate.cfg.xml 文件。照如下填写并保存。这样 hibernate 就为你建立了数据库的连接池。

  下面我们再选择 WebRoot/WEB-INF/struts-config.xml 文件,在画面中点击右键选择 new- >Form, Action and JSP 。如下填写

  再选择 JSP 选项,如下

  最后选择 Finish 。

   再新建一个一个 success.jsp 的页面,

   在刚才 struts- config.xml 文件里右键 ddAdmin 选择 Properties ,在菜单里选择 Forwords ,再点 add ,如下图填写

  最后你的 struts-config.xml 就是下面这个样子:


   下面我们转到 hibernate 。换到刚才我们建立数据库的页面,选择你的 admin 的表点右键选择 Create Hibernate Mapping 。选择好打包路径后选择 Finish 。如图:

  在你刚才选择的路径下(我为方便是 src/com/yourcompanyname/ )下新建立的文件 AdminDAOFactory.java 文件并输入以下内容:

package com.yourcompanyname;

import java.util.Iterator;

import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;

import com.hibernate.SessionFactory;

public class AdminDAOFactory {
Session session;
Transaction tx;
public void add(Admin admin) throws HibernateException {
   /**
   * Creation Date: 11-17-2005
   * TODO Add a new admin user.
   * @param An object of Admin
   * @return void
   * @author Coder Guo
   */
   try {
    session = SessionFactory.currentSession();
    tx = session.beginTransaction();
    //Add a new admin
    session.save(admin);
    tx.commit ();
   }catch(HibernateException e){
    throw e;
   }finally{
    if (tx!=null) {
     tx.rollback();
    }
    SessionFactory.closeSession();
   }
}
}

再打开 com.yourcompany.struts.action 下的 AddAdminAction.java 添加(其中如果有错误选中好按 ctrl+shift+o 自动添加包)

public class AddAdminAction extends Action {

// --------------------------------------------------------- Instance Variables

// --------------------------------------------------------- Methods

/**
* Method execute
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
* @author Coder Guo
*/
public ActionForward execute(
   ActionMapping mapping,
   ActionForm form,
   HttpServletRequest request,
   HttpServletResponse response) {
   AddAdminForm addAdminForm = (AddAdminForm) form;
  
   // TODO Add a new admin
   Admin admin = new Admin();
   admin.setName(addAdminForm.getName ());
   admin.setPassword(addAdminForm.getPassword ());
   AdminDAOFactory adminDAO = new AdminDAOFactory ();
   adminDAO.add(admin);
  
   return mapping.findForward("success");
}

}

再打开 com.yourcompanyname.struts.form 下的 AddAdminForm.java ,修改(如果有错误按照上面说的方法导入包)
public ActionErrors validate(
   ActionMapping mapping,
   HttpServletRequest request) {

   // TODO Auto-generated method stub
   ActionErrors errors = new ActionErrors();
  
   Session session = SessionFactory.currentSession();
   Transaction tx = session.beginTransaction ();
   Query query = session.createQuery("select admin from Admin as admin where admin.name = '" + this.name + "'");
   Iterator it = query.iterate ();
   if (it.hasNext()){
    errors.add ("addAdmin.err.name",new ActionMessage("form.addAdmin.err.name"));
   }
   tx.commit();
   SessionFactory.closeSession ();
   return errors;
}

public void reset(ActionMapping mapping, HttpServletRequest request) {

   // TODO Auto-generated method stub
   this.name=null;
   this.password=null;
}

  再打开 com\yourcompanyname\struts 下的 ApplicationResource.properties 在这里面添加错误信息:

Form.addAdmin.err.name=err

  最后,(汗,好累啊 -_-! )打开 addAdmin.jsp 修改成如下:

<%@ page contentType="text/html; charset=utf-8"%>
<%@ page language="java"%>
<%@ taglib uri=" " prefix="bean"%>
<%@ taglib uri=" " prefix="html"%>






   
   
    login.jsp
   
   
    < http-equiv="pragma" content="no- cache">
   
       
   
   



 


 




   

     
   
   
     
     
   
   
     
     
   
   
     
     

新增管理员
名称:
密码:




   其中可以看到如何在 struts 的标签中使用 javascript 的方法。

   配置好 myeclipse 于 tomcat 的连接。在 window->Preferences 做如下设定:

  在项目文件点右键- >“myeclipse” - >“Add and remove project deployment” ,如下图:

  好了,我们的配置工作基本结束了 , 在 myeclipse 上开启 tomcat 服务

  现在打开浏览器,输入

就可以看到你的 jsp 页面了!

阅读(336) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~