`

struts2 拦截器Class

阅读更多

 

个人记录

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";
				}
			}
		}
	}




 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    struts2拦截器

    &lt;package name="mySturtsInterceptor" extends="struts-default"&gt; &lt;interceptor name="MyInterceptor" class="com.cn.system.interceptor.MyInterceptor"&gt;&lt;/interceptor&gt; ...

    Struts2 国际化字符串 拦截器

    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框架程序中,...

    Struts2 in action中文版

    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 ...

    拦截器的验证

    部署自定义拦截器!! --&gt; &lt;interceptor name="custom" class="com.cvit.interceptor.CustomInterceptor" /&gt; &lt;action name="test" class="com.cvit.avtion.TestAction"&gt; &lt;result&gt;/MyJsp.jsp &...

    整合struts2和spring源代码(可以直接在tomcat中运行)

    可以直接运行,并对整合spring和struts2步骤及需要注意的事项进行类总结 整合spring和struts2总结 1.将struts2和spring中的库文件复制...— 如果没有使用Spring ObjectFactory,提供了2个拦截器来自动装配action。

    jfreechar 整合struts2.1.8版本生成线图,饼图,柱形图

    class:拦截器类路径 --&gt; &lt;interceptor name="timer" class="com.kay.timer"&gt;&lt;/interceptor&gt; &lt;interceptor name="logger" class="com.kay.logger"&gt;&lt;/interceptor&gt; &lt;!-- 定义拦截器栈 --&gt; ...

    struts2配置2.5版

    拦截器:web.xml 配置拦截器&lt;filter&gt; struts2.5的filter-class 与struts2.5以前版本有所不同 &lt;!-- 浏览器访问 http://localhost:8080/MyWeb/helloworld --&gt; --&gt; &lt;?xml version="1.0" encoding=...

    struts项目学习笔记

    基于AOP(面向切面编程)思想的拦截器机制,更易扩展(不修改源代码的条件下,增强代码功能) 更强大、更易用输入校验功能 整合Ajax支持:json插件 Struts2的今生前世: 1.早期开发模型Servlet+JSP+JavaBean显得...

    JSP Struts过滤xss攻击的解决办法

    本方案采用struts2的拦截器过滤,将提交上来的参数转码来解决。 配置struts.xml extends=struts-default,&gt; &lt;!-- 配置拦截器 --&gt; &lt;!-- 定义xss拦截器 --&gt; &lt;interceptor name=xssInterceptor ...

    struts2.0非常实用的学习实例 本人自己精心准备

    拦截器 验证器 struts.xml配置文档详解 本人在该实例中遇到的最大问题及解决方案: "struts2.0做文件上传关于所加载的错误包造成的问题心得" 1:commons-io-1.4.jar 做上传时,如果用的该包是1.0的就经常出经上传不...

    Spring + Hibernate + Struts 事务配置小例子(带提示框等小技巧)

    -- 下面定义BeanNameAutoProxyCreator所需的事务拦截器--&gt; &lt;value&gt;transactionInterceptor &lt;!-- 此处可增加其他新的Interceptor --&gt; &lt;!--定义DAO Bean ,由于BeanNameAutoProxyCreator自动...

    数据校验1

    Struts数据效验, 通过拦截器完成: &lt;interceptor name="validation" class="org.apache.struts2.in

    J2EE应用开发详解

    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...

    从J2SE到J2EE知识点介绍

    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 五、 ...

    JFinal v3.2

    拦截器配置灵活,功能强大Plugin体系结构,扩展性强多视图支持,支持FreeMarker、JSP、Velocity强大的Validator后端校验功能功能齐全,拥有struts2的绝大部分功能体积小仅248K,且无第三方依赖 JFinal v3.2 更新...

    JFinal(JAVA 极速WEB ORM框架 ) v3.2.zip

    AOP支持,拦截器配置灵活,功能强大 Plugin体系结构,扩展性强 多视图支持,支持FreeMarker、JSP、Velocity 强大的Validator后端校验功能 功能齐全,拥有struts2的绝大部分功能 体积小仅218K,且无第三方依赖 ...

    Java学习笔记-个人整理的

    {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} ...

    Java面试宝典2020修订版V1.0.1.doc

    拦截器和过滤器的区别? 91 11、struts.xml中result的type有哪些类型? 91 12、什么时候用JDBC什么时候用Hibernete; 91 13、hibernate 数据的三个状态 91 14、Hibernate中load和get的区别? 92 15、Hibernate的工作...

    java面试题

    答:Struts1和Struts2是两个完全不同的框架,Struts1以ActionServlet作为核心控制器,由ActionServlet负责拦截用户的所有请求。Struts2以核心控制器FilterDispatcher为基础,包含了框架内部的控制流程和处理机制。 ...

Global site tag (gtag.js) - Google Analytics