项目一 国家电力项目思路总结

    xiaoxiao2025-02-06  11

    Day01 项目框架(SSH) 1、项目介绍 2、项目框架(SSH) 第一步:创建数据库 第二步:创建项目(导入jar包SSH) 第三步:持久层 (1)在cn.itheima.domain中创建ElecText.java文件 (2)在cn.itheima.elec.domain下创建ElecText.java对应的映射文件ElecText.hbm.xml (3)在src下创建hibernate.cfg.xml的配置文件 (4)使用junit在test包中进行测试(导入log4j的配置文件) 第四步:DAO层 (1)在cn.itheima.elec.dao中创建2个接口 公用接口和业务接口 公用接口:ICommonDao 业务接口:IElecTextDao (2)在cn.itheima.elec.dao.impl中创建2个接口的实现类 公用类:CommonDaoImpl(需要继承HibernateDAOSupport,这样可以方便使用HibernateTEMplate对象) 业务类:ElecTextDaoImpl(需要继承公用类,这样可以使用公用类中的定义的方法) (3)在src创建spring的配置文件(beans.xml) (4)使用junit完成测试 第五步:Service层 (1)在cn.itheima.elec.service中创建接口 (2)在cn.itheima.elec.service.impl中创建接口的实现类 (3)使用junit测试 第六步:控制层(MVC) (1)在cn.ieheima.elec.web.action中创建Action(业务Action)类和BaseAction(公用Action) Action类:(注意:这里要设置成多例,即@Scope(value=prototry),因为Struts2的Action是多例,多线程) BaseAction类(封装模型驱动对象,HttpServletRequest和HttpServletResponse对象): (2)在cn.itheima.elec.util包下创建公用类(泛型转换)。 泛型转换的目的子类传递真实对象模型,在父类中使用泛型转换成真实对象模型。以后util包下封装的就是公用类。 (3)在src在创建Struts2的配置文件struts.xml (4)在web.xml中添加配置 (5)导入css,script,jsp,images进行测试 使用system/textAdd.jsp进行测试:页面如图 3、底层方法封装(CommonDaolmpl) 4、使用Maven开发系统 优点:自动从互联网中获取jar包,并实现了一步构建,这里要记住处于联网状态。 pom.xml的配置 依赖管理(导入对应的.jar包) 通过坐标(定位到仓库中的包的位置,并将jar包导入到项目中,如果版本升级,只需要修改坐标即可) 5、使用SVN版本控制 优点:使得项目组开发代码统一使用svn服务器进行版本控制 第一步:要求开发项目的框架上传到svn服务器 第二步:让项目组的其他成员,从svn服务器上获取代码,并进行开发 6、java代码的编码规范 7、需要掌握的知识总结 重点:SSH框架的代码(Struts2+Spring+Hibernate),底层公用方法的封装。 了解:maven,svn

    Day02 运行监控 1、项目页面登录框架 (1)index.jsp(转发到指定包下的页面) (2)menu/index.jsp(提供用户名和登录页面) (3)menu/home.jsp(页面布局) (4)menu/title.jsp(显示上方的标题) (5)menu/left.jsp(显示左侧的功能菜单) (6)menu/change.jsp(完成框架的改变,其中parent表示调用父页面(home.jsp)中的对象) (7)menu/loading.jsp(显示站点运行情况和设备运行情况) 2、运行监控 (1)需要的表 (2)使用DIV标签控制数据的隐藏和显示 使用操作步骤: 第一步:添加js和css: 第二步:jsp的代码,其中使用

    标签: (3)控制文本域的输入字数(js) 第一步:在actingIndex.jsp添加 第二步:添加文本域 第三步:使用js加载文本域 (4)弹出窗口(window.open()) 3:FCK文本编辑器 新版本:CkEditor+CKFinder 4:js添加进度条 应用场景: 1:文件上传、下载(IO流) 2:数据的导入、导出(IO流) 3:大批量数据的增删改查 4:远程数据访问 页面效果: 整合项目: 详情请见【\技术资料\js浮动框】中的《帮助(运行监控).doc》 5:js浮动框 应用场景: 1:通知系统 2:公告系统 3:监控系统(产生监控报告) … 在系统首页使用浮动框窗口。 页面效果: 6:highslideJs 应用场景: 1:当页面的一个table表格无法显示所有内容的时候,可以使用。 页面效果: 点击【查看详细信息】 整合项目: 详情请见【\技术资料\highslideJS】中的《帮助.doc》

    7:需要掌握的知识点总结 重点:运行监控的开发。 了解:FCK文本编辑器(包括数据库设计),js进度条,js浮动框,js使用highslideJs

    Day03 数据字典 1:需要的表 2:hql和sql语句的投影查询 3:页面使用select进行遍历List (1)方案一:使用遍历 (2)方案二:使用 4:掌握js的写法(

    标签的添加行和删除行) 5:DOM对象的ajax(封装在pub.js) 第一步:在dictionaryIndex.jsp中添加: 第二步:调用js的代码:实现: 第三步:在pub.js中定义: 方法一:(Pub.submitActionWithForm) 方法二:创建ajax引擎(Pub.newXMLHttpRequest) 方法三:传递表单Form1中的元素作为参数(Pub.getParams2Str) 方法四:接收服务器端返回的结果(Pub.getReadyStateHandler) 方法五:将返回的结果dictionaryEdit.jsp,并放置到dictionaryIndex.jsp的Form2中(Pub.handleResponse) 6:DOM对象去掉空格的方法 7:实现百分比效果的进度条 8:需要掌握的知识点总结 重点:数据字典的在项目中的应用及开发,ajax(DOM)对象的使用 了解:spring的c3p0,大家只要会配置即可,进度条(百分比)

    Day04 用户管理 1:需要的表 2:项目中配置hibernate一对多的关系  一对一端 (1)ElecUser.java (2)ElecUser.hbm.xml  多的一端 (3)ElecUserFile.java (4)ElecUserFile.hbm.xml 3:jquery的ajax实现二级联动 (1)页面效果: (2)操作步骤: 第一步:引入struts整合json的插件包 第二步:在struts.xml中定义: 第三步:页面使用jquery的ajax调用二级联动的js 第四步:在Action中定义,这里要将返回的List集合放置到栈顶,struts2将其转换成json数据: 4:jquery的ajax实现登录名的校验 (1)页面效果: (2)操作步骤: 第一步:引入插件包 第二步:在struts.xml中定义: 第三步:页面的写法 第四步:在Action类的代码中定义:将String类型的message放置到栈顶:例如 第五步:在Service类的代码中查询message标识的值 5:正则表达式的使用(js) 6:文件上传 多文件上传的要求: 第一步:在util包下封装一个方法: 第二步:jsp页面的表单要求: 并且表单提交: 第三步:文件上传的要求: 在VO对象中: 7:文件下载 (1)不使用struts2提供的文件下载 (2)使用struts2提供的文件下载 第一步:配置struts.xml 第二步:在模型驱动的对象中,添加InputStream类型的属性,用来存放文件的输入流 其中属性名称要与struts.xml中定义的inputName的值一致。 第三步:将查询的文件输入流放置到模型驱动定义的inputStream属性中,用来输出文件。 第四步:Action类中代码: 8:使用md5的密码加密,处理用户的密码 第一步:导入工具类,放置到cn.itcast.elec.util包下 第二步:在保存用户和更新用户的前添加一个方法(md5Password): 9:需要掌握的知识点总结 重点:用户管理开发,熟练使用jquery的ajax完成业务操作,文件的上传和下载 了解知识:md5的密码加密

    Day05 角色管理 1:用户、角色、权限的设计 2:需要的表 3:项目中配置hibernate多对多的关系 (1)用户和角色的关系:使用hibernate (2)角色和权限的关系:不使用hibernate 创建角色权限关联表 4:掌握js的写法(页面复选框的用法,控制全选/全不选)  页面效果: 5:多对多级联删除中间表的数据 效果:的确中间表elec_user_role的数据可以删除,但是角色表中数据也会被删除,这样显然是不合理的。 由于在ElecUser.hbm.xml中设置:inverse=”true” 说明,由角色一端负责维护关联关系:也就是说角色可以操作用户,用户不能操作角色。 目的:删除用户表的同时,需要删除中间表的数据。此时需要修改删除用户的方法。 6:需要掌握的知识点总结 重点:角色管理的开发,多和多的关联关系(使用hibernate,不使用hibernate)

    Day06 系统登录 1:struts2的validator校验(后台校验) 第一步:在Action中定义:如果出现校验问题,使用: 第二步:在struts.xml中定义: 第三步:在menu/index.jsp中,定义: 第五步:修改错误的样式:字体变红;去掉前面的圆圈 2:hibernate的懒加载问题 解决方案: 方案一: 在Session关闭之前,查询对象关联的集合或者对象,所有在业务层的方法上添加: 方案二:在Service层的方法中(Session关闭之前),初始化对象关联的集合或者对象 方案三:在ElecUser.hbm.xml中,添加lazy=”false”,查询用户的同时,立即检索查询用户关联的角色集合: 方案四:使用spring提供的过滤器OpenSessionInViewFilter,在web容器中添加该过滤器 3:验证码 第一步:index.jsp页面: 第二步:在Action中进行校验,创建LoginUtils类 4:记住我 第一步:index.sp页面 第二步:Action代码的处理,创建LoginUtils类 第三步:在index.jsp页面中读取Cookie中的数据,jsp中嵌套java代码 第四步:添加过滤器 第五步:在web.xml中添加: 5:jquery的ztree插件的使用(完成动态加载树型结构) 第一步:在left.jsp中 第二步:在treeMenu.js中定义: 第三步:在Action中添加: 第四步:(hql语句嵌套查询),Service类定义: 第五步:在struts.xml中添加: 6:自定义标签 7:粗颗粒度权限控制(使用过滤器完成) 第一步:定义一个过滤器: 第二步:在web容器中添加对应的过滤器: 8:系统中的异常处理+日志备份(使用struts2的拦截器) 9:细颗粒权限控制(使用struts2的拦截器) 10:今天知识点总结 11:需要掌握的知识点总结 重点:登录操作,项目中后台校验和前台校验,hibernate的懒加载处理 了解:验证码,记住我 必须掌握的分析问题的能力思想: 例如:粗颗粒权限控制 异常处理+日志备份 细颗粒权限控制

    Day07 webservice+二级缓存+导出设置 1:使用webservice发布系统元数据,分公司调用的过程(axis2) 2:hibernate的二级缓存(cache) 二级缓存整合项目: 第一步:导入jar包: 第二步:在hibernate.cfg.xml中添加配置: 第三步:在DAO中执行的hql语句的时候,调用setCacheable(true),例如: 3:sql语句的联合查询 项目用使用sql语句的联合查询 4:导出设置 (1)需要的表 (2)需求分析 按照导出字段列表的内容,动态的导出excel文档 (3)数据库存放的方式 (4)掌握js的写法(标签的左右移动) 5:需要掌握的知识点 重点:导出设置的开发,sql语句联合查询 了解知识:webservice(axis2) 二级缓存(ehcache的查询缓存)

    Day08 资料图书管理 1:导入Lucene相关的jar包 2:lucene原理图 (1)索引库操作原理 (2)索引库中存放数据原理 3:lucene开发原理(数据库与索引库同步) 4:配置文件 (1)导入以下3个配置文件,放置到项目的资源路径下(类路径) 5:索引库基本代码 (1)导入以下3个文件,放置到项目的util包下 6:需要掌握的知识点 先掌握lucene的思想,不用lucene实现看看是什么效果 在添加lucene的代码(LuceneUtils)试试lucene添加后的现象

    Day09 分页+报表 1:分页 整合项目步骤: 第一步:导入2个java文件,放置到util包下 第二步:导入一个js文件,page.js放置到script包下 第三步:修改userIndex.jsp的内容: (1)添加: (2)修改【查询】按钮的连接 (3)在Form1的表单中添加2个隐藏域 (4)在Form2的表单中,加载pageUI.jsp,这个jsp页面显示分页的相关信息,添加: 第四步:将userIndex.jsp的Form2表单的内容,单独提取出来,命名为userList.jsp 第五步:在struts.xml中添加: 第六步:在Action类中添加: 第七步:在Service类中添加: 第八步:在Dao类中添加: 2:POI报表(excel文件的导出) (1)POI报表整合项目 第一步:导入jar包: 第二步:导入java文件(使用poi生成excel报表,放置到输出流中),类放置到util包下 第三步:在userIndex.jsp中定义: (1)添加按钮 (2)js代码: 第四步:在Action类中定义: 第五步:在Service类中定义(构造数据集合): 第六步:使用struts2方式的导出 (1)配置struts.xml (2)在模型驱动的对象中添加: (2)POI报表的几个核心对象 (3)POI报表(应对面试) 3:Get请求出现乱码的解决方案 解决方案:  方案一: 在jsp中的js代码定义: 在Action类中定义:  方案二: 在jsp中定义: 在Action类中定义:  方案三: 修改服务器(tomcat)的配置文件 Server.xml中的配置: 4:JXL报表(excel文件的导入) (1)JXL报表整合项目 第一步:导入jar包: 第二步:导入java文件(完成封装),从文件中获取Excel的数据,读取excel的数据,写到集合中,将类放置 到util包下。 第三步:导入jsp文件,实现文件上传,使用标签 第四步:在userIndex.jsp中定义: 第五步:在struts.xml中定义:跳转到导入excel的页面(文件上传) 第六步:在Action类中定义: 第七步:在Service类中定义: 第八步:在Dao类中定义: (2)JXL报表的几个核心对象 (3)JXL报表(应对面试) (4)扩展:excel字段实现动态导入 5:需要掌握的知识点总结 重点:分页+报表 了解:报表的导入和导出的设计思想、分页思想

    Day10 图形报表与项目开发流程 1:Jfreechart报表 属于工厂模式:提供ChartFactory类,由ChartFactory类创建各种图形 (1)柱状图: (2)线状图 (3)饼图 2:使用Jfreechart完成整合国家电力系统  整合项目的操作步骤: 第一步:导入jar包 第二步:导入一个jap的文件,userReport.jsp,跳转到页面后传递生成图片的文件名,用来加载图片: 第三步:在userIndex.jsp中定义: 第四步:在Dao中定义:使用聚合函数进行分组统计。 第五步:封装ChartUtils的工具类,生成各种图形 第六步:在userReport.jsp中加载: 3:FCF报表(FusionChartsFree报表) 4:项目实施流程说明书 合同控制 5:技术点总结  基本信息 1:针对自己的基本情况去写 2:工作年限:可以虚拟(结合自己的年龄),上学的过程中可以参加工作了(2年以上) 6:附录:项目【技术资料】说明介绍 目录: 1:ajax校验  jquery的ajax相关用法:项目中用到了jquery的ajax以及jquery对象的相关用法  例如:jquery对象ajax的二级联动,jquery对象ajax的数据校验,jquery对象的相关用法 2:FCK文本编辑器  项目中文本编辑器在项目中的用法  可以参考:【技术资料\FCK文本编辑器\旧版本】中的《FCKeditor配置说明(电力项目).doc》,以及【技术资料\FCK文本编辑器\最新版本\ckeditor配置资料】中的《CKEditor_CKFinder_整合项目开发.doc》进行配置 3:JBPM  jbpm4.4工作流的相关技术操作  可根据视频进行学习,参考【技术资料\JBPM\视频】中的视频教程  JBPM的资料大全,附录在【技术资料\JBPM\资料】中,可以根据资料进行项目开发和学习  如果想整合项目,大家可以按照【技术资料\JBPM\配置整合】中的《帮助.doc》进行配置 4:jfreechart  jfreechart图形报表(柱状图,饼图,线状图),学习可以参考【技术资料\jfreechart\文档】  FusionChartsFree图形报表,学习可以参考【技术资料\jfreechart\炫\文档】 5:js浮动框  项目中开发中,右小角的浮动框提示,参考【\技术资料\js浮动框】中的《帮助.doc》 6:jxl导入  操作excel报表的jxl技术,学习大家可以参考《技术资料\jxl导入\文档》 7:lucene  全文检索功能,项目中资料图纸管理模块的开发  学习可以参考【技术资料\lucene\视频】  系统可以按照【技术资料\lucene】中的《帮助.doc》进行配置 8:maven附加  使用maven开发项目  【技术资料\maven(附加)\电力项目(整合电力项目)】中的《帮助.doc》整合整个项目的jar包(pom.xml)  【技术资料\maven(附加)\ssh(整合SSH)】中的pom.xml只整合ssh  学习可参考《maven课堂.doc》 9:md5密码加密  【技术资料\md5密码加密】存放md5密码加密的java文件 10:poi报表  存放导出/导入excel报表的技术POI  导出文件在【技术资料\poi报表\java】中的ExcelFileGenerator.java  导入文件在【技术资料\poi报表\附加:使用poi报表完成excel文件的导入】中的GenerateSqlFromExcel.java,大家可参考《帮助.doc》的配置  附加iReport技术,在【技术资料\poi报表\ireport详解】中 11:spring企业开发调度器(quartz)  【技术资料\spring企业开发调度器(quartz)】中存放的时候类似定时器的功能,可以定时或者按照周期执行某个任务,可以参考《spring企业开发调度器.ppt》进行配置,  可以查看视频和源码,位置在【技术资料\spring企业开发调度器(quartz)\视频+源码】 12:svn(附加)  svn整合项目,配置可按照【技术资料\svn(附加)】中的《svn.doc》进行配置  学习可按照《svn课堂.doc》进行学习 13:webservice远程技术  webservice可以完成2个独立的系统调用数据,我们使用的技术是axis2  国家电力系统发布数据字典,其他分公司系统调用,可以参考【技术资料\webservice远程技术\axis的jar包】中的《axis发布webservice(使用eclipse的插件生成服务端和客户端.doc》  学习可以参考视频,位置在【技术资料\webservice远程技术\视频】中 14:ztree树型菜单  配置jquery的树型菜单,使用ztree插件 15:二级缓存  配置二级缓存,即查询缓存,解决系统频繁操作数据字典表,性能优化 16:分页  项目中使用ajax完成分页,即2个Form表单的数据交互 17:过滤器(实现粗颗粒权限控制)  过滤器完成粗颗粒的权限控制,可以按照【技术资料\过滤器(实现粗颗粒权限控制)】中的《过滤器实现粗颗粒权限控制 .doc》进行配置  如果项目中使用ajax处理session失效,可以参考【技术资料\过滤器(实现粗颗粒权限控制)\附加文档(ajax处理session失效)】中的《session失效,处理ajax请求.doc》 18:简易代码生成器  项目中可以根据创建的持久化类,自动生成Dao类,Service类,Action类以及类中的响应方法  可以参考【技术资料\简易代码生成器】中的《使用说明.txt》  也可以参考【技术资料\简易代码生成器\程序代码2\test】中的《帮助.txt》  附有视频可做调试【技术资料\简易代码生成器\使用视频】 19:角色(使用hibernate映射多对多的关系)  完全使用hibernate完成系统多对多的关联维护,即用户和角色多对多,角色和权限多对多  可以参考文件《创建表+初始化数据(多对多).txt》  内有源码可以进行调试 20:进度条  项目中实现进度条  【技术资料\进度条\进度条(不添加百分比)】,即进度条没有百分比,完全使用js控制,附有视频,可以按照《帮助.doc》进行调试  【技术资料\进度条\进度条(百分比)】,即进度条添加百分比,使用ajax配合js进行控制,附有视频,可以按照《帮助.doc》进行调试 21:屏蔽火狐等浏览器,限制用户使用IE浏览器,去除修改脚本的插件浏览器(附加)  【技术资料/屏蔽火狐等浏览器,限制用户使用IE浏览器,去除修改脚本的插件浏览器(附加)】中可以按照《帮助.doc》完成屏蔽浏览器的功能,保证系统使用指定的浏览器调试 22:项目如何处理异地登录(附加)  【技术资料/项目如何处理异地登录(附加)】处理的是异地登陆的操作,即一个用户只能在1台机器操作系统,如果再其它机器登录系统,则要踢掉之前的登录,大家可以参考【技术资料\项目如何处理异地登录(附加)】中《异地登录.doc》,附有视频可做参考 23:项目在oracle数据库的框架配置(附加)  项目框架开发,使用ssh+oracle数据库进行开发,附有开发的源码 24:验证码+记住我  【技术资料\验证码+记住我】添加验证码和记住我功能,可以参考《帮助.txt》进行操作 25:运行监控中保存长字符串时截取短字符串进行保存(附加)  解决运行监控使用FCK文本编辑器之后,使用截取字符串的方式存放长文本字段  可以参考【技术资料\运行监控中保存长字符串时截取短字符串进行保存(附加)】中的《帮助.doc》进行配置 26:自定义标签+struts2标签控制访问链接权限  项目中自定义标签的时候,使用权限控制按键和链接的隐藏和显示  可以参考【技术资料\自定义标签+struts2标签控制访问链接权限】中的《自定义标签(帮助).doc》 27:自定义拦截器(实现异常处理+细颗粒权限控制)  struts2的自定义拦截器实现异常处理+日志备份,可以参考【技术资料\自定义拦截器(实现异常处理+细颗粒权限控制)\异常处理】中的《struts2的拦截器实现异常处理.doc》,附有视频大家可以查看  struts2的自定义拦截器实现细颗粒的权限控制,可以参考【技术资料\自定义拦截器(实现异常处理+细颗粒权限控制)\细颗粒度权限控制】中的《struts2的拦截器实现细颗粒度权限控制.doc》 28:技术资料\自定义类型转换  自定义类型转换,增强struts2开发的优势,使用模型驱动的对象获取页面中传递的值,该值不仅可以是String类型,同时也可以是Date类型,Integer类型,Long类型,File类型,但是日期格式如果不符合要求,需要自己处理日期转换,可以参考【技术资料\自定义类型转换】中的《帮助.doc》进行配置

    转载请注明原文地址: https://ju.6miu.com/read-1296160.html
    最新回复(0)