第一篇:编程思路整理
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方法,提交
注意:
有时后新增页面有添加附件按钮,这时需要先生成> 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|15|17|18|14){8}$/;
var mailRegex = /^\s*\w+(?:\.{0,1}[\w-]+)*@+(?:[-.]+)*\.+\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
页:
[1]