MyEclipse+struts+Hibernate配置開發

這個手冊只是爲初學者製作的環境配置和快速開發的一些基本方法,爲的是廣大愛好者能快速上手,少走我走過的彎路,裏面沒有任何關於java模式和其他相關的說明。本人水平有限,也沒有能力去討論關於模式設計和開發細節的一些內容。

  建議:

  如果你還不清楚strutshibernate的一些基本原理,希望能先去了解一下這方面的相關內容。

  推薦:

  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.1http://www.eclipse.org
  myeclipse4.0.3 http://www.myeclipseide.com
  tomcat5.5

  安裝:

  關於tomcatmysql的安裝就不多說了,需要注意的是最好保證你的 jdk1.5的版本,並配置好你的環境變量,不然可能會遇到一些問題。

  把eclipse解開,再去安裝剛下載的myeclipse,在安裝的時候需要把路徑指定到剛纔解開的eclipse上,由於myeclipse是個收費軟件,所以需要註冊。不過一般按照Chinese的習慣,去google一個註冊碼就可以了:}

  開發環境部署:

  好了,現在保證你的mysqltomcat服務能夠正常啓動,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就爲你建立了數據庫的連接池。

  下面我們再選擇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="
提交" οnclick="return check ();"/><html:reset value="重置
"></html:reset></td>
       </tr>
 </html:form>
   </table>
 </center>
 </body>

</html:html>

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


  配置好myeclipsetomcat的連接。在window->Preferences做如下設定:

  在項目文件點右鍵->myeclipse”->Add and remove project deployment”,如下圖:

  好了,我們的配置工作基本結束了,myeclipse上開啓tomcat服務

  現在打開瀏覽器,輸入

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

 

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章