风之语

posts(201) comments(182) trackbacks(1)
  • BlogJava
  • 联系
  • RSS 2.0 Feed 聚合
  • 管理

常用链接

  • 我的随笔
  • 我的评论
  • 我的参与
  • 最新评论

留言簿

  • 给我留言
  • 查看公开留言
  • 查看私人留言

随笔分类

  • ajax(1)
  • android(1)
  • apache(1)
  • AppFuse(1)
  • BIRT(1)
  • iText(1)
  • JSF(8)
  • kettle(1)
  • linux(5)
  • mac(1)
  • maven(1)
  • MSTR(3)
  • Open XML(1)
  • Oracle(21)
  • RCP
  • Struts(2)
  • Struts2(2)
  • SybaseIQ(6)
  • tapestry
  • tomcat(2)
  • weblogic(1)
  • webservice(1)
  • weka(1)
  • 云计算(1)
  • 收藏(31)
  • 数据仓库(11)
  • 架构设计(3)
  • 生活(2)
  • 集群(1)
  • 项目管理(6)

随笔档案

  • 2012年12月 (4)
  • 2012年11月 (1)
  • 2012年7月 (2)
  • 2011年8月 (1)
  • 2011年7月 (1)
  • 2011年3月 (1)
  • 2010年12月 (2)
  • 2010年11月 (4)
  • 2010年10月 (3)
  • 2010年9月 (5)
  • 2010年8月 (1)
  • 2010年7月 (4)
  • 2010年3月 (1)
  • 2010年2月 (3)
  • 2009年12月 (3)
  • 2009年11月 (4)
  • 2009年9月 (3)
  • 2009年6月 (5)
  • 2009年5月 (3)
  • 2009年4月 (2)
  • 2009年3月 (5)
  • 2009年2月 (4)
  • 2009年1月 (2)
  • 2008年11月 (2)
  • 2008年9月 (1)
  • 2008年7月 (2)
  • 2008年6月 (4)
  • 2008年5月 (6)
  • 2008年4月 (1)
  • 2008年3月 (1)
  • 2007年12月 (2)
  • 2007年11月 (5)
  • 2007年10月 (2)
  • 2007年9月 (3)
  • 2007年8月 (3)
  • 2007年4月 (1)
  • 2007年3月 (2)
  • 2007年2月 (2)
  • 2007年1月 (2)
  • 2006年12月 (3)
  • 2006年8月 (2)
  • 2006年7月 (2)
  • 2006年6月 (2)
  • 2006年4月 (2)
  • 2006年3月 (1)
  • 2006年2月 (3)
  • 2006年1月 (6)
  • 2005年12月 (6)
  • 2005年11月 (4)
  • 2005年10月 (17)
  • 2005年9月 (25)
  • 2005年8月 (16)
  • 2005年7月 (8)

相册

  • 技术图片

收藏夹

  • java

link

My wife

  • My wife's blog

最新随笔

  • 1. apache修改最大连接并用ab网站压力测试
  • 2. Vm虚拟机访问本地硬盘文件
  • 3. NFS文件无法写入的权限问题
  • 4. weblogic设置上传文件访问权限
  • 5. 在android上动态实现ichartjs的3D柱形图
  • 6. 使用Oracle trunc 来指定精确的年月日时分秒
  • 7. Quartz 2.1.5 web应用配置
  • 8. LoginAny 使用笔记
  • 9. MyEclipse 无响应的几种解决办法
  • 10. java.sql.SQLException: No more data to read from socket

搜索

  •  

积分与排名

  • 积分 - 401219
  • 排名 - 139

最新评论

  • 1. re: 使用Oracle trunc 来指定精确的年月日时分秒[未登录]
  • 政治
  • --张三
  • 2. re: 干掉流氓软件vrvrf_c.exe,vrvedp_m.exe[未登录]
  • `
  • --1
  • 3. re: 无需刻录DMG光盘,教你在VMWare下安装MAC OS X Snow Leopard 10.6
  • 我走到了换DMG映像的时候,然后就没有反应了,这个是什么情况,是不是我的映像文件有问题,还是。。。。
  • --玉竹常青
  • 4. re: LoginAny 使用笔记
  • 怎么没一个人留言,现在来是不是在挖坟啊
  • --ellipse
  • 5. MSTR web应用的部署[未登录]
  • 请问,如何用oracle Application Server服务器部署mstr web应用?
  • --rocky

阅读排行榜

评论排行榜

View Post

MyEclipse+struts+Hibernate配置开发手册

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

&nb sp;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>&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服务

posted on 2005-12-23 18:56 风 阅读(2522) 评论(2)  编辑  收藏 所属分类: 收藏

View Comments

# re: MyEclipse+struts+Hibernate配置开发手册  回复  更多评论   
你写得太好啊!!!!!!!!
感谢你
2005-12-24 21:23 | microsmall
# re: MyEclipse+struts+Hibernate配置开发手册  回复  更多评论   
我的mysql怎么连不上啊,能帮我解决一下吗
2005-12-29 10:46 | dingo
新用户注册  刷新评论列表  

只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问   管理
相关文章:
  • LoginAny 使用笔记
  • 资源管理器搜索包含文字的文件找不到的解决方法
  • xp下删除windows7,无法删除windows7文件夹,无法删除windows7文件,双系统卸载,取得文件权限
  • 利用windows系统ftp命令编写的BAT文件上传[转]
  • jxl操作excel例子(转)
  • I18N-国际化消息和日志
  • 使用 AppFuse 的七个理由
  • Office (2007) Open XML 文件格式简介
  • [转]Reporting Services与相关产品的比较
  • 自定义file类型input框样式的方法
 
 
Powered by:
BlogJava
Copyright © 风