MyEclipse+Struts+Hibernate环境配置与开发

    请先了解struts和hibernate的一些基本原理,Hibernate中文手册:http://www.hibernate.org/hib_docs/reference/zh-cn/html_single/ Struts官方网站:http://struts.apache.org

    强烈建议初学者先去了解其相关知识,否则本文对你没有任何帮助!相关工具下载(注意版本):

    mysql5.0 http://www.mysql.org/
    eclipse 3.1.1 http://www.eclipse.org/
    myeclipse4.0.3 http://www.myeclipseide.com/
    tomcat5.5 http://tomcat.apache.org/tomcat-5.5-doc/index.html

    关于mysql和tomcat的安装在此不多说,请参考有关文档;先把eclipse解压,再去安装刚下载的myeclipse,在安装的时候需要把路径指定到刚才解开的eclipse上。下面我们就要开始真正的开始MyEclipse+Struts+Hibernate环境配置与开发了。

    一、在myeclipse中建立工程test:

    首先,在myeclipse里新建一个工程。在左边的Package Exporler面版里点右键选择new->project…在跳出菜单里选择MyEclipse->J2EE Projects->Web Project;点击next后进入如下画面:

    工程名为:test;结束后点击Finish。好了,如果成功的话你就会在 Package Exporler里看到一个新的test工程!

    二、配置mysql:

    首先在你的mysql 里建立一个数据库webases,再在里面新建一个表admin,里面三个字段分别为id,name,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,也就是我们刚进来的时候看到的画面。

    三、配置Struts和Hibernate:

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

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

附注:
    (1) 如果将HibernateSessionFactory.java放在src/com下面,则在AdminDAOFactory和AddAdminForm类中导入import com.HibernateSessionFactory; 并将这两个类中用到SessionFactory的地方用HibernateSessionFactory代替。

     (2) 如果取名SessionFactory.java并将其放在包src/com.hibernate下面,则在AdminDAOFactory和AddAdminForm类中导入import com.hibernate.SessionFactory; 

     (3) 为了消除那些警告信息,在Admin和AddAdminForm类中加入初始化语句:private static final long serialVersionUID = 1L;

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

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

 再选择JSP选项,如下

 最后选择Finish。

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

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

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


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

    四、编辑Bean和JSP页面:

    在你刚才选择的路径下(我为方便是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="http://jakarta.apache.org/struts/tags-bean" prefix="bean"%>
<%@ taglib uri=http://jakarta.apache.org/struts/tags-html prefix="html"%>

<script language = "javascript">
<!--
function check(){
 if (loginForm.userName.value == "" || loginForm.password.value == ""){
  alert("请输入完整的信息!");
  loginForm.userName.focus();
  return false;
 }
}
//-->
</script>
 
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html:html>
  <head>
    <html:base />
   
    <title>login.jsp</title>
    <link href="css/webcss.css" rel="stylesheet" type="text/css">
   
    <meta http-equiv="pragma" content="no- cache">
    <meta http-equiv="cache-control" content="no- cache">
    <meta http-equiv="expires" content="0">   
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http- equiv="description" content="This is my page">
  </head>
 

  <body>
  <center>
   <p>&nbsp;</p>
   <p>&nbsp;</p>
   <table width="300" border="0" cellpadding="0" cellspacing="0">
   <html:form action="/addAdmin" focus="name" method="GET">
     <tr align="center" valign="middle">
       <td colspan="2" class="typt_normal">新增管理员</td>
     </tr>
     <tr>
       <td width="100" align="center" valign="middle" class="typt_normal">名称: </td>
       <td width="200" align="left"><html:text property="name" styleClass="text_s"/><html:errors property="addAdmin.err.name"/></td>
     </tr>
     <tr>
       <td width="100" align="center" valign="middle" class="typt_normal">密码: </td>
       <td width="200" align="left"><html:password property="password" styleClass="text_s"/></td>
     </tr>
     <tr> 
       <td colspan="2" align="center" valign="middle"><html:submit value="提交" οnclick="return check ();"/><html:reset value="重置"></html:reset></td>
       </tr>
 </html:form>
   </table>
 </center>
 </body>

</html:html>

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

    五、配置Tomcat:

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

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

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

 现在打开浏览器,输入

 http://localhost:8080/test/addAdmin.jsp就可以看到你的jsp页面了!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值