第一篇:编程思路整理

1.使用技术
 java jsp js shiro cas solr
2.编程思路整理
1)登录
     1.带有sso的登录:
    a):sso 执行登录验证,登录页面在sso,sso通过用户名、密码、验证码去查找数据库验证是否有效
    b):登录成功,sso 携带ticket跳转到目标项目(service="http:xxxxx")
    c):然后会在项目中执行 MyRealm类(登录、权限验证),中进行登录验证。
    d):登录验证成功或失败 执行MyCasFilter 的登录成功后或失败后的对应方法。
    e):在登录成功后的方法中,拿到用户名,通过用户名查找出用户的其他信息 并存入到session中
    f):登录成功的方法中还需查询出当前(用户、系统)有的权限菜单。
    2.普通登录:
    执行onstart创建会话session -- 执行了createToken

    执行了登录认证 --- 登录成功(失败执行)


2)新增
    a)首先编写controller,跳转到input.jsp(新增页面).现在按钮绑定add()方法,location.href="xxxxx".
    b)修改静态页面,添加<form></form> 标签,给要填写的字段 input等添加 name属性,对应save方法的字段接收属性
    c)编写 valide 表单验证方法 (非空,格式,等)
    d)编写commit方法,提交
    注意:

    有时后新增页面有添加附件按钮,这时需要先生成 id,用该生成的id传递给附件管理模块。 input属性一般定义id 和 name ,id用来js 定位操作(dom)。 把不需要显示但是需要传值的用 input 属性hidden 隐藏域。


3)修改
    a)一般操作流程为,在列表操作列,点击修改按钮,拿到该信息id访问controller层,然后把id传到service层,根据id查询出
    改信息对象,用requeset绑定该对象,传到edit.jsp(修改页面)。
    b)使用el表达式,解析对象到各input框,id值存放在hidden隐藏域。
    c)点击“保存”按钮,则可使用ajax方式,调用controller层中update方法,返回true或fasle。

    e)返回值为true,页面跳转,返回值为false,提示错误信息。


4)查询

    a)列表分页展示页面,一般有特定字段模糊查询,主要字段、时间等,一般时间为分段查询,其他为模糊查询


5)删除
    a)删除方法一般是用ajax 根据id 删除,删除成功后,重新刷新表格。
   b)删除前一般有提示confirm,“是否删除”,删除后有提示“是否删除成功”。

   c)类似的功能模块,对信息进行提交、发布、打回。


6) 全文检索
    a)全文检索一般在web项目台展示端很常用,常用框架:Lucene /solr;
    b)solr是基于lucene开发的全文检索服务器,使用非常方便
    c)先在apacha官网下载 solr,linux 或 windows版本
    b)配置部署在tomcat 或 直接发布solr即可(内置jetty服务器)
    d)用命令行操作,创建core,(控制面板创建 core有时会失败)
    e)运行 solr,默认端口8983,浏览器访问是否成功
    f)配置solr字段:core/conf/managed-schema  重新发布
    g)java端编写:需要jar包 solrj /jsoup(去除html标签用),编写类 solrHandler.java
    f) 控制类 :重置索引 、删除索引、添加索引、查询

    h)总结:使用solr就是把需要创建索引的list给solr处理,需要用的时候从solr查询即可,solr提供了api调用方法(设置好地址。core_name),目前重建索引是删除掉原先所有索引在重新创建的过程(可优化),一般设置自动创建索引在晚上进行,使用调度器。


 7)新闻审批
     a:ajax加载出该条信息所有批示信息、分页展示
    b:置顶、取消置顶、修改操作 使用ajax,操作成功,重新加载数据
    c:如未登录用户不可看到,对此判断,不加载数据,隐藏改快div
    d:信息列表页标题处如需添加标注“已批示”文字,可以在后台拼接

    e:权限控制用shiro标签


  7)数据校验
      前台校验:
        指的是使用js,来判断是否为空,手机、邮箱等格式是否正确
      a)定义validate.js
   b)方法中首先 定义n个 flag = false;
   c) 逐一验证(按照规则,不为空等),通过flag= true,不通过 flag= false.
   e)最后,如果定义的flag都为true,则返回true ,否则返回 false;
   f)验证手机 和 邮箱正则表达式
   var telephoneRegex = /^(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57])[0-9]{8}$/;
   var mailRegex = /^\s*\w+(?:\.{0,1}[\w-]+)*@[a-zA-Z0-9]+(?:[-.][a-zA-Z0-9]+)*\.[a-zA-Z]+\s*$/;
   后台校验
   a)自定义校验 :需要通过数据库查询的校验,如:是否重复等。

   b)数据校验框架 : oval 可以使用注解方式,定义在接收数据的Vo上,校验如:是否为空、格式、字节长度等


   8)前端组件总结:
   a) 表格 :dataTables
   b) 富文本:kindeditor(配置比较方便)、editor
   c) 弹出窗:layer
   d) 美化下拉框、单选框: select-or-die
   e) 时间类:My97DatePicker
   f) 树形: ztree
   g) 分页:jqPaginator 、Pagination
   h) 图表类:echart
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值