拦截器
UI user interface
模板:template
freemarker .ftl文件
配置文件指定使用什么模板
在core核心包下template里
主题theme
1、在主配置文件中加入指定主题 ui
使用模板是没有Label的
2、二级联动标签
<s:doubleselect name="" list="" doubleName="" doubleList=""></s:doubleselect>
list中要写key-value的 top=??
不换行:(1)、用style来把br display:none去掉
(2)、把core--template中doubleselect 的<br>去掉,最好不要用
struts 设置为重定向试试看(重定向是不保留数据的),如果为转发,是会保存注册时候的数据的
3、修改struts源代码
struts2-core-2.5.2
licence.properties
licence=2017-04-24
单独创建一个java类
properties()专门读取配置文件的
对properties文件进行加密
MD5加密 对称的
有不可逆的加密方式
有非对称的
不用主键怎么上传下载?
house前端改成struts
struts在web.xml中使用过滤器配置一个licence,
或者重写acctionsupport 类
反编译struts的源代码.class(使用工具)jd-gui-代码反编译工具
把jar包里的文件替换掉
创建包和类
写完以后替换出来
配置文件放在WEB-INF/classes里面
测试通过了就把这个文件放到struts2的包里
java文件要改名,不能重名
加密方式:得到字节,首位和末尾交换
或者加个循环,/2来交换
工具放软件搬家里了
投影:
?#所有符合条件的集合
$#所有符合条件的最后一个
^#所有符合条件的第一个
按照摆放位置放置
intercepter拦截器 对action
拦截器栈:struts-default.xml
顺序执行,再执行action,再反向执行回来
有默认的拦截器
有在指定包下定义自己拦截器
写类,继承Abstract....类
重写intercept
主配置文件和你那个action的配置文件都要引入配置
多个interceptor
放在stack栈中,先进后出
出现tomcat端口被占用的时候去shutdown tomcat
拦截器和过滤器有什么相同和区别?
过滤器会过滤指定目录的任何请求,拦截器只过滤action请求
过滤器一进入项目就会执行,比拦截器早,拦截器会根据拦截器栈
过滤器在web.xml配置,拦截器在struts.xml配置
什么是反射机制?
框架经过反射做的
servlet 创建实例 得到实例,得到属性和方法
拦截器:继承AbstractInterceptor,重写intercept方法
用invoke来调用拦截器
在哪个action使用到了拦截器,就在那个action加上一句配置文件
<interceptor-ref name="myInterceptorStack"></interceptor-ref>
还要在strut.xml中写上拦截器栈
<interceptors>
<interceptor name="myInterceptor" class="com.bwf.struts.web.interceptors.MyInterceptor"></interceptor>
<interceptor name="mySecondInterceptor" class="com.bwf.struts.web.interceptors.MySecondInterceptor"></interceptor>
<interceptor-stack name="myInterceptorStack">
<interceptor-ref name="mySecondInterceptor"></interceptor-ref>
<interceptor-ref name="myInterceptor"></interceptor-ref>
</interceptor-stack>
</interceptors>