SSH项目实战
月轩居士
Archimedes said: give me a fulcrum,I will move the earth.Program ape said: give me a keyboard,I can change the world.
展开
-
【SSH项目实战】国税协同平台-32.我要投诉功能2
我们先来想一下,我们的整个投诉的流程是:1、保存投诉信息2、提示用户投诉成功3、刷新父窗口4、关闭当前窗口我们来画一下时序图(对象与对象之间的消息在时间顺序上的交互):我们现在要做的是第9步之后的步骤我们回顾一下我们的投诉信息填写界面:[html] view plaincopy%@ page conte转载 2015-12-10 11:16:49 · 639 阅读 · 0 评论 -
【SSH项目实战】国税协同平台-4.用户管理需求分析&CRUD方法2
回顾一下我们的列表部分界面:然后我们开始写新增方法,原来的列表界面的HTML如下:[html] view plaincopy%@ page contentType="text/html;charset=UTF-8" language="java" %> html> head> title>用户管理title>转载 2015-12-07 19:31:36 · 809 阅读 · 0 评论 -
【SSH项目实战】国税协同平台-2.环境搭建和整合
框架整合2.1新建数据库及web项目2.1.1创建itcastTax数据库-- 创建数据库[sql] view plaincopyCREATE DATABASE itcastTax DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 我们使用的是Mysql数据库2.转载 2015-12-07 19:25:21 · 954 阅读 · 0 评论 -
【SSH项目实战】国税协同平台-15.系统、子系统首页&登录功能2
我们的子系统界面已经加载出来:我们找到左边菜单页,给它加链接:[html] view plaincopydl class=""> dt>a class="yh" href="${ctx }tax/role_listUI.action" target="mainFrame">b>b>角色管理s class="down">s>转载 2015-12-07 19:47:54 · 836 阅读 · 0 评论 -
【SSH项目实战】国税协同平台-12.角色权限管理2
然后是action层:[java] view plaincopypackage cn.edu.hpu.tax.role.action; import java.util.HashSet; import java.util.List; import javax.annotation.Resource; i转载 2015-12-07 19:42:12 · 772 阅读 · 0 评论 -
【SSH项目实战】国税协同平台-1.项目介绍
项目介绍1.1项目背景国税协同办公平台包括了行政管理、后勤服务、在线学习、纳税服务、我的空间等几个子系统;我们本次主要的开发功能是纳税服务子系统的部分模块和基于纳税服务子系统信息的个人工作台首页。纳税服务子系统是办税PC前端或移动端的后台管理系统,主要包括的功能有系统角色管理、用户管理、信息发布管理、投诉受理、纳税咨询、易告知、服务预约、服务调查等模块。系统的主界面:转载 2015-12-07 19:26:52 · 890 阅读 · 0 评论 -
【SSH项目实战】国税协同平台-7.POI导入用户列表文件
我们要导入这个Excel文件到我们的系统中:确切的说,是我们要将excel中的数据导入到数据库中保存起来我们的操作过程:1、获取excel文件2、导入2.1、读取工作簿2.2、读取工作表2.3、读取行2.4、读取单元格2.5、保存用户下面我们来进行具体的实现工作我们在用户列表的jsp页面中可以看到还有一个“导出”的按钮,转载 2015-12-07 19:35:31 · 809 阅读 · 0 评论 -
国税协同平台-6.POI导出用户列表
首先说下一我们的POI打印的流程,我们接下来就按照这个流程开发:1、创建工作簿1.1、创建合并单元格对象1.2、头标题样式1.3、列标题样式2、创建工作表2.1、加载合并单元格对象3、创建行3.1、创建头标题行;并且设置头标题3.2、创建列标题行;并且设置列标题4、操作单元格;将用户列表写入excel5、输出可以回顾一下我们之前的转载 2015-12-07 19:33:54 · 930 阅读 · 0 评论 -
【SSH项目实战】国税协同平台-3.资源文件分类&log4j&抽取BaseAction
3.1资源文件分类(1)将配置文件归类到新建config文件夹;(2)源代码目录按照功能模块进行划分:cn.edu.hpu.子系统.功能模块.*(3)Jsp放置到WEB-INF目录下;(4)其它:新建一个test源文件架(Source Folder),我们把上次所有测试的代码全部移入test文件夹下,然后专门为配置文件创建一个conf源文件夹,将配置文件移入,然后src转载 2015-12-07 19:28:37 · 650 阅读 · 0 评论 -
【SSH项目实战】国税协同平台-13.用户与角色关系
角色与权限:多对多一个角色可以有多个权限,一个权限可以被多个角色使用。那我们下面就来使用我们完成的角色。我们先来看一下需求,记不记得之前的用户编辑界面:可以看到,我们注册用户的时候是要给用户安排一个角色的,而我们的角色在角色管理系统里面已经创建好了,可以从创建好的角色中挑选需要的角色(该角色拥有自己特有的权限)。所以,我们说一下用户与角色的关系设计:用户:用转载 2015-12-07 19:44:46 · 621 阅读 · 0 评论 -
【SSH项目实战】国税协同平台-18.信息发布管理需求分析&CRUD
我们接下来要做一个信息发布管理的功能,首先来看看我们的需求分析:要求信息发布管理原型界面:编辑信息原型界面:2.6.2功能说明信息发布管理:根据信息标题、信息类型进行信息查询;可以在页面中点击“新增”发布信息,点击“删除”进行批量删除信息。列表数据包括信息标题、信息分类、申请人、申请时间、状态、操作;其中操作栏的内容为停用/发布、编辑、删除。当信息的状态转载 2015-12-07 19:51:44 · 1040 阅读 · 0 评论 -
[ssh新闻发布系统四]使用富文本编辑器发布新闻
使用表单不能编辑新闻格式,这篇博客会介绍如何使用ueditor富文本编辑器来编辑新闻。使用ueditor编辑的新闻存储到数据库中的是html代码,并且带有css样式,在后台可以像编辑word一样编辑新闻。一、导入ueditor文件关于ueditor的配置请参考官网JSP 使用说明和我的另外一篇博客jsp项目中使用UEditor富文本编辑器。在WebContent目录下新建uedit转载 2016-03-18 15:35:11 · 3827 阅读 · 0 评论 -
[ssh新闻发布系统三]存储新闻
一、存储新闻dao方法在NewsDao.java中新增存储新闻的saveOrupdate方法public void saveOrupdate(News news){ getSession().saveOrUpdate(news);}123二、存储新闻service方法在NewsService.java中新增存储新闻的saveOrupdate方法转载 2016-03-18 15:33:43 · 1057 阅读 · 0 评论 -
[ssh新闻发布系统二] 读取新闻
一、修改applicationContext.xml把以下代码加到数据库连接配置之后: bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager"> property name="sessionFactory转载 2016-03-18 15:32:40 · 604 阅读 · 0 评论 -
[ssh新闻发布系统一]搭建开发环境
从零开始基于struts2.3、hibernate4.3、spring4.2实现新闻发布系统。下面开始搭建开发环境,主要包括安装eclipse插件下载jar包配置struts、spring、hibernate一、安装eclipse插件在eclipse导航栏依次找到help->eclipse market。输入hibernate搜索hibernate tools工具,转载 2016-03-18 15:31:32 · 1607 阅读 · 0 评论 -
【SSH项目实战】国税协同平台-14.系统、子系统首页&登录功能1
首先,我们先加载我们的系统的首页和子首页。很简单,就是转发到一个jsp页面而已,我们先写一个HomeAction来设置跳转功能:[java] view plaincopypackage cn.edu.hpu.tax.core.action; import com.opensymphony.xwork2.ActionSupport;转载 2015-12-07 19:47:31 · 1222 阅读 · 0 评论 -
【SSH项目实战】国税协同平台-10.自定义返回结果类型
捕获到异常以后,我们想利用前面请求的参数做一些事情,我们就可以利用struts的“自定义返回结果类型”。类“class StrutsResultSupport”就是“struts类结果返回支持”,如果某个类继承了这个父类的话,这个类就会被执行。可以给这个类传入3个参数:location、parse、encode。在使用之前,我们先处理一些东西我们把Action中公用的东转载 2015-12-07 19:39:29 · 545 阅读 · 0 评论 -
【SSH项目实战】国税协同平台-17.权限鉴定&解决登录嵌套
我们系统分了5大子系统,粗粒度的分了5个权限。用户只要有对应系统的权限才可以访问相应的子系统。超级管理员可以访问所有子模块,一般的用户可能只能访问“我的空间”。我们下面就来做一个权限鉴定,我们画个图来设计一下:接下来编码实现:我们要修改我们过滤器的代码[java] view plaincopy@Override转载 2015-12-07 19:50:09 · 603 阅读 · 0 评论 -
【SSH项目实战】国税协同平台-11.角色权限管理1
我们要完成角色管理这一块,首先我们看一下这一块的需求:I.界面描述II.功能说明角色管理:可以根据角色名称查询系统用户;在页面中点击“新增”可以添加用户、点击删除可以批量删除选中的用户。在角色列表中显示角色名称、权限、状态、操作;其中操作列中包括编辑、删除两个功能;点击“编辑”则编辑角色信息,删除则删除该角色。编辑角色:编辑页面包括角色名称、权限列表(可复选转载 2015-12-07 19:41:05 · 1288 阅读 · 0 评论 -
SSH项目实战】国税协同平台-16.登录过滤器
我们先来验证一下之前我们的用户信息是否保存在session中,我们在主系统的首页来显示用户的信息:这个位置如果出现了用户的信息,说明我们的session封装信息成功!我们在主页的欢迎xxx部分添加session中保存的user的name值的显示:[html] view plaincopytd align="right">转载 2015-12-07 19:49:07 · 469 阅读 · 0 评论 -
【SSH项目实战】国税协同平台-8.户帐号唯一性校验
可以看到我们添加用户要指派一个账号但是我们的账号一定是不能重复的,如果账号已经存在,我们不就能让它保存在系统中,要告诉用户账号已经存在。所以我们这次要进行用户账号唯一性的校验。校验用户帐号唯一性:需要校验的地方:新增与编辑;其中编辑页面时,帐号是已经存在的需要将当前帐号排除在校验范围内校验时机:当帐号的值发生变化时;保存的时候校验帐号唯一:前端:ajax转载 2015-12-07 19:37:17 · 696 阅读 · 0 评论 -
【SSH项目实战】国税协同平台-24.条件查询分析与实现
我们之前做好了信息发布管理这一块的功能这次我们就以这个模块为例,去为其添加查询和分页功能。我们先从查询功能做起:条件查询(QueryHelper):1、查询条件语句hql:from 子句:必定出现;而且只出现一次where 子句:可选;但关键字where 出现一次;可添加多个查询条件order by子句:可选;但关键字order by 出现一次;可添加多个排转载 2015-12-11 16:31:22 · 579 阅读 · 0 评论 -
【SSH项目实战】国税协同平台-25.查询条件回显
解释一下回显,例如你翻到100页,这一页有一个信息需要修改,当你点击修改并修改完毕的时候,发现并没有回到之前的第100页,而是回到了第1页!!你是不是就抓狂了?而且你在输入框中的的查询条件也可能改变或消失,这就是没有做数据回显的后果。所以,我们要为我们的这个模块做数据回显功能。我们去分类查询的依据就是info.title值,如果有,我们就按照那个排序并列出结果,如果没有我们就去取所有的,当转载 2015-12-11 16:30:59 · 512 阅读 · 0 评论 -
【SSH项目实战】国税协同平台-26.分页功能编写
可以看到,我们之前的用户管理、角色管理和信息发布管理的列表下均有这些东西:总共1条记录,当前第 1 页,共 1 页 上一页 下一页 到 这个就是美工留给我们做分页的,我们接下来就以信息发布管理模块为例做一个分页功能。我们在做之前首先分析一下我们分页的规则:总共1条记录,当前第 1 页,共 1 页 上一页 下一页 到 属性有:总记录数当前页号转载 2015-12-11 16:30:38 · 707 阅读 · 0 评论 -
【SSH项目实战】国税协同平台-27.分页对象应用&抽取pageNavigator
按照我们给信息发布管理模块编写分页功能的方式去编写,需要大费周章,我们不如把分页功能封装起来,这样这些模块包括以后扩充的模块都能使用分页的功能了。我们回顾一下我们的InfoAction,关于分页的属性有:[java] view plaincopy//分页对象 protected PageResult pageResult; //页转载 2015-12-11 16:29:59 · 522 阅读 · 0 评论 -
【SSH项目实战】国税协同平台-28.投诉受理需求分析&CDM&PDM
首先进行需求分析,我们来看一下我们的需求:界面描述:2.7.2功能说明(1)投诉受理管理:查询用户提交的投诉信息,可以根据投诉部门(部门A/B)、投诉时间段、状态进行查询。在列表信息中展示投诉标题、被投诉部门、被投诉人、投诉时间、状态(待受理、已受理、已失效)、操作;其中操作栏内内容为“处理”,点击“处理”则在打开的查询页面中查看具体的投转载 2015-12-11 16:29:41 · 682 阅读 · 0 评论 -
【SSH项目实战】国税协同平台-30.投诉受理&保存受理信息
上次我们给“投诉受理管理”模块做了多条件查询功能,我们通过流程图来回顾一下这个模块的具体流程:根据流程图,我们接下来剩下的就是“受理投诉”、“保存投诉信息”、“用户投诉”等功能了。我们不用着急,一项一项的来完成。我们下面写的就是管理者受理投诉的功能,可以看到我们的列表有这么一项:我们要给这个受理加一个链接,使之能够进入之前需求分析中要求的受理界面,在受理界面管理者可转载 2015-12-11 16:28:34 · 643 阅读 · 0 评论 -
【SSH项目实战】国税协同平台-33.quartz&SimpleTrigge
在我们“投诉管理”和“我要投诉”这两个模块完成之后,我们要做一个“自动投诉受理”功能。我们来回顾一下“自动投诉受理”功能的需求分析:自动投诉受理:在每个月月底最后一天对本月之前的投诉进行自动处理;将投诉信息的状态改为已失效。在后台管理中不能对该类型投诉进行回复。自动投诉受理是在一定时间内自动的调度任务执行投诉状态的更新;那么需要使用任务调度,常见的任务调度有Jdk 的Timer 以转载 2015-12-10 11:15:40 · 457 阅读 · 0 评论 -
【SSH项目实战】国税协同平台-34.quartz&CronTrigger
我们上次使用quartz任务调度框架创建了一个在后台按照时间间隔不停运行的任务,我们使用的是simpleTrigger简单触发器,为了实现我们的月末自动回复的功能,我们要设置触发器能够在某个精确时间去自动执行任务,那么使用simpleTrigger简单触发器就远远不够了,我们需要使用CronTrigger任务触发器来实现这个功能。我们的CronTrigger设置步骤如下:任务触发器(C转载 2015-12-10 11:15:17 · 484 阅读 · 0 评论 -
【SSH项目实战】国税协同平台-22.逆向工程
下来我们要利用“逆向工程”来创建表和实体类。因为是测试,所以我们所有的代码均在test包下完成。首先,我们在我们工程的test.conf包下创建database.sql文件,把上一次我们得到的sql语句输入进去:[sql] view plaincopy/*==========================================转载 2015-12-11 16:32:13 · 537 阅读 · 0 评论 -
【SSH项目实战】国税协同平台-21.PowerDesigner概念、物理模型
我们之前做的都是先建实体类再去创建表(或者是hibernate自动生成表),有一个概念叫“逆向工程”,就是先创建表,再由表来生成相应的实体类和映射文件。在讲“逆向工程”之前,我们先学一个数据库模型设计工具,做“PowerDesigner”,是设计实体以及实体之间的关系的,而且可以生成数据库建表语句的工具。我们打开PowerDesigner,创建一个“概念模型”,实体集关系表:转载 2015-12-11 16:32:33 · 635 阅读 · 0 评论 -
【SSH项目实战】国税协同平台-4.用户管理需求分析&CRUD方法1
开发系统用户管理的模块我们有用户的功能说明书,打开功能说明书来看看这个模块需要什么功能:功能说明用户管理:可以根据用户名查询系统用户;在页面中点击“新增”可以添加用户、点击删除可以批量删除选中的用户。“导出”则导出所有的用户列表到excel文件中并弹出下载提示框给用户下载;“导入”将需要用户将本地的用户列表按照一定格式将excel中的用户导入到系统中转载 2015-12-07 19:29:43 · 852 阅读 · 0 评论 -
【SSH项目实战】国税协同平台-9.全局异常映射
假设我们在UserAction的listUI方法中加入一句错误代码:[java] view plaincopy//列表页面 public String listUI(){ int i=1/0; userList=userService.findObjects(); return "listUI";转载 2015-12-07 19:38:25 · 561 阅读 · 0 评论 -
【SSH项目实战】国税协同平台-5.头像上传功能
声明:本文为博主原创文章,未经博主允许不得转载。之前我们完成了用户管理的增删改查功能,来回顾一下我们获取用户列表时的过程:记得用户添加的时候没有上传头像,下面我们来完成添加用户时,头像上传的功能。我们上传头像有以下步骤:1、获取头像(file,contentType,filename)2、保存头像2.1、保存头像到指定的文件目录中2.2、设置用户头像转载 2015-12-07 19:32:38 · 581 阅读 · 0 评论 -
【SSH项目实战】国税协同平台-23.抽取BaseService
接下来我们开始整顿我们的Service层,我们每一个Service基本上都有下面几个方法(拿info举例子):[java] view plaincopy//新增 public void save(Info entity); //更新 public void update(Info enetity); //根据id删除 p转载 2015-12-11 16:31:47 · 544 阅读 · 0 评论 -
【SSH项目实战】国税协同平台-31.我要投诉功能1
我们之前完成了投诉回复和保存功能,这次我们将要完成历史受理信息的显示以及数据回显功能,当然还有用户编写投诉信息的入口,我们这次继续。可以注意到,在deilUI.jsp上我们之前的投诉人信息显示,不管是匿名还是不匿名,投诉人的姓名、手机号码都是显示出来的:[html] view plaincopytr> td class=转载 2015-12-11 16:22:08 · 602 阅读 · 0 评论 -
【SSH项目实战】国税协同平台-29.投诉受理查询
现在我们要对建好的表使用“逆向工程”来创建相应的实体类以及映射文件。我们的“逆向工程”在第五阶段“5.逆向工程.txt”章中已经详细阐述过,这里的过程就不再赘述。首先我们还是调出我们的DB Browser,然后找到我们的数据库连接,找到要逆向工程的两张表,点击右键,选择“hibernate Reverse Engineering...”之后就会弹出以下对话框:做出相转载 2015-12-11 16:29:18 · 590 阅读 · 0 评论 -
【SSH项目实战】国税协同平台-19.信息发布管理完善&ueditor文本编辑插件
我们上次虽然完成了信息发布管理模块基础的增删改查,但是我们还有需求没有完成,其中最重要的一点就是需求上要求我们发布的信息必须是有格式的,word文档那种格式,而我们的原始textarea是清除所有文本格式的,我们在这一次来解决这个问题。我们使用ueditor插件(百度开发)来解决这个问题,ueditor是一种“父文本编辑器”,也叫“在线编辑器”,可以使用这种插件来编辑各种格式的文本。(当然转载 2015-12-11 16:33:17 · 585 阅读 · 0 评论 -
【SSH项目实战】国税协同平台-20.异步信息发布
我们上次发表文章之后有一个“停用”和“发布”状态,但是我们没有去做它的切换,所以在这里我们要用异步信息传输的方式去完成这个切换功能。最后我们要的效果是点击“停用”或者“启用”的时候,在“状态”一栏会切换成“停用”或者“启用”。效果大概如此图:我们使用Ajax异步处理这个操作。下面编码实现:首先是在超链接部分添加判断,转向js方法doPublic(var id,var转载 2015-12-11 16:32:50 · 628 阅读 · 0 评论 -
[ssh新闻发布系统五]删除新闻
删除新闻相对比较简单,传入新闻id执行删除操作。一、Daopublic void delete(Integer id) { String hql="Delete FROM News n WHERE n.id=?"; getSession().createQuery(hql).setInteger(0, id).executeUpdate();}1234转载 2016-03-18 15:36:56 · 749 阅读 · 1 评论