Java复习总结——框架篇(三)
2016-12-10 10:28
232 查看
Java复习总结——框架篇(三)
Struts2
过滤器与拦截器的区别
实现原理:过滤器的实现基于函数回调,拦截器基于Java反射机制工作环境:过滤器依赖Servlet容器,拦截器不依赖Servlet容器
作用范围:过滤器可以对几乎所有请求起作用,拦截器只对Action请求求作用
功能机制:过滤器无法操作Action上下文、值栈里的对象,拦截器可以
作用次数:过滤器只在容器初始化时调用一次,拦截器在Action生命周期内可以被多次调用
Struts 2 中使用Ajax
java:Order order2 = orderService.getOrder(order.getMenu_id()); JsonConfig config = new JsonConfig(); config.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT); JSONObject json = JSONObject.fromObject(order2); result = json.toString(); return SUCCESS;
struts.xml:
<package name="dai" extends="struts-default,json-default" namespace="/"> <action name="action_*" class="action" method="{1}" > <result type="json"> param name="root">result</param> </result> </action> </package>
Ajax:
success:function(obj){ var json = eval("("+obj+")"); }
缺少jar包报错看这里
自定义拦截器
自定义拦截器声明在action中必需置于默认拦截器栈之前, 而且当显示声明过自定义拦截器时默认拦截器栈就不再生效,需同样显示声明默认拦截器栈 自定义拦截器实现方式: 1.实现com.opensymphony.xwork2.interceptor.Interceptor接口或继承AbstractInterceptor 2.在struts.xml中注册拦截器,如自定义拦截器需要拦截所有方法,可在Package中将其设为默认拦截器 3.在action中调用需要使用的拦截器
Struts.xml
struts.xml中Package中的标签声明需要遵从一下顺序: result-types interceptors default-interceptor-ref default-action-ref default-class-ref global-results global-exception-mappings action*(所有action放到最后)
防止表单重复提交校验器
1.在struts.xml的action中显示声明token拦截器,因为此拦截器不属于18个默认拦截器之一,其后还要声明默认拦截器栈defaultStack 2.在form表单中添加<s:token/>标签,该标签会为form生成一个身份牌用于验证是否重复提交 3.配置token视图 <result name="invoke.token">/token.jsp</result> 并在token.jsp页面中配置<s:actionError/>
注:拦截器会对配置action的所有method生效,使用通配符配置struts.xml时应注意将涉及到form表单提交的method放在同一action中,便于管理
相关文章推荐
- Java复习之集合框架总结
- 黑马程序员——java复习总结——集合框架
- Java复习总结——框架篇(二)
- JAVA 新框架、技术总结
- 基于JAVA平台的框架分析总结
- java 连接池 总结 复习
- Java类集总结之List整体框架
- JAVA开源框架总结
- Java复习总结:Java面向对象程序设计—面向对象(高级篇)
- Java集合框架学习总结
- Java复习总结:Java面向对象程序设计—异常的捕获及处理、包及访问控制权限
- java 集合框架学习总结
- java 连接池 总结 复习
- java各种开发框架总结
- JAVA中集合框架一些常用类的总结
- Java集合总结之Collection整体框架
- java框架总结(找过来的)
- java scjp考试复习总结笔记
- Java映射总结之Map整体框架
- javaweb框架分层总结