二十九:application中都保存了什么东西? 1,登录用户的user对象 当前用户的一般属性,不包含关联的集合属性(为了减少session的存储量) 计算出来的用户的权限总和long[] rightSum; 当用户登录时,验证通过以后计算出来的该用户的权限, * 如果想让用户权限的实时跟随者改变,只要在管理修改该用户的权限的时候,我…
二十九:application中都保存了什么东西? 1,登录用户的user对象 当前用户的一般属性,不包含关联的集合属性(为了减少session的存储量) 计算出来的用户的权限总和long[] rightSum; 当用户登录时,验证通过以后计算出来的该用户的权限, * 如果想让用户权限的实时跟随者改变,只要在管理修改该用户的权限的时候,我…
二十八:权限设计 在用户登录的时候需要读取出用户的权限,并将用户的权限位和权限码放入到session中, 使用spring的applicationListener监听器,在服务器启动的时候就将所有的权限放入到application中 /** * 事件监听器 */ @SuppressWarnings("rawtypes") @Component public class IniRightListener implements ApplicationListener,ServletContext…
二十四:权限设计相关 * 每个权限的标识码都是1<<n,如果接受权限码的是int类型,只能1<<31次,如果是long类型的话,最多只能1<<62 这样的缺陷就限制了权限的数量了, 1==0001<<1=0010 1==0001&0010=0 &是相乘 1|2 0001 | 0010 =3 |是相加  …
十七: 当使用拦截器,给拦截器注入参数的时候 <param name="拦截器名.可以set的属性的命(去对应的拦截器中找set方法)"></param> 动态指定action的input的值在action中定义一个属性inputpage 在配置文件中的input指定${inputAction} 执行到哪个拦截器没有通过这个拦截器的验证,那么就只能走到这个拦截器,不进入action的方法,就直接返回input或者拦截…
八:使用泛型化的BaseAction产生的问题 import java.lang.reflect.ParameterizedType; import cn.survey.exception.ActionException; import com.opensymphony.xwork2.ActionSupport; import com.opensymphony.xwork2.ModelDriven; import com.opensymphony.xwork2.Preparable; /** * 模型驱动只在进入a…
一: 在eclipse中jar包不能在lib下分类存放,如果分类存放,则会发生找不到类的异常 二: 在struts中使用validate和prepare的时候后面跟的是方法名(第一个字母大写),也可以加Do方法名 三: session关注 在struts的action中可以实现SessionAware接口,在经过session拦截器的时候会自动的创建 注入struts封装的session(是一个map集合) 四:自定义登录拦截器: 将…