`
dananhai
  • 浏览: 91585 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

转 myspring下的struts和hibernate配置

    博客分类:
  • java
阅读更多
MyEclipse+struts+Hibernate配置开发2005-12-18 10:31 作者: CoderGuo 出处: sina博客 责任编辑:方舟   说明:

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


  建议:

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

  推荐:

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

  地址:[url]http://www.hibernate.org/hib_docs/v3/reference/zh- cn/html_single/[/url]
  关于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页面了!

分享到:
评论

相关推荐

    图书管理系统(struts+hibernate+spring)105毕业设计—(包含完整源码可运行).rar

    通常,一个SSH项目会包含以下几个主要部分:Web-INF下的web.xml(配置Struts和Spring),src下的实体类(对应Hibernate的映射),以及相关的DAO和服务接口及其实现。 6. **运行与调试**: 拥有完整源码的图书管理...

    MySpring笔记

    MySpring容器负责创建、配置和管理Bean。Bean可以通过XML配置文件、注解或Java配置类进行定义。Bean的生命周期包括初始化、使用和销毁,MySpring提供了多种生命周期回调方法,如`@PostConstruct`和`@PreDestroy`。 ...

    spring+hibernate annotaion

    在这个项目中,"myspring"可能是一个包含Spring配置和相关代码的文件或目录。这个文件可能包含了Spring的配置文件(如`applicationContext.xml`),其中定义了DataSource、SessionFactory、事务管理器等组件,以及...

    myspring代售点订票系统

    《 myspring代售点订票系统 》是一个基于Spring框架的项目,主要展示了Spring在实际应用中的核心功能和设计理念。Spring作为Java企业级应用开发的主流框架,它为开发者提供了全面的解决方案,包括依赖注入...

    myspring-boot.rar

    3. **编写自动配置类**:自动配置类是启动器的核心,它使用条件注解(如`@ConditionalOnClass`和`@ConditionalOnBean`)来决定何时启用或禁用某些配置。 4. **发布到Maven仓库**:完成上述步骤后,将项目打包并发布...

    mySpring5Study项目

    mySpring5Study项目

    spring4.1.2、mybatis3.0.5、struts2.3.16.3搭建学习例子

    3. `src/main/resources` - 存放配置文件,如Spring的bean配置文件、MyBatis的Mapper XML文件和Struts2的配置文件。 4. `src/main/webapp` - Web应用目录,包含`WEB-INF`目录下的web.xml,定义了Web应用的部署描述符...

    mySpring-Test.zip

    这个压缩包“mySpring-Test.zip”包含了一个示例项目,用于演示这两个技术的集成和`@UpdateProvider`的使用。 首先,Spring Boot是基于Spring框架的微服务开发工具,它简化了配置过程,提供了自动配置功能,使得...

    myspring.rar

    《深入解析Spring IOC框架——基于“myspring.rar”实践...希望本文的讲解能帮助你更好地理解和运用Spring的IOC功能,如果你对其中的任何环节有疑问,都可以进一步探索“myspring.rar”中的资源,相信你会收获满满。

    myspring.zip

    在“myspring.zip”中,我们可以看到如何通过XML配置文件或者Java配置类来定义bean及其依赖关系。例如,一个名为"UserService"的bean可能依赖于"UserDao",在XML配置文件中,我们可以通过`&lt;bean&gt;`标签声明这两个bean...

    00-myspring.war

    初始化阶段:重写Servlet的init方法,实现加载配置文件,读取配置信息, 扫描所有相关的类, 初始化相关类的实例并保存到IOC容器, 从IOC容器取出对应的实例给字段赋值,即依赖注入, 最后将url和Method进行关联。...

    MySpring案例

    模仿Spring实现自己的简单的框架。 关联博文:https://blog.csdn.net/qq_40977710/article/details/111659599 代码内容主要来自中国大学MOOC平台上陈良育老师讲的Java核心编程高阶实战案例:MySpring。

    Spring下载与配置.pdf

    首先,将这两个库的目录移动到`myspring/lib`下,然后创建一个日志配置文件`log4j.properties`,放置在`src`目录下,定义日志级别和输出格式。例如: ``` log4j.rootLogger=DEBUG, stdout log4j.appender.stdout=...

    zdy_mySpring_Ioc_Aop.zip

    XML配置是最传统的形式,而注解配置和Java配置则更加简洁和直观。 4. **自动装配**:Spring的@Autowired注解允许自动装配Bean,根据类型或名称找到依赖,减少了显式配置的工作量。 5. **作用**:IoC使得代码更加松...

    myspring:基于spring源码实现一个简易的spring

    8. **数据访问集成**: 包括JDBC模板、ORM支持(如Hibernate、MyBatis),"myspring"可能会简化数据访问层的实现。 9. **Spring MVC**: 如果"myspring"包含了Web部分,那么它可能实现了类似于Spring MVC的控制器模型...

    Spring下载与配置[整理].pdf

    3. 创建一个`log4j.properties`配置文件,位于`src`目录下,定义日志输出的格式和级别。例如: ``` log4j.rootLogger=DEBUG, stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout...

    MySpring:通过学习Tom来实现Spring的简单演示

    6. **数据访问集成**:Spring提供了JDBC抽象层,简化了数据库操作,并且支持多种ORM(Object-Relational Mapping)框架,如Hibernate和MyBatis。 7. **MVC框架**:Spring MVC是Spring提供的Web应用程序开发框架,它...

    MySpring:阅读Spring原始记录

    "MySpring:阅读Spring原始记录"这个项目,旨在通过深度解读Spring的源码,帮助开发者更深入地理解Spring的工作原理,从而提升开发效率和代码质量。 首先,Spring的核心是依赖注入(Dependency Injection,DI)。...

    myspring5webapp

    2. **Spring Boot**:Spring Boot简化了Spring应用程序的初始设置和配置,使得开发者能够快速创建独立运行的、生产级别的应用。myspring5webapp可能使用了Spring Boot来初始化项目并自动化配置。 3. **Spring MVC**...

Global site tag (gtag.js) - Google Analytics