个人记录
1 拦截器类继承MethodFilterInterceptor
@Override protected String doIntercept(ActionInvocation invocation) throws Exception { ActionContext ac = invocation.getInvocationContext(); Map<String,Object> session = ac.getSession(); Integer userId = (Integer)session.get("userId"); HttpServletRequest request = (HttpServletRequest)ac.get(StrutsStatics.HTTP_REQUEST); String uri = request.getServletPath(); int decimalIndex = uri.lastIndexOf("."); uri = uri.substring(0, decimalIndex); System.out.println(uri); if("/login".equals(uri) || "/logout".equals(uri) ){ return invocation.invoke(); }else if(userId == null ){ return "loginPage"; }else{ List<String> priList = (List<String>)session.get("userPrivilege"); if(priList.contains(uri)){ return invocation.invoke(); }else{ if(uri.endsWith("ajax")){ HttpServletResponse response = (HttpServletResponse)ac.get(StrutsStatics.HTTP_RESPONSE); response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); String message = "没有权限"; out.println(message); out.flush(); out.close(); return null; }else{ return "authFail"; } } } }
相关推荐
<package name="mySturtsInterceptor" extends="struts-default"> <interceptor name="MyInterceptor" class="com.cn.system.interceptor.MyInterceptor"></interceptor> ...
2. 使用java.text.MessageFormat中的字符串格式,格式为{ 参数序号(从0开始), 格式类形(number | date | time | choice), 格式样式},例如: validation.between=Date must between {0, date, short} and {1, ...
2、拦截器不依赖于servlet容器,通过动态代理实现,过滤器依赖于servlet容器 3、拦截器在方法前后,异常前后等调用,而过滤器只能在请求前和请求后各调一次。 4、拦截器可以利用依赖注入,因此在spring框架程序中,...
4.3 研究内建的Struts 2拦截器 67 4.3.1 工具拦截器 67 4.3.2 数据转移拦截器 67 4.3.3 工作流拦截器 69 4.3.4 其他拦截器 72 4.3.5 内建的拦截器栈 73 4.4 声明拦截器 74 4.4.1 声明独立的拦截器和拦截器栈 74 ...
部署自定义拦截器!! --> <interceptor name="custom" class="com.cvit.interceptor.CustomInterceptor" /> <action name="test" class="com.cvit.avtion.TestAction"> <result>/MyJsp.jsp &...
可以直接运行,并对整合spring和struts2步骤及需要注意的事项进行类总结 整合spring和struts2总结 1.将struts2和spring中的库文件复制...— 如果没有使用Spring ObjectFactory,提供了2个拦截器来自动装配action。
class:拦截器类路径 --> <interceptor name="timer" class="com.kay.timer"></interceptor> <interceptor name="logger" class="com.kay.logger"></interceptor> <!-- 定义拦截器栈 --> ...
拦截器:web.xml 配置拦截器<filter> struts2.5的filter-class 与struts2.5以前版本有所不同 <!-- 浏览器访问 http://localhost:8080/MyWeb/helloworld --> --> <?xml version="1.0" encoding=...
基于AOP(面向切面编程)思想的拦截器机制,更易扩展(不修改源代码的条件下,增强代码功能) 更强大、更易用输入校验功能 整合Ajax支持:json插件 Struts2的今生前世: 1.早期开发模型Servlet+JSP+JavaBean显得...
本方案采用struts2的拦截器过滤,将提交上来的参数转码来解决。 配置struts.xml extends=struts-default,> <!-- 配置拦截器 --> <!-- 定义xss拦截器 --> <interceptor name=xssInterceptor ...
拦截器 验证器 struts.xml配置文档详解 本人在该实例中遇到的最大问题及解决方案: "struts2.0做文件上传关于所加载的错误包造成的问题心得" 1:commons-io-1.4.jar 做上传时,如果用的该包是1.0的就经常出经上传不...
-- 下面定义BeanNameAutoProxyCreator所需的事务拦截器--> <value>transactionInterceptor <!-- 此处可增加其他新的Interceptor --> <!--定义DAO Bean ,由于BeanNameAutoProxyCreator自动...
Struts数据效验, 通过拦截器完成: <interceptor name="validation" class="org.apache.struts2.in
124 8.5.2 拦截器的实现原理 124 8.5.3 Struts2的内置拦截器 124 8.5.4 拦截器的配置和使用 125 8.5.5 自定义拦截器 126 8.6 一个简单的Struts2应用 130 8.7 小结 140 第9章 JSF 141 9.1 JSF技术简介 141 9.1.1 JSF...
1. struts2的拦截器定义以及使用 153 2. struts标签 160 3. Struts 2 标签库说明及使用 160 4. set 描述 169 5. text 描述 170 6. property 描述 170 7. Struts的异常处理 171 8. Struts的上传与下载 178 五、 ...
拦截器配置灵活,功能强大Plugin体系结构,扩展性强多视图支持,支持FreeMarker、JSP、Velocity强大的Validator后端校验功能功能齐全,拥有struts2的绝大部分功能体积小仅248K,且无第三方依赖 JFinal v3.2 更新...
AOP支持,拦截器配置灵活,功能强大 Plugin体系结构,扩展性强 多视图支持,支持FreeMarker、JSP、Velocity 强大的Validator后端校验功能 功能齐全,拥有struts2的绝大部分功能 体积小仅218K,且无第三方依赖 ...
{10.1}Class}{141}{section.10.1} {10.1.1}Field}{145}{subsection.10.1.1} {10.1.2}Method}{145}{subsection.10.1.2} {10.1.3}Constructor}{145}{subsection.10.1.3} {10.2}其他Java相关}{146}{section.10.2} ...
拦截器和过滤器的区别? 91 11、struts.xml中result的type有哪些类型? 91 12、什么时候用JDBC什么时候用Hibernete; 91 13、hibernate 数据的三个状态 91 14、Hibernate中load和get的区别? 92 15、Hibernate的工作...
答:Struts1和Struts2是两个完全不同的框架,Struts1以ActionServlet作为核心控制器,由ActionServlet负责拦截用户的所有请求。Struts2以核心控制器FilterDispatcher为基础,包含了框架内部的控制流程和处理机制。 ...