<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    鷹翔宇空

    學(xué)習(xí)和生活

    BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
      110 Posts :: 141 Stories :: 315 Comments :: 1 Trackbacks

    原文引自:http://dev.yesky.com/39/2239039.shtml

    說明:

      這個(gè)手冊只是為初學(xué)者制作的環(huán)境配置和快速開發(fā)的一些基本方法,為的是廣大愛好者能快速上手,少走我走過的彎路,里面沒有任何關(guān)于java模式和其他相關(guān)的說明。本人水平有限,也沒有能力去討論關(guān)于模式設(shè)計(jì)和開發(fā)細(xì)節(jié)的一些內(nèi)容。

      建議:

      如果你還不清楚struts和hibernate的一些基本原理,希望能先去了解一下這方面的相關(guān)內(nèi)容。

      推薦:

      Hibernate中文手冊》作者認(rèn)為要學(xué)Hibernate看這個(gè)就足夠了,里面幾乎包括了所有的細(xì)節(jié),不過可能不太適合快速入門。

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

      關(guān)于struts的資料就很多了,這里推薦一個(gè)可以下載一些入門教程的網(wǎng)站。

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

      強(qiáng)烈建議入門的朋友先了解一下基本的原理!否則本文可能對你沒有任何幫助。

      相關(guān)工具下載:(注意版本)

      mysql5.0 http://www.mysql.org
      eclipse 3.1.1 http://www.eclipse.org
      myeclipse4.0.3 http://www.myeclipseide.com
      tomcat5.5

      安裝:

      關(guān)于tomcat和mysql的安裝就不多說了,需要注意的是最好保證你的 jdk是1.5的版本,并配置好你的環(huán)境變量,不然可能會遇到一些問題。

      把eclipse解開,再去安裝剛下載的myeclipse,在安裝的時(shí)候需要把路徑指定到剛才解開的eclipse上,由于myeclipse是個(gè)收費(fèi)軟件,所以需要注冊。不過一般按照Chinese的習(xí)慣,去google一個(gè)注冊碼就可以了:}

      開發(fā)環(huán)境部署:

      好了,現(xiàn)在保證你的mysql和tomcat服務(wù)能夠正常啟動(dòng),myeclipse能夠正常打開(如果不能,可以去找一下相關(guān)的說明或者給作者留言)。下面我們就要開始真正的開始部署一個(gè)傳說中的tomcat+struts+hibernate+mysql結(jié)構(gòu)的工程了!(faint!前言就寫的我好累)

      首先,在myeclipse里新建一個(gè)工程。在左邊的Package Exporler面版里點(diǎn)右鍵選擇new->project…

      在跳出菜單里選擇MyEclipse->J2EE Projects->Web Project。

      點(diǎn)擊next后進(jìn)入如下畫面:


      工程名為:test

      結(jié)束后點(diǎn)擊Finish。

      好了,如果成功的話你就會在 Package Exporler里看到一個(gè)新的test工程!現(xiàn)在我們先配置一下數(shù)據(jù)庫方面的東西。首先在你的mysql 里建立一個(gè)數(shù)據(jù)庫webases,再在里面新建一個(gè)表admin,里面三個(gè)字段分別為id,name,password其中id為自動(dòng)取值的主鍵(mysql具體的操作可以自己找資料,不是本文涉及范圍)。

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

      可以看到現(xiàn)在跳出一個(gè)名為Select Perspective的菜單,在里面選中MyEclipse Databases Exporler,可以看到現(xiàn)在到了下面的頁面。

      按以上圖示輸入相關(guān)字段后點(diǎn)擊Finish便建立了一個(gè)數(shù)據(jù)庫連接,在新出現(xiàn)的JDBC for Mysql上點(diǎn)右鍵,選擇Open connection…,確認(rèn)用戶名和密碼正確后點(diǎn)OK,如果一切順利的話你會看到下面的畫面:

      這說明你已經(jīng)和數(shù)據(jù)庫建立了正確的連接。現(xiàn)在我們再回到window->Open Perspective- >Other…里的MyEclipse,也就是我們剛進(jìn)來的時(shí)候看到的畫面。

      右鍵點(diǎn)擊你剛建立的工程 test并選擇MyEclipse->Add struts Capabilities…在跳出的菜單里按照如下輸入并確定:

      好了,現(xiàn)在你已經(jīng)為你的工程增加了struts,接下來和上面一樣在右鍵工程后選擇MyEclipse- >Add Hibernate Capabilities…一路確定下來為你的工程添加Hibernate。(為方便起見我們在選擇路徑時(shí)把HibernateSessionFactory.java放在了src/com下面,其實(shí)最好建立個(gè)單獨(dú)的目錄如 src/com/hibernate)

      為了更好的演示我們不建立通常的登陸頁面而是建立個(gè)注冊頁面。選擇 src目錄下的hibernate.cfg.xml文件。照如下填寫并保存。這樣hibernate就為你建立了數(shù)據(jù)庫的連接池。

      下面我們再選擇WebRoot/WEB-INF/struts-config.xml文件,在畫面中點(diǎn)擊右鍵選擇new- >Form, Action and JSP。如下填寫

      再選擇JSP選項(xiàng),如下

      最后選擇Finish。

      再新建一個(gè)一個(gè)success.jsp的頁面,

      在剛才struts- config.xml文件里右鍵選擇addAdmin選擇Properties,在菜單里選擇Forwords,再點(diǎn)add,如下圖填寫

      最后你的struts-config.xml就是下面這個(gè)樣子:


      下面我們轉(zhuǎn)到hibernate。換到剛才我們建立數(shù)據(jù)庫的頁面,選擇你的admin的表點(diǎn)右鍵選擇Create Hibernate Mapping。選擇好打包路徑后選擇Finish。如圖:

      在你剛才選擇的路徑下(我為方便是src/com/yourcompanyname/)下新建立的文件 AdminDAOFactory.java文件并輸入以下內(nèi)容:

    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添加(其中如果有錯(cuò)誤選中好按ctrl+shift+o自動(dòng)添加包)

    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,修改(如果有錯(cuò)誤按照上面說的方法導(dǎo)入包)
    ?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在這里面添加錯(cuò)誤信息:

    Form.addAdmin.err.name=err

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

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

    <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的標(biāo)簽中使用javascript的方法。

      配置好myeclipse于tomcat的連接。在window->Preferences做如下設(shè)定:

      在項(xiàng)目文件點(diǎn)右鍵->“myeclipse”->“Add and remove project deployment”,如下圖:

      好了,我們的配置工作基本結(jié)束了,在myeclipse上開啟tomcat服務(wù)

      現(xiàn)在打開瀏覽器,輸入

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

    posted on 2006-05-10 11:03 TrampEagle 閱讀(422) 評論(0)  編輯  收藏 所屬分類: webIDE
    主站蜘蛛池模板: 亚洲成人网在线播放| 亚洲av永久中文无码精品| 波多野结衣在线免费视频| 亚洲kkk4444在线观看| 亚洲国产精品成人| 精品无码国产污污污免费网站| 亚洲视频无码高清在线| 爱情岛论坛网亚洲品质自拍| 日本免费网站视频www区| 麻豆91免费视频| 亚洲福利一区二区三区| 亚洲AV无码乱码在线观看| 无码成A毛片免费| 久久人午夜亚洲精品无码区 | 亚洲va国产va天堂va久久| 91免费播放人人爽人人快乐| 午夜成人无码福利免费视频| 亚洲综合区图片小说区| 亚洲一区二区视频在线观看| 免费不卡视频一卡二卡| 日韩精品无码免费专区网站| 在线综合亚洲欧洲综合网站| 亚洲av日韩av不卡在线观看| 亚洲精品人成无码中文毛片| 成人免费a级毛片| 亚在线观看免费视频入口| 农村寡妇一级毛片免费看视频| 91午夜精品亚洲一区二区三区| 国产精品亚洲成在人线| 四虎永久在线精品免费观看地址 | 四虎影视永久免费观看| 国产一卡二卡四卡免费| 一区二区三区无码视频免费福利| 国产亚洲精品美女| 亚洲高清中文字幕免费| 亚洲无圣光一区二区| 亚洲美女又黄又爽在线观看| 免费久久精品国产片香蕉| 性一交一乱一视频免费看| 青青青国产在线观看免费网站| 青青青国产手机频在线免费观看|