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就為你建立了數據庫的連接池。
下面我們再選擇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> </p>
<p> </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頁面了!
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
