• MyEclipse+struts+Hibernate配置开发

    普通
    • 说明

    这个手册只是为初学者制作的环境配置和快速开发的一些基本方法,为的是广大爱好者能快速上手,少走我走过的弯路,里面没有任何关于java模式和其他相关的说明。本人水平有限,也没有能力去讨论关于模式设计和开发细节的一些内容。

    • 建议

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

    • 推荐

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

      地址:http://www.hibernate.org/hib_docs/v3/reference/zh- cn/html_single/ 

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

      地址:http://www.wnetw.com/jclub/index.jsp 

      强烈建议入门的朋友先了解一下基本的原理!否则本文可能对你没有任何帮助。 
      相关工具下载:(注意版本) 

      mysql5.0 http://www.mysql.org 
      eclipse 3.1.1 http://www.eclipse.org 
      myeclipse4.0.3 http://www.myeclipseide.com 
      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,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,也就是我们刚进来的时候看到的画面。 

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

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

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

     

    • 开发环境部署2

           下面我们再选择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。如图:

        在你刚才选择的路径下(我为方便是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="提交" onclick="return check ();"/><html:reset value="重置"></html:reset></td> 
    </tr> 
    </html:form> 
    </table> 
    </center> 
    </body> 
    </html:html> 

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

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

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

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

        

    现在打开浏览器,输入 

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

    • 标签:
    • 内容
    • 方法
    • 手册
  • 学习元评论 (0条)

    评论为空
    聪明如你,不妨在这 发表你的看法与心得 ~

    登录之后可以发表学习元评论
      
顶部