- 1. J2EE集成开发培训
- 2. J2SE简介-SCJP模块1──起步
模块2──标识符、关键字和类型
模块3──表达式和流程控制
模块4──数组
模块5──对象和类
模块6──高级语言特性
模块7──异常
模块8──建立GUIs
模块9──AWT事件模型
模块10──AWT组件库
模块11──Java基础类
模块12──Java Applets介绍
模块13──线程
模块14──流式I/O和文件
模块15──网络参考文档:SCJP考纲、培训教程
- 3. J2EE简介J2EE平台由一整套服务(Services)、应用程序接口(APIs)和协议构成,它对开发基于Web的多层应用提供了功能支持。
J2EE的13种核心技术:JDBC, JNDI, EJBs, RMI, JSP, Java servlets, XML, JMS, Java IDL, JTS, JTA, JavaMail 和 JAF
- 4. J2EE项目开发过程
- 5. 框架 Framework框架是设计模式的具体实现。但比模式更明确。
使用框架替代模式的好处:通过一定强制性机制确保结构层次清晰。
框架选择:Java世界是自由选择,每个层多种多样的框架产品可供选择。
- 6. 多层框架实现表现层(MVC模式): Struts/SpringMVC/JSF
业务层:EJB/Spring 它们是不同模式和技术的实现。
持久层:Hibernate/JDO/iBatis/EJB
- 7. Struts+Spring+Hibernate架构
- 8. SSH架构实例Domain/POJODAOServicePresentUserUser.hbm.xml持久层业务层表示层UserDaoUserHibernateDaoUserManagerUserManagerImpUserActionIoCIoC架构体系示例JSPimpimp域对象层
- 9. 框架相关技术介绍Struts
使用率最高的MVC WEB框架
参考文档:Struts In Action
掌握要求:★ ★ ★ ★ ★
Spring
核心的IoC、AOP框架,充分使用了其事务处理和AoP拦截等强大功能
参考文档:spring2.0-reference.pdf
掌握要求:★ ★ ★
Hibernate
业界主流的ORM框架
参考文档:hibernate3中文.pdf
掌握要求:★ ★ ★ ★ ★
- 10. Struts协作图Demo演示
- 11. Spring核心概念IoC控制反转
面向接口编程
AOP拦截
事务管理
- 12. Hibernate核心概念OR-Mapping对象关系映射
映射定义
关联关系映射
HQL、Criteria
数据库方言
hbm2ddl,映射生成数据表
- 13. 框架相关技术介绍Eclipse
使用最广泛的Java集成开发工具
搜索关键词: Eclipse
掌握要求:★ ★ ★ ★ ★
CVS
代码版本控制
搜索关键词: cvs
掌握要求:★ ★ ★
ANT、 XDoclet
平台无关性的脚本引擎,代码和配置文件生成框架
搜索关键词: ant XDoclet http://xdoclet.sourceforge.net/
掌握要求:★ ★
JUnit
单元测试工具
搜索关键词: JUnit
掌握要求:★
- 14. 框架相关技术介绍JDK5.0
框架大量使用了JDK5新特性,例如泛型、for循环增强、自动包装
搜索关键词:JDK5新特性汇总
掌握要求:★ ★ ★
JSTL、EL
大量运用标签和EL表达式提高页面代码可读性
搜索关键词: JSTL EL
掌握要求:★ ★ ★ ★ ★
ExtremeTable
功能强大,灵活配置的表格数据显示组件
搜索关键词: ExtremeTable
掌握要求:★ ★ ★
- 15. 框架相关技术介绍Acegi
基于角色控制的安全框架,通过扩展实现了完整的页面、方法权限控制和ACL对象控制
搜索关键词:Spring Acegi
掌握要求:★ ★
Quartz
功能强大的定时任务执行组件
搜索关键词: Quartz
掌握要求:★ ★
DWR
AJAX框架
搜索关键词:AJAX DWR
掌握要求:★ ★
- 16. 框架相关技术介绍XFire
WebService引擎
搜索关键词: WebService XFire
掌握要求:★ ★
Sitemesh
有效的分离内容和样式的框架技术
搜索关键词: Sitemesh
掌握要求:★
Prototype.js/ scriptaculous.js
快速高效的Javascript的功能、特效类库
搜索关键词:Prototype scriptaculous
掌握要求:★ ★
- 17. 框架相关技术介绍ActiveMQ
消息中间件,实现系统的异步处理能力,例如大量的群发通知邮件
搜索关键词: ActiveMQ
掌握要求:★
JBpm
工作流引擎 、业务过程管理
搜索关键词: JBpm
掌握要求:★
CAS
单点登录服务器
搜索关键词: SSO CAS
掌握要求:★
- 18. FitFramework集成开发框架介绍本框架借鉴Spring、Appfuse、SpringSide、Jdon等国内外著名的J2EE应用框架技术,其间还吸收了SAP R/3系统一些设计思想,根据自己所在企业现有J2EE应用开发规范和习惯,结合自己在开发工作过程中摸索到的技巧和经验, 采用领域驱动模型设计思想,逐步形成一套基于Struts+Spring+Hibernate开源技术的快速高效集成开发框架。
目前已基本达到只需编写Domain对象和填写Xdoclet标记,然后调用框架的相关ANT命令,借助Xdoclet生成所有的框架代码、配置文件和页面文件,无需编写一行Java代码即可实现对象的分页查询和所有CRUD操作,达到快速高效开发的效果;同时框架还完整实现了灵活的权限控制、用户管理、消息管理、附件管理、缓存管理、系统监测等系统标准功能,可以在框架的平台基础之上快速搭建业务应用系统。
- 19. 工程结构源文件目录:
src:所有框架和应用的源文件目录
resources:放置所有的配置文件
test:所有测试文件目录
文件目录:
doc:放置一些项目相关文档
lib:放置框架层面使用的JAR包
out:放置一些输出文件,如模型图
sso:放置SSO CAS WEB应用
uml:放置相关UML模型文件
webapp:WEB应用根目录
xdoclet:xdoclet模板和生成临时文件
工程Build文件:
build-deploy.xml:部署定义
build-share.xml:核心脚本定义
build-properties.xml:属性定义
build-core.xml:核心模块定义
- 20. src核心结构简介com.changhong.fw包下面放置所有与框架层相关源文件
commons.base:核心接口和基类
BaseHibernateDao持久层超类
BaseSpringManager业务层超类
StrutsEntityAction视图层超类
BaseStandardEditableEntity领域对象超类
commons.exception:核心异常定义
commons.support:审计和分页实现
core.utils:核心帮助类
web.filter:主要过滤器
web.listener:监听器
web.taglibs:自定义标签库
module:核心模块实现代码
- 21. resources核心配置简介该目录放置Struts、Spring、Hibernate及其他三方组件等的配置文件
conf:常用第三方组件配置文件
context:Spring Acegi权限相关配置文件
context.extras:Spring组件配置文件
context.generate:框架生成的配置文件
context.production:产品模式的配置
context.test:测试模式的配置
freemaker:模板引擎文件
hbm.generate.core:Hibernate生成文件
i18n:国际化资源文件
cas.properties:CAS服务参数配置
hibernate.properties:Hibernate配置
jdbc.properties:数据库连接参数配置
log4j.xml:Log4j日志系统配置
mail.properties:邮件服务参数配置
r3.properties:r3连接参数配置
- 22. webapp目录结构简介该目录即为最终发布WEB应用程序,以目录或打包方式部署到应用服务器
common:公用的include调用页面
components:放置常用三方组件,例如日历、在线编辑器等
core:核心模块页面
decorators:Sitemesh装饰器模板页面
errors:常用错误显示页面
images:图片
login:登录界面
nav:系统框架主界面
pub:不进行权限检查的公共页面,包括自助注册、找回密码等
scripts:JS脚本目录
styles:CSS样式表目录
templates:Struts-Menu组件的模板
wecontent:Birt报表目录
- 23. WEB-INF目录结构介绍该目录WEB应用的核心目录
conf.generate:自动生成的Struts配置文件
conf.extras:自定义的Struts配置文件
extras:放置一些额外的三方组件
lib:应用LIB目录
tld:放置应用的标签定义文件
主要配置文件
decorators.xml:sitemesh装饰器定义
dwr.xml:AJAX DWR配置文件
menu-config.xml:Struts-Menu配置文件
sitemesh.xml: sitemesh核心配置文件
struts-config.xml:struts核心配置文件
validator-rules.xml:表单验证规则定义
web.xml:WEB核心配置文件
- 24. 常用ANT命令简介本框架大量采用XDoclet和ANT实现代码和配置文件生成
ant视图的显示:在Eclipse中选择菜单window->show view->others->ant->ant
把工程中的build-core.xml鼠标拖入ANT视图
主要命令介绍:
clean:清除自动生成的配置文件
compile:编译模块
javadoc:生成java文档(未完整实现)
tomcat-local-deploy-explore:
将应用部署到本地Tomcat,需要配置Tomcat参数
xdoclet-domain-hbm:
通过域对象的Hibernate标记生成Hibernate配置文件
xdcolet-domain-java:
生成DAO、Manager、Action、Test框架源文件
xdoclet-generate-jsp:
生成域对象对应的编辑和分页查询框架JSP页面
xdoclet-spring-context:
生成DAO、Manager、Action层的Spring配置文件
xdoclet-webdoclet-struts:
生成Struts配置文件和表单验证配置文件
xdoclet-all:
顺序调用以上几个XDoclet命令,用于模块初始化
- 25. 核心功能菜单用户管理
公司管理
群组管理
人员管理
安全管理
资源管理
权限管理
角色管理全局管理
参数配置
缓存管理
切换用户
附件管理
菜单配置
消息管理
公共消息
收到消息
发送消息
创建消息系统监测
会话监测
登录用户监测
登录历史记录
对象审计记录
控制面板
信息修改
密码修改
资料下载
个性化定制
- 26. 权限控制机制使用Spring Acegi安全框架,并进行了增强扩展
完整粒度的权限控制
URL访问控制
页面元素的访问控制
对象方法的访问控制
细粒度的ACL对象访问控制
资源(Resource)->权限(Permission)->角色(Role)->用户(User)
菜单和角色的绑定控制
- 27. 开发过程-创建新工程拷贝现有Eclipse框架工程
修改工程名字
修改工程文件夹为新工程名字
修改工程下.project文件中projectDescription中的name为新工程名字
Eclipse import最新工程
如果原工程连接CVS,先断开CVS连接
将新工程提交到CVS服务器进行协同开发和版本控制
- 28. 开发过程-新工程部署build-properties.xml中修改web.name值为项目简写名称
定义TOMCAT_HOME环境变量,指向本地Tomcat安装目录
数据源的配置
resources/context/producttion/applicationContext.xml
tomcat配置数据源,修改Tomcat安装目录conf/server.xml,在GlobalNamingResources元素中添加数据源定义
修改web.xml最后数据源定义部分
修改webapp/META-INF/context.xml定义
- 29. 开发过程-定义模块创建模块Package
com.changhong.wms.jit
创建模块Build文件
build-jit.xml
添加Struts配置定义
修改WEB-INF/struts-config.xml,将新模块的验证规则配置文件加入Struts主配置文件
修改WEB-INF/web.xml,将新模块的Struts定义文件添加到Struts映射定义中
- 30. 开发过程-装饰器定义在WEB-INF/web.xml中添加模块装饰过滤配置定义
在WEB-INF/decorators.xml添加装饰器定义
- 31. 开发过程-定义域对象(POJO)创建com.changhong.wms.jit.domain
创建class AsnStatus extends BaseStandardEditableEntity
继承超类对象会自动拥有大量框架定义的默认属性
定义Class元数据
对象对应的表定义:
table=“JIT_AsnStatus”,数据表名;命名规则:模块名_对象名
对象Form参数定义:
name=“asnStatusForm”,Form名称;命名规则:小写打头对象名+Form
validate=“true”,是否进行表单自动验证;如果为true,必须定义至少对一个字段的验证规则
小写打头对象名:
Java命名规则中类名都是首字母大写,变量名是首字母小写。
小写打头对象名就是直接将类名首字母转换成小写后的称谓。本框架很多地方都要遵循这样对应匹配的关系,才能保证能自动找到相关处理逻辑
- 32. 开发过程-定义域对象(POJO)定义属性 /方法元数据
映射成数据库字段的属性,在对应的getter方法上添加@hibernate.property
字符串类型要定义length=“长度”,标识字段长度
如果希望数据库字段名和属性名不一致,可以使用cloumn=“字段名”
对于需要进行自动表单验证的属性,在setter方法上添加Validator标记
/**
* @struts.validator type="required"
* @struts.validator-args arg0resource
*/
- 33. 开发过程-生成代码和配置文件调用ANT命令,自动生成所有DAO、Manager、WEB各层框架代码和配置文件
如果需要使用AJAX功能,在WEB-INF/dwr.xml添加业务对象定义
- 34. 开发过程-JSP页面定制ANT自动生成分页显示和编辑页面的框架代码
在List页面添加查询参数项目和列表显示项目
在Edit页面添加编辑项目
- 35. 开发过程-List页面定制标准分页显示页面
分为4部分
pageTitle:
标题显示区域
searchDiv:
查询参数区域
operationDiv:
操作按钮和操作结果显示区域
tableDiv:
分页表格数据显示区域
- 36. 开发过程-List searchDiv 定制查询区域主要放置查询项目,一般分为单一属性查询、时间段查询、下拉框等方式
参数命名规则:“search_”+查询属性名
默认按照字符串like查询
以search_createTime@start-cp_lt-tp_DatePlus为例:
search_标示查询项目前缀,
createTime@start为查询项目,如果为区间段查询就加一个@及后缀,
-cp_lt标识比较类型(可选项目eq-等于 like-通配符 ge-大于等于 le-小于等于 gt-大于 lt-小于),
-tp_DatePlus为数据类型(可选项目 String-字符串 Long-长整型 Date-日期 DatePlus-日期加一)
如果需要追加对于记录创建时间的区间查询,可直接include公共页面
- 37. 开发过程-List operationDiv定制如果需要对该对象进行增删操作,则include fullOperation.jsp
如果只做数据显示,不做增删操作,则inlude normalOperation.jsp
如果需要添加额外添加操作按钮,则在operations span区域添加
- 38. 开发过程-List tableDiv定制ec:exportXls 定义导出Excel或其他类型文件,如果无须提供导出,直接删除该元素
include standardSelectOperationForTable.jsp,产生默认的序号和复选框,如果要求不提供复选框,可直接include standardListOperationForTable.jsp
ec:column定义需要显示的列,常用属性如下:
property:POJO对象中的属性
titile:该列显示的标题
sortable=false:标识无需为该列产生排序链接,默认值是true
cell:定义该单元格是什么类型,date、currency等
format:单元格数据显示格式,一般和cell配合使用
include standardEntityOperationForTable.jsp,产生默认的编辑按钮。如果不进行修改,则取消该元素
- 39. 开发过程-Edit定制标题区域
消息区域
表单区域
添加需要修改的项目
定义AJAX验证
产生编辑提交按钮
引入标准Struts表单验证
- 40. 开发过程-权限、菜单的配置在安全管理-资源分类中添加当前模块分类
添加资源,如果这个资源会具体反映到一个菜单项目,则选上关联菜单
添加权限,并与相关资源关联
权限代码必须以AUTH_开头
添加角色,并与相关权限关联
角色代码必须以ROLE_开头
添加用户,并与相关角色关联