
SSH项目实战
文章平均质量分 91
基于struts+spring+hibernate框架的项目实战,适合学习了三大框架的朋友加强实战经验
光仔December
技术宅,系统集成项目管理工程师,FCP-报表开发工程师,全国软件开发(C/C++)专业人才高级认证,2014年ACM-ICPC河南省赛区银奖,2014年第五届蓝桥杯河南赛区C/C++程序设计本科B组二等奖,2015年甲骨文杯全国Java程序设计大赛华中赛区A组二等奖,2015年中国大学生计算机设计大赛团队三等奖
展开
-
【SSH项目实战】国税协同平台-34.quartz&CronTrigger
我们上次使用quartz任务调度框架创建了一个在后台按照时间间隔不停运行的任务,我们使用的是simpleTrigger简单触发器,为了实现我们的月末自动回复的功能,我们要设置触发器能够在某个精确时间去自动执行任务,那么使用simpleTrigger简单触发器就远远不够了,我们需要使用CronTrigger任务触发器来实现这个功能。我们的CronTrigger设置步骤如下:任务触发器(C原创 2015-12-07 15:14:14 · 3243 阅读 · 2 评论 -
【SSH项目实战】国税协同平台-33.quartz&SimpleTrigge
在我们“投诉管理”和“我要投诉”这两个模块完成之后,我们要做一个“自动投诉受理”功能。我们来回顾一下“自动投诉受理”功能的需求分析:自动投诉受理:在每个月月底最后一天对本月之前的投诉进行自动处理;将投诉信息的状态改为已失效。在后台管理中不能对该类型投诉进行回复。自动投诉受理是在一定时间内自动的调度任务执行投诉状态的更新;那么需要使用任务调度,常见的任务调度有Jdk 的Timer 以原创 2015-12-05 10:25:12 · 2268 阅读 · 0 评论 -
【SSH项目实战】国税协同平台-31.我要投诉功能1
我们之前完成了投诉回复和保存功能,这次我们将要完成历史受理信息的显示以及数据回显功能,当然还有用户编写投诉信息的入口,我们这次继续。可以注意到,在deilUI.jsp上我们之前的投诉人信息显示,不管是匿名还是不匿名,投诉人的姓名、手机号码都是显示出来的: 投诉人姓名: 投诉人手机: 我们要做到匿名的用户名称不显原创 2015-11-30 11:49:50 · 2716 阅读 · 0 评论 -
【SSH项目实战】国税协同平台-32.我要投诉功能2
我们接下来做投诉信息的保存工作我们先来想一下,我们的整个投诉的流程是:1、保存投诉信息2、提示用户投诉成功3、刷新父窗口4、关闭当前窗口我们来画一下时序图(对象与对象之间的消息在时间顺序上的交互):我们现在要做的是第9步之后的步骤我们回顾一下我们的投诉信息填写界面:<% pageContext.setAttribute("bas原创 2015-12-02 10:19:46 · 2896 阅读 · 2 评论 -
【SSH项目实战】国税协同平台-30.投诉受理&保存受理信息
上次我们给“投诉受理管理”模块做了多条件查询功能,我们通过流程图来回顾一下这个模块的具体流程:根据流程图,我们接下来剩下的就是“受理投诉”、“保存投诉信息”、“用户投诉”等功能了。我们不用着急,一项一项的来完成。我们下面写的就是管理者受理投诉的功能,可以看到我们的列表有这么一项:我们要给这个受理加一个链接,使之能够进入之前需求分析中要求的受理界面,在受理界面管理者可原创 2015-11-29 10:51:06 · 2651 阅读 · 0 评论 -
【SSH项目实战】国税协同平台-29.投诉受理查询
我们之前已经成功创建了数据库,现在我们要对建好的表使用“逆向工程”来创建相应的实体类以及映射文件。我们的“逆向工程”在第五阶段“5.逆向工程.txt”章中已经详细阐述过,这里的过程就不再赘述。首先我们还是调出我们的DB Browser,然后找到我们的数据库连接,找到要逆向工程的两张表,点击右键,选择“hibernate Reverse Engineering...”之后就会弹出以下原创 2015-11-26 21:47:09 · 2428 阅读 · 2 评论 -
【SSH项目实战】国税协同平台-28.投诉受理需求分析&CDM&PDM
我们接下来编写“投诉受理”模块的功能。首先进行需求分析,我们来看一下我们的需求:界面描述:2.7.2功能说明(1)投诉受理管理:查询用户提交的投诉信息,可以根据投诉部门(部门A/B)、投诉时间段、状态进行查询。在列表信息中展示投诉标题、被投诉部门、被投诉人、投诉时间、状态(待受理、已受理、已失效)、操作;其中操作栏内内容为“处理”,点击“处理”则原创 2015-11-24 17:32:22 · 3212 阅读 · 2 评论 -
【SSH项目实战】国税协同平台-27.分页对象应用&抽取pageNavigator
上次我们完成了信息发布管理模块的分页功能。但是我们还没给其它的模块做分页,所以我们也要去完成其它模块的分页功能。按照我们给信息发布管理模块编写分页功能的方式去编写,需要大费周章,我们不如把分页功能封装起来,这样这些模块包括以后扩充的模块都能使用分页的功能了。我们回顾一下我们的InfoAction,关于分页的属性有://分页对象protected PageResult page原创 2015-11-22 13:14:18 · 2765 阅读 · 0 评论 -
【SSH项目实战】国税协同平台-26.分页功能编写
可以看到,我们之前的用户管理、角色管理和信息发布管理的列表下均有这些东西:总共1条记录,当前第 1 页,共 1 页 上一页 下一页 到 这个就是美工留给我们做分页的,我们接下来就以信息发布管理模块为例做一个分页功能。我们在做之前首先分析一下我们分页的规则:总共1条记录,当前第 1 页,共 1 页 上一页 下一页 到 属性有:总记录数当前页号原创 2015-11-20 09:05:25 · 2479 阅读 · 3 评论 -
【SSH项目实战】国税协同平台-25.查询条件回显
我们上次完成了信息发布管理模块的条件查询功能,但是我们有一些问题没有解决,比如信息的"回显"功能。解释一下回显,例如你翻到100页,这一页有一个信息需要修改,当你点击修改并修改完毕的时候,发现并没有回到之前的第100页,而是回到了第1页!!@你是不是就抓狂了?而且你在输入框中的的查询条件也可能改变或消失,这就是没有做数据回显的后果。所以,我们要为我们的这个模块做数据回显功能。我们去原创 2015-11-18 10:28:32 · 3876 阅读 · 3 评论 -
【SSH项目实战】国税协同平台-24.条件查询分析与实现
我们之前做好了信息发布管理这一块的功能这次我们就以这个模块为例,去为其添加查询和分页功能。我们先从查询功能做起:条件查询(QueryHelper):1、查询条件语句hql:from 子句:必定出现;而且只出现一次where 子句:可选;但关键字where 出现一次;可添加多个查询条件order by子句:可选;但关键字order by 出现一次;可添加多个排原创 2015-11-17 15:08:49 · 2345 阅读 · 0 评论 -
【SSH项目实战】国税协同平台-23.抽取BaseService
接下来我们开始整顿我们的Service层,我们每一个Service基本上都有下面几个方法(拿info举例子)://新增public void save(Info entity);//更新public void update(Info enetity);//根据id删除public void delete(Serializable id);//根据id查找public Info f原创 2015-11-16 12:45:30 · 2887 阅读 · 0 评论 -
【SSH项目实战】国税协同平台-22.逆向工程
上一次我们利用PowerDesigner设计了一个“人员组织架构”的概念模型和物理模型,并把它们生成了建表语句,并且在数据库创建了相应表。接下来我们要利用“逆向工程”来创建表和实体类。因为是测试,所以我们所有的代码均在test包下完成。首先,我们在我们工程的test.conf包下创建database.sql文件,把上一次我们得到的sql语句输入进去:/*==========原创 2015-11-15 09:55:25 · 2679 阅读 · 9 评论 -
【SSH项目实战】国税协同平台-21.PowerDesigner概念、物理模型
我们之前做的都是先建实体类再去创建表(或者是hibernate自动生成表),有一个概念叫“逆向工程”,就是先创建表,再由表来生成相应的实体类和映射文件。在讲“逆向工程”之前,我们先学一个数据库模型设计工具,做“PowerDesigner”,是设计实体以及实体之间的关系的,而且可以生成数据库建表语句的工具。我们打开PowerDesigner,创建一个“概念模型”,实体集关系表:原创 2015-11-11 10:33:14 · 2004 阅读 · 0 评论 -
【SSH项目实战】国税协同平台-20.异步信息发布
上一次我们完成了文本编辑器的插入,这一节我们要对信息进行异步发布。我们上次发表文章之后有一个“停用”和“发布”状态,但是我们没有去做它的切换,所以在这里我们要用异步信息传输的方式去完成这个切换功能。最后我们要的效果是点击“停用”或者“启用”的时候,在“状态”一栏会切换成“停用”或者“启用”。效果大概如此图:我们使用Ajax异步处理这个操作。下面编码实现:首先原创 2015-11-09 17:24:33 · 2211 阅读 · 0 评论 -
【SSH项目实战】国税协同平台-19.信息发布管理完善&ueditor文本编辑插件
我们上次虽然完成了信息发布管理模块基础的增删改查,但是我们还有需求没有完成,其中最重要的一点就是需求上要求我们发布的信息必须是有格式的,word文档那种格式,而我们的原始textarea是清除所有文本格式的,我们在这一次来解决这个问题。我们使用ueditor插件(百度开发)来解决这个问题,ueditor是一种“父文本编辑器”,也叫“在线编辑器”,可以使用这种插件来编辑各种格式的文本。(当然原创 2015-11-08 10:35:29 · 2245 阅读 · 0 评论 -
【SSH项目实战】国税协同平台-18.信息发布管理需求分析&CRUD
我们接下来要做一个信息发布管理的功能,首先来看看我们的需求分析:要求信息发布管理原型界面:编辑信息原型界面:2.6.2功能说明信息发布管理:根据信息标题、信息类型进行信息查询;可以在页面中点击“新增”发布信息,点击“删除”进行批量删除信息。列表数据包括信息标题、信息分类、申请人、申请时间、状态、操作;其中操作栏的内容为停用/发布、编辑、删除。当信息的状态原创 2015-11-07 10:45:30 · 2710 阅读 · 0 评论 -
【SSH项目实战】国税协同平台-17.权限鉴定&解决登录嵌套
我们上一次完成了登录功能和session用户信息的保存和注销。下面我们完成登陆后有关权限鉴定的功能。我们系统分了5大子系统,粗粒度的分了5个权限。用户只要有对应系统的权限才可以访问相应的子系统。超级管理员可以访问所有子模块,一般的用户可能只能访问“我的空间”。我们下面就来做一个权限鉴定,我们画个图来设计一下:接下来编码实现:我们要修改我们过滤器的代码@O原创 2015-11-06 11:08:57 · 2624 阅读 · 0 评论 -
【SSH项目实战】国税协同平台-16.登录过滤器
我们上一次做完了登录功能,也将登录信息保存在了session中,接下来我们来继续完善我们的登录部分。我们先来验证一下之前我们的用户信息是否保存在session中,我们在主系统的首页来显示用户的信息:这个位置如果出现了用户的信息,说明我们的session封装信息成功!我们在主页的欢迎xxx部分添加session中保存的user的name值的显示: 欢迎您,原创 2015-11-05 09:32:51 · 2982 阅读 · 3 评论 -
【SSH项目实战】国税协同平台-15.系统、子系统首页&登录功能2
接上一篇:http://blog.youkuaiyun.com/acmman/article/details/49614841我们的子系统界面已经加载出来:我们找到左边菜单页,给它加链接: 角色管理 用户管理 我们指定了点击链接之后右侧模块页面的地址。效果:接下来我们要添加登录功能:我们把工程原来的默认欢迎界面(WE原创 2015-11-03 13:26:43 · 4221 阅读 · 4 评论 -
【SSH项目实战】国税协同平台-14.系统、子系统首页&登录功能1
我们做完了用户与角色的分配,在设置用户在相应的角色下的操作之前,我们先完成用户的登录功能。首先,我们先加载我们的系统的首页和子首页。很简单,就是转发到一个jsp页面而已,我们先写一个HomeAction来设置跳转功能:package cn.edu.hpu.tax.core.action;import com.opensymphony.xwork2.ActionSupport;p原创 2015-11-03 13:19:17 · 5674 阅读 · 1 评论 -
【SSH项目实战】国税协同平台-13.用户与角色关系
上一次写到角色权限管理,我们设定的角色是要使用的,我们接下来写用户与角色的关系。角色与权限:多对多一个角色可以有多个权限,一个权限可以被多个角色使用。那我们下面就来使用我们完成的角色。我们先来看一下需求,记不记得之前的用户编辑界面:可以看到,我们注册用户的时候是要给用户安排一个角色的,而我们的角色在角色管理系统里面已经创建好了,可以从创建好的角色中挑选需要的角色原创 2015-11-01 09:50:24 · 2971 阅读 · 1 评论 -
【SSH项目实战】国税协同平台-12.角色权限管理2
接上一篇然后是action层:package cn.edu.hpu.tax.role.action;import java.util.HashSet;import java.util.List;import javax.annotation.Resource;import cn.edu.hpu.tax.core.action.BaseAction;import cn.edu原创 2015-10-30 16:06:52 · 3607 阅读 · 4 评论 -
【SSH项目实战】国税协同平台-11.角色权限管理1
我们要完成角色管理这一块,首先我们看一下这一块的需求:I.界面描述II.功能说明角色管理:可以根据角色名称查询系统用户;在页面中点击“新增”可以添加用户、点击删除可以批量删除选中的用户。在角色列表中显示角色名称、权限、状态、操作;其中操作列中包括编辑、删除两个功能;点击“编辑”则编辑角色信息,删除则删除该角色。编辑角色:编辑页面包括角色名称、权限列表(可复选多个权限原创 2015-10-30 16:03:02 · 4739 阅读 · 10 评论 -
【SSH项目实战】国税协同平台-10.自定义返回结果类型
上一篇我们进行了自定义异常的设置和捕获,然后跳转到我们自己的异常通知界面。那么,我们捕获到异常以后,我们想利用前面请求的参数做一些事情,我们就可以利用struts的“自定义返回结果类型”。类“class StrutsResultSupport”就是“struts类结果返回支持”,如果某个类继承了这个父类的话,这个类就会被执行。可以给这个类传入3个参数:location、parse、原创 2015-10-29 17:36:11 · 1889 阅读 · 0 评论 -
【SSH项目实战】国税协同平台-9.全局异常映射
上次我们的校验工作已经完成,下面我们谈谈系统异常的处理。假设我们在UserAction的listUI方法中加入一句错误代码://列表页面public String listUI(){ int i=1/0; userList=userService.findObjects(); return "listUI";}然后我们来访问我们的我用户列http://localhost/Hp原创 2015-10-27 21:14:08 · 2745 阅读 · 0 评论 -
【SSH项目实战】国税协同平台-8.户帐号唯一性校验
我们之前完成了用户管理列表的增删改查以及头像上传,之后又使用POI技术完成了用户列表信息的Excel导入和Excel文件导出工作。接下来我们来编写与账号有关的业务。可以看到我们添加用户要指派一个账号但是我们的账号一定是不能重复的,如果账号已经存在,我们不就能让它保存在系统中,要告诉用户账号已经存在。所以我们这次要进行用户账号唯一性的校验。校验用户帐号唯一性:需要校验原创 2015-10-26 10:52:25 · 3951 阅读 · 4 评论 -
【SSH项目实战】国税协同平台-7.POI导入用户列表文件
上次我们使用POI技术完成了用户列表的打印工作,下面我们来完成用户列表Excel文件的导入。我们要导入这个Excel文件到我们的系统中:确切的说,是我们要将excel中的数据导入到数据库中保存起来我们的操作过程:1、获取excel文件2、导入2.1、读取工作簿2.2、读取工作表2.3、读取行2.4、读取单元格2.5、保存用户下面我原创 2015-10-25 08:39:23 · 2646 阅读 · 0 评论 -
【SSH项目实战】国税协同平台-6.POI导出用户列表
我们使用POI技术来导出和导入我们之前的用户列表。POI在之前的《杰信商贸》工程中已经详细介绍过了,这里就不赘述。我们直接上手开发。首先说下一我们的POI打印的流程,我们接下来就按照这个流程开发:1、创建工作簿1.1、创建合并单元格对象1.2、头标题样式1.3、列标题样式2、创建工作表2.1、加载合并单元格对象3、创建行3.1、创建头标题行;并且设置原创 2015-10-24 10:20:38 · 3736 阅读 · 2 评论 -
【SSH项目实战】国税协同平台-5.头像上传功能
之前我们完成了用户管理的增删改查功能,来回顾一下我们获取用户列表时的过程:记得用户添加的时候没有上传头像,下面我们来完成添加用户时,头像上传的功能。我们上传头像有以下步骤:1、获取头像(file,contentType,filename)2、保存头像2.1、保存头像到指定的文件目录中2.2、设置用户头像路径下面是详细实现:在用户管理的添加、编辑页面中原创 2015-10-23 17:39:17 · 4371 阅读 · 7 评论 -
【SSH项目实战】国税协同平台-4.用户管理需求分析&CRUD方法2
下面我们继续来完成我们的用户管理模块回顾一下我们的列表部分界面:然后我们开始写新增方法,原来的列表界面的HTML如下: 用户管理 //全选、全反选 function doSelectAll(){ // jquery 1.6 前 //$("input[name=selectedRow]").attr("checked"原创 2015-10-22 12:47:35 · 3893 阅读 · 10 评论 -
【SSH项目实战】国税协同平台-4.用户管理需求分析&CRUD方法1
上次我们完成了日志模块的配置和基础增删改查类,下面我们根据用户的需求来正式开发项目的业务模块。下面我们主要来开发系统用户管理的模块我们有用户的功能说明书,打开功能说明书来看看这个模块需要什么功能:功能说明用户管理:可以根据用户名查询系统用户;在页面中点击“新增”可以添加用户、点击删除可以批量删除选中的用户。“导出”则导出所有的用户列表到excel文件中并原创 2015-10-22 10:00:03 · 4151 阅读 · 2 评论 -
【SSH项目实战】国税协同平台-3.资源文件分类&log4j&抽取BaseAction
上次我们搭建了SSH框架的环境,然后做了单元测试,下面我们继续来完善我们工厂的准备工作。3.1资源文件分类(1)将配置文件归类到新建config文件夹;(2)源代码目录按照功能模块进行划分:cn.edu.hpu.子系统.功能模块.*(3)Jsp放置到WEB-INF目录下;(4)其它:新建一个test源文件架(Source Folder),我们把上次所有测试的代码原创 2015-10-21 22:47:15 · 3501 阅读 · 4 评论 -
【SSH项目实战】国税协同平台-2.环境搭建和整合
框架整合2.1新建数据库及web项目2.1.1创建itcastTax数据库-- 创建数据库CREATE DATABASE itcastTax DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;我们使用的是Mysql数据库2.1.2新建web项目新建工作空间指定项目编码(或工作空间编码)为utf-8,再建 web p原创 2015-10-19 10:59:56 · 6062 阅读 · 19 评论 -
【SSH项目实战】国税协同平台-1.项目介绍
项目介绍1.1项目背景国税协同办公平台包括了行政管理、后勤服务、在线学习、纳税服务、我的空间等几个子系统;我们本次主要的开发功能是纳税服务子系统的部分模块和基于纳税服务子系统信息的个人工作台首页。纳税服务子系统是办税PC前端或移动端的后台管理系统,主要包括的功能有系统角色管理、用户管理、信息发布管理、投诉受理、纳税咨询、易告知、服务预约、服务调查等模块。系统的主界面:原创 2015-10-18 17:32:28 · 9608 阅读 · 16 评论