前期利用毕业实习的时间开发人力资源系统,实现了基本的组织机构管理,包括部门、职务、岗位管理,时间关系没有实现人员信息的各种操作。前端利用ExtJS框架完成同一个页面的所有操作(完全利用JS代码实现),后台本来利用Spring和Hibernate,无奈Spring用的不够熟练且时间不允许,所以改为Struts了。考虑到一部分数据库访问操作逻辑较简单且频率较低,故利用JDBC处理,而其他的则有Hibernate来处理。
以下为系统各部分主干代码,稍后会放出代码供下载:
配置文件:
struts-config.xml
...
<struts-config>
<data-sources />
<form-beans>
<form-bean name="loginForm"
type="com.idealab.struts.form.LoginForm" />
<form-bean name="newCorpForm"
type="com.idealab.struts.form.NewCorpForm" />
<form-bean name="newUserForm"
type="com.idealab.struts.form.NewUserForm">
</form-bean>
</form-beans>
<global-exceptions />
<global-forwards>
<forward name="index" path="/index.jsp"></forward>
</global-forwards>
<action-mappings>
<!-- 登录 -->
<action attribute="loginForm" input="/login.jsp"
name="loginForm" path="/logon" scope="request"
type="com.idealab.struts.action.LoginAction" />
<!-- 新建不同种类(部门,职务,岗位) -->
<action path="/new" scope="request"
type="com.idealab.struts.action.NewAction" />
<!-- 系统初始化中新建用户 -->
<action attribute="newUserForm" name="newUserForm"
path="/newUser" scope="request"
type="com.idealab.struts.action.NewUserAction" />
<!-- 获得公司 -->
<action path="/getCorp" scope="request"
type="com.idealab.struts.action.GetCorpAction" />
<!-- 加载各种类型的树节点 -->
<action path="/getNodes"
type="com.idealab.struts.action.GetNodesAction" />
<!-- 根据树节点Id加载信息到表单中 -->
<action path="/getById"
type="com.idealab.struts.action.GetByIdAction" />
<!-- 更新信息 -->
<action path="/update"
type="com.idealab.struts.action.UpdateAction" />
<!-- 删除 -->
<action path="/delete"
type="com.idealab.struts.action.DeleteAction" />
</action-mappings>
<message-resources
parameter="com.idealab.struts.ApplicationResources" />
</struts-config>
...
hibernate.cfg.xml
...
<session-factory>
<property name="connection.username">root</property>
<property name="connection.url">
jdbc:mysql://localhost:3306/ehr
</property>
<property name="dialect">
org.hibernate.dialect.MySQLDialect
</property>
<property name="myeclipse.connection.profile">
MysqlDriver
</property>
<property name="connection.password">ideal</property>
<property name="connection.driver_class">
com.mysql.jdbc.Driver
</property>
<mapping resource="com/idealab/dao/Sysuser.hbm.xml" />
<mapping resource="com/idealab/dao/Corp.hbm.xml" />
<mapping resource="com/idealab/dao/Emp.hbm.xml" />
<mapping resource="com/idealab/dao/Empdoc.hbm.xml" />
</session-factory>
...
前端主页面JS脚本:
Ext.ns('Ext.mypanels');
Ext.onReady(function() {
Ext.QuickTips.init();
Ext.form.Field.prototype.msgTarget = 'side';
Ext.mypanels.contentPanel = new Ext.TabPanel({
region : 'center',
id : 'tabPanel',
autoDestroy:false,/*处理页签关闭后无法再次打开的问题*/
deferredRender : false,
activeTab : 0,
iconCls : 'tabs',
items : {
title : '主页',
autoScroll : true,
layout : 'table',
layoutConfig : {
columns : 1
},
items : [{
title : '公告信息',
html : '<img src="lib/images/arch_eHR.jpg" width=830 height=450/>'
}]
}
});
/* 导航栏面板定义 */
var navPanel = new Ext.Panel({
region : 'west',
id : 'nav_panel',
name : 'navPanel',
title : '导航栏',
split : true,
border : true,
collapsible : false,
width : 170,
minSize : 170,
maxSize : 170,
layout : 'accordion',
layoutConfig : {
animate : true,
fill : true,
autoWidth : true
},
items : [{
title : '系统管理',
items : [Ext.mypanels.tree.navAdminTree]
}, {
title : '自助操作',
items : [Ext.mypanels.tree.navSelfinfoTree]
}]
});
Ext.mypanels.tree.navAdminTree.on('click', onClickTreeNode);
Ext.mypanels.tree.navSelfinfoTree.on('click', onClickTreeNode);
/* 主面板 */
var viewport = new Ext.Viewport({
layout : 'border',
items : [{
region : 'north',
contentEl : 'header',
split : true, // 可改变框体大小
border : true,
collapsible : true, // 可收缩
height : 72,
minSize : 72,
maxSize : 72
}, {
region : 'south',
contentEl : 'footer',
split : true,
border : true,
collapsible : true,
height : 35,
minSize : 30,
maxSize : 30
}, navPanel, Ext.mypanels.contentPanel]
});
});
/*动态导入js文件*/
function importJS(src) {
/*
* fpath = fpath.replace(/\./g,'\/'); document.write('<script
* type="text/javascript" src="'+ fpath + '.js"></script>');
*/
src=src.replace(/\./g,'\/');
jpath=src+'.js';
var headerDom = document.getElementsByTagName('head').item(0);
var jsDom = document.createElement('script');
jsDom.type = 'text/javascript';
jsDom.src = jpath;
headerDom.appendChild(jsDom);
}
function onClickTreeNode(node) {
if (node.getDepth() > 1) {
importJS('lib.main.'+node.id);
var n = Ext.mypanels.contentPanel.getComponent(node.id);
if (!n) { // 判断是否已经打开该面板
n = Ext.mypanels.contentPanel.add({
'id' : node.id,
'title' : node.text,
contentEl : 'tab_'+node.id,/*各个模块分别在nav_*.js中定义,且每个模块相应的显示在tab_*区域中*/
closable : true,
iconCls : 'tabs'
/*
* autoLoad : { url : 'nodes.jsp?url='+node.id, scope :
* this, scripts : true } //
* 通过autoLoad属性载入目标页,如果要用到脚本,必须加上scripts属性
*/});
}
Ext.mypanels.contentPanel.setActiveTab(n);
}
}
分享到:
相关推荐
这个压缩包文件包含了一个基于J2EE架构的高级项目源码,主要采用了Struts2.0、Hibernate、Spring和ExtJS这四大核心技术。...同时,这也是提升Java EE开发技能,特别是分布式系统设计和实现能力的一个宝贵资源。
"Hibernate+Spring+Struts2+ExtJS整合开发实例"就是一个典型的Java Web应用程序开发案例,它将四个关键组件结合在一起,以实现高效、模块化的后端和前端功能。 **Hibernate** 是一个流行的Java对象关系映射(ORM)...
Struts、Spring、Hibernate和ExtJS是Java Web开发中的四大框架,它们各自专注于应用程序的不同层面,共同构建出高效、模块化的应用系统。 Struts是Apache软件基金会的一个开源项目,主要负责MVC(Model-View-...
在企业级应用开发中,采用MVC架构的项目常常会使用到多种框架来实现不同的业务需求,其中Struts2、Spring、Hibernate以及ExtJS是常见的组合之一。这些框架各司其职,Struts2负责处理Web请求和视图展示,Spring作为...
总的来说,"struts2+spring+hibernate实验设备管理系统"是一个综合运用了三大主流Java框架的实例,它展示了如何通过这些工具构建一个完整的、具备权限管理功能的管理系统。对这个系统的学习和研究,不仅可以加深对...
Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们各自负责不同的职责,共同构建了一个强大的企业级应用体系。而ExtJs则是一款流行的JavaScript库,用于构建富客户端的Web应用。现在,我们将深入探讨这四...
"Extjs3.1+struts2+spring2.5+hibernate3.5环境"是一个经典的Java Web开发组合,每个组件都有其特定的角色和功能。以下是这些技术的详细说明: 1. **ExtJS 3.1**: ExtJS是一款基于JavaScript的前端用户界面(UI)...
5. **MySQL**:MySQL是一款开源的关系型数据库管理系统,广泛应用于Web应用中。它提供了高效、稳定的数据存储和查询能力。在这个实例中,MySQL作为数据存储层,JPA通过连接池与MySQL进行通信,执行SQL语句来完成CRUD...
"ext+Struts2+Spring+Hibernate 树型菜单"是一个典型的Java Web开发框架组合,用于创建具有树状结构的用户界面,通常用于数据的层级展示,比如部门结构、文件目录等。下面将详细解释这些技术和如何协同工作。 **...
Struts2、Spring、Hibernate 和 ExtJS 是Java Web开发中常用的四大框架,它们结合使用能够构建出高效、灵活的企业级应用。在这个“物资管理系统”案例中,这些技术被整合在一起,实现了对物资信息的全面管理。 **...
Struts2、Spring2.5和Hibernate3.2是经典的Java Web开发框架组合,被称为SSH。这个整合笔记的第三部分可能涵盖了如何将这三个组件无缝集成到一个项目中的详细步骤。Struts2作为MVC框架负责控制流程,Spring2.5提供...
在OA系统中,Spring可以实现服务层的管理,比如通过Spring AOP实现权限拦截,通过Spring JDBC或JPA处理数据库操作,以及通过Spring MVC与Struts2集成,提供更强大的MVC支持。 **ExtJS** 是一个JavaScript库,用于...
这个"一个SSH+ExtJs实现的简单文章管理系统"结合了后端的SSH框架和前端的ExtJs,利用Struts处理HTTP请求,Spring管理应用上下文,Hibernate操作数据库,ExtJs构建交互性强的用户界面,并可能借助Ajax技术优化页面...
综上所述,"struts2+ExtJS(带分页效果)"项目结合了后端的Struts2框架和前端的ExtJS库,实现了数据管理功能,并且通过分页增强了用户体验。开发者可以通过学习这两个技术,提升Web应用的开发效率和用户体验。
- **实现类**:DAO接口的实现类会具体执行SQL语句,如使用JDBC或者ORM框架如Hibernate、MyBatis来操作数据库。 - **事务管理**:登录操作涉及数据库读写,可能需要事务控制以确保数据的一致性。 3. **ExtJS**: ...
【标题】"ExtJs制作新闻管理系统"涉及到的关键技术点主要集中在前端开发框架ExtJs的使用上,这是一种基于JavaScript的富互联网应用(RIA)框架。它提供了丰富的组件库,用于构建功能强大、用户界面友好的Web应用程序...
+ 技术实现:Struts+Hibernate+Spring + 项目描述:整个项目开发周期为 40 人/月,20 万行代码量,小组分模块协同开发 + 责任描述:参与该系统详细设计工作,并负责其中的数据提取模块、资费管理模块、用户管理...
在这个特定的项目“Extjs4---combobox省市区三级联动+struts2”中,我们将探讨如何利用ExtJS 4的ComboBox组件实现省市区的三级联动效果,并结合Struts2框架进行数据交互。 首先,`ComboBox`是ExtJS中的一个组件,它...
在“用Extjs做到学生管理系统”这个项目中,我们将探讨如何利用ExtJS与Java后端(例如JSP)结合,实现一个高效的学生信息管理系统。 1. **ExtJS框架介绍** - ExtJS的核心是MVC(Model-View-Controller)架构,帮助...
【标题】"java-Struts-Hibernate-lib.zip_extjs4" 涉及的是一个Java Web开发中的集成框架,其中包括了Struts、Hibernate和Spring这三个核心组件,以及ExtJS4前端框架,配合Jbpm4流程引擎和Oracle10g数据库的实践项目...