- 博客(69)
- 资源 (1)
- 收藏
- 关注
原创 角色的修改
1、打开修改页面--根据ID查询出角色数据--查询出中间表数据,并用其做默认勾选--查询出全部的权限数据,并用其生成默认的选项2、修改保存--修改角色表--修改中间表,采取先删除,再新增的方式DAO:
2014-06-28 10:44:07 796
原创 角色的新增
1,打开新增页面时,需要使用xml文件中的内容来初始化复选框2,保存时要将名称存入角色表,将选择的权限存入到角色权限中间表DAO:public void insert(Role role) throws DAOException { if(role==null){ return; } String sql = "insert into role_info va
2014-06-27 12:14:45 570
原创 角色查询功能
1,查询出角色数据2,查询出角色对应的模块数据3,通过关联查询,返回的数据是冗余的,会多于角色本身的数据。--就按照关联来查询,然后使用java代码将其进行合并--分步骤查询,先查询出角色,再遍历角色,根据每一个角色查询它对应的权限Util:/** * 解析privileges.xml工具类 */public class PrivilegeReader {
2014-06-27 10:03:10 1793
转载 关于权限管理
一、权限管理1、什么是权限管理:同一个软件包含了相关业务的全部支持,但是由于用户身份不一样,希望根据他们身份的不同,能够呈现出不一样的内容,那么这样的功能是通过权限管理来实现的。即在用户登录时,判断用户的身份,在显示内容时,根据身份进行差异化的显示。2、权限管理步骤有权限的设置,权限的控制1)权限的设置:是事先预置好用户能够访问的模块、按钮、数据,那么对这些数据预置的过程,
2014-06-26 12:04:40 731
原创 业务账号的修改
1、业务 服务器出租业务,对于每个人的费用是在月底结算的。因此如果当前有人要改资费,不能立刻生效,而是在下个月月初生效,即,在月底使用PL/SQL先计算本月的费用,然后再将套餐进行变更。2、思路 保存时将资费类型存入临时表,在月底自动结算完以后,使用此临时表的数据来更新service。这里有可能一个月客户变更了数次资费,导致临时表中对于一个业务账号有多个资费类型,那
2014-06-26 11:46:56 767
原创 业务账号的状态维护
1、业务账号状态分3种,分别是开通、暂停、删除,其基本操作和账务账号一致。重点关注的是它和账号状态的关系。2、账务账号与业务账号状态的关系 1)暂停账务账号,同时暂停其下属的所有业务账号 2)删除账务账号,同时删除其下属的所有 3)开通业务账号时,校验其对应的账务账号是否处于开通态,若不是,则不允许开通。DAO:
2014-06-23 14:45:24 1145
原创 用JTable显示数据库数据
主要用到:public class JTableTest { public static void main(String[] args) throws DAOException { DefaultTableModel model = new DefaultTableModel(0,3); JTable table = new JTable(model); JFrame
2014-06-21 18:21:07 1945
原创 业务账号的查询
查询的结果和条件中,包含多张表的数据,需要使用外键account_id,cost_id来关联查询出相关的数据。创建VO对象,封装3张表的字段代码:--DAO--Action--struts.xml--JSPV
2014-06-21 12:58:27 1080
转载 多表关联查询(Oracle)
有时一个查询结果需要从两个或两个以上表中提取字段数据,此时需要使用多表关联查询。 1)笛卡尔积关联 create table a( id number(7), name varchar2(20)); create table b( id number(7), name varchar2(20)); insert into a(i
2014-06-21 12:41:23 43350
原创 添加账务账号的部分校验
//校验姓名格式 function checkRealName(){ var realName = $("#realName").val(); if(realName==""){ $("#realNameMsg").text("姓名不能为空").addClass("error_msg");
2014-06-19 14:52:12 696
原创 账务账号的修改
1、生日:回显的格式不对,需要格式化2、推荐人身份证号 --需要回显。即需要根据表中的推荐人ID,查询出该推荐人的身份证。 --推荐人可以修改,修改之后需要查询出对应的ID并赋值给hidden,将hidden的值提交给recommenderId属性。3、有两个请求请求1,打开修改页面请求2,提交保存代码: --DAO --Action
2014-06-19 14:43:45 609
原创 推荐人身份证号的验证
1,光标切换时,要校验推荐人身份证格式2,根据该身份证号查询对应的account表中的ID,并将ID记录到页面的hidden中,表单提交时, 将此hidden数据提交给推荐人ID字段。3)代码--DAO--Action--struts.xml--JSPDAO:
2014-06-17 17:45:06 628
原创 账务账号的新增
1、新增页面上有必输项、可选项,保存时我们只需要写一个insert的SQL即可,该SQL要包含页面上所有的必输项和可选项,那么对于可选项中没有输入的值,将按照null来插入。2、有二次请求请求1,打开新增页面请求2,保存 代码:--DAO--Action--struts.xml--JSP
2014-06-17 15:36:21 979
原创 账务账号的删除
考虑到数据的重要性和可追溯性,并不真正删除数据,而是通过一个状态来标识出来。1,开通态、暂停态的数据可以删除2,删除时,将状态置为删除态2,并且记载删除时间为系统时间DAO:
2014-06-16 18:03:27 613
原创 账务账号的暂停
1,开通态的数据可以进行暂停2,暂停时,将状态置为暂停态1,并且记载暂停时间为系统时间代码:--DAO--Action--struts.xml--JspDAO:
2014-06-16 17:01:26 914
原创 账务账号的开通
1,暂停态的数据可以进行开通2,开通时,将状态置为开通态0,并且删除暂停时间,即将其置为null update account set status='0',pause_date=null where id=?代码:--DAO--Action--struts.xml--$,postDAO:
2014-06-16 15:47:17 524
转载 UI标签
UI标签1、文本框: 1)生成文本框 2)通过OGNL访问Action,将结果填充到框内2、文本域: 1)生成文本域 2)通过OGNL访问Action,将结果填充到框内3、单选框: 1)生成一组单选框,生成单选框的个数及内容,是list属性来指定的,是通过它的OGNL表达式来指定。 2)可以自动勾选一个单选框,是根据nam
2014-06-16 15:34:35 1931
转载 OGNL表达式
1、Struts2基础标签 1)显示标签,可以在页面上直接输出Action属性 2、OGNL表达式 1)常用的 --访问基本属性 --访问实体对象 2)了解的 --访问数组、集合属性 --访问Map属性 --访问时进行运算 --访问时调用方
2014-06-16 15:32:30 403
原创 账务账号查询的基础上增加分页
先搜索再分页,分页查询要带搜索的条件,注意用隐藏框暂存页码代码书写顺序:--DAO--Action--struts.xml--JSPDAO:
2014-06-14 16:15:22 1026
原创 账务账号的搜索功能
1,与资费查询的不同点: 具有搜索功能,当输入若干查询条件,并点击搜索按钮时,要根据这些条件来重新查询数据。2,搜索的规则--多个搜索条件在查询时用于拼写SQL,它们在SQL中的关系and,--这些条件可以任意组合,最少输入是0个,最多输入全部。--先搜索,再分页3,代码顺序查询,可以带搜索条件--通过地址栏访问来查询与点搜索按钮来查询是一类的请求,地址栏访问
2014-06-14 16:09:48 1170
转载 Oracle数据库常见问题
/*创建序列*/create sequence 序列名 increment by 1 start with 100;/*删除表的主键*/alter table 表名 drop constraint 主键名;
2014-06-12 15:27:17 574
原创 连接池DBCP的使用
一,使用连接池DBCP,主要作用是:1,提高性能,给客户带来价值2,控制并发,提升安全性(ThreadLocal)二,连接池的使用步骤 --导包 --修改数据库配置文件db.propertis --重写DBUtil(BasicDataSourceFactory,BasicDataSource)db.properties:username=*
2014-06-12 15:16:10 577
原创 登陆检查设置拦截器
1、需求当用户没有登录时,不允许其直接通过URL访问业务模块的Action,那么这个要求适用于除登录模块之外的所有业务模块,具有很强的通用性,采用拦截器实现2、实现1)创建拦截器 需要从Session中读取出登录信息,判断是否登录,若没有登录则不调用invoke,利用拦截方法的返回值,跳转回登录页面。2)注册拦截器 要注册拦截器栈,包含登录检查拦截器以及
2014-06-12 11:49:22 726
转载 struts2的Result组件
Result组件1)Result是Struts2中用于向客户端输出的组件,转发和重定向可以理解为特殊的输出方式。2)Struts2中预置了10种类型的Result,定义在struts-default.xml中。3)每一个Result实际上就是一个类,他们都实现了接口Result。一,redirectAction类型的Result1、作用 将请求重定向给一个
2014-06-11 16:17:26 608
转载 ValueStack
1,通过ValueStack取值 1)调试标签,开发人员可以用来进行调试 2)直接输出栈顶的值 *3)访问context对象 *4)遍历集合 *5)按数字循环 2,总结:
2014-06-11 15:59:33 377
原创 修改资费名称的其它校验(Jsp)
和增加是一样的//校验资费说明 function checkDescr(){ var descr = $("#descr").val(); var reg = /^[\u4E00-\u9FA5a-zA-Z0-9_]{1,100}$/; if(descr==""){ $("#descrMsg").te
2014-06-11 15:38:14 584
原创 资费的修改中资费名称唯一性校验(struts2+jquery+json)
注意要排除掉和自己比的情况代码书写顺序:--DAO--Action--struts.xml--JSPDAO:
2014-06-11 14:30:41 491
原创 资费的修改(struts2+jsp)
请求一打开修改页面代码书写顺序--DAO--Action--struts.xml--JSP请求二提交表单代码书写顺序--DAO--Action--struts.xml--JSPDAO:
2014-06-11 10:43:04 964
原创 校验资费添加其它的内容(Jsp)
//校验资费说明 function checkDescr(){ var descr = $("#unitCost").val(); if(descr==""){ $("#descrMsg").text("资费说明不能为空").addClass("error_msg"); return;
2014-06-10 11:39:07 574
原创 资费名称唯一性校验(struts2+jsp+json+jquery)
用到json,需要的全部jar包commons-fileupload-1.2.1.jarfreemarker-2.3.15.jarjstl.jarognl-2.7.3.jarojdbc6.jarstandard.jarstruts2-core-2.1.8.jarstruts2-json-plugin-2.1.8.jarxwork-core-2.1.6.jar
2014-06-09 16:01:48 995
原创 资费功能的新增(struts2+jsp)
需要2次请求,第一个请求是打开新增页面,第二个请求是保存新增的数据。代码书写顺序:第一次请求:--struts.xml--列表页面新增按钮,单击事件-->JSP第二次请求:--DAO--Action--struts.xml--addCost.jspDAO:
2014-06-09 12:06:16 1214
原创 资费的删除功能_Struts2+Jsp
资费的删除功能1)删除完应该跳转到查询页面,需要采用重定向的方式做跳转2) -->filter(struts.xml)-->Action-->DAO-->DBUtil -->Result-->FindCostAction-->findCost.jsp3)代码书写顺序: --DAO --Action --struts.xml
2014-06-08 19:19:44 1058
原创 验证码功能实现
1,主要用到stream类型的result:它用于向页面输出二进制数据,往往可以用于生成图片等操作。该Result会将数据输出给调用方。2,需求描述 --我们要生成一张图片,里面带验证码 --生成图片的同时,要记录其对应的验证码,这样我们在登录验证时,才能根据这里记录 的验证码来校验。 --可以将生成的验证码记录到session里面去
2014-06-07 17:55:55 441
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人