jfinal拦截器301跳转
在jfinal的handle中加入
HandlerKit.redirect301("http://10.10.3.144:8080/bbb.rar", request, response, arg3);
有一些自己的业务逻辑,可以忽略
package com.dsideal.CommonIntercptor; import java.util.concurrent.TimeoutException; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import net.rubyeye.xmemcached.exception.MemcachedException; import com.dsideal.Util.SigarTest;
import com.jfinal.handler.Handler;
import com.jfinal.kit.HandlerKit;
import com.jfinal.plugin.memcached.MemcachedKit;
import com.jfinal.plugin.memcached.MemcachedPlugin;
import com.jfinal.render.RenderFactory; public class ResourceHandler extends Handler{ /**
* 拦截器,放开报表
*/
@Override
public void handle(String target, HttpServletRequest request,
HttpServletResponse response, boolean[] arg3) { // MemcachedPlugin memcachedPlugin = new MemcachedPlugin("10.10.3.151:11211");
// memcachedPlugin.start();
int index = target.indexOf("ReportServer");
if (index == -1){
// if (request.getRequestURI().indexOf(".") != -1) {
// if (request.getRequestURI().substring(request.getRequestURI().lastIndexOf('.')).toLowerCase().equals(".zip")) {
try {
if(new Long((Long)MemcachedKit.get("dfTxBytesMb")).intValue() > 2) {
System.out.println("TxBytes(每秒发送的总字节数) = " + MemcachedKit.get("dfTxBytesMb") + "MB");
SigarTest.printA();
HandlerKit.redirect301("http://10.10.3.36:8817/aaa.rar", request, response, arg3);
} else {
System.out.println("TxBytes(每秒发送的总字节数) = " + MemcachedKit.get("dfTxBytesMb") + "MB");
SigarTest.printB();
HandlerKit.redirect301("http://10.10.3.144:8080/bbb.rar", request, response, arg3);
}
} catch (TimeoutException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MemcachedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} // }
// } nextHandler.handle(target, request, response, arg3); }
}
}
jfinal拦截器301跳转的更多相关文章
- Jfinal拦截器源码解读
本文对Jfinal拦截器源码做以下分析说明
- jfinal拦截器配置
实现aop @Before(Tx.class) public void index(){ // renderText("hello world!"); render("/ ...
- 关于JFinal拦截器的理解
这是波总的亲自总结,记录一下: 1:拦截器可以用在两个层面,一个是"控制层",另一个是"业务层",其中"业务层"是一种狭义的说法,更加合理的 ...
- jfinal 拦截器中判断是否为pjax请求
个人博客 地址:http://www.wenhaofan.com/article/20180926013919 public class PjaxInterceptor implements Inte ...
- springMVC 拦截器如何做登录检查及页面跳转
一个非常简单的登录权限拦截器 问题一:登录页面的提交请求肯定是要过滤掉的,目前采用在xml里配置<mvc:mapping path="/supplier/*"/>来过滤 ...
- struts2拦截器实现session超时返回登录页面(iframe下跳转到其父页面)
需求:session超时时,返回登录页面,由于页面嵌套在iframe下,因此要跳转到登录页面的父页面,但是首页,登录页面等不需要进行跳转 实现: java文件:SessionIterceptor.ja ...
- Struts2学习笔记(拦截器配置添加)
一.拦截器工作原理: 根据Struts2的工作原理图,拦截器在action执行前进行顺序调用,之后执行Action并返回结果字符串,再逆序调用拦截器.(结构类似递归方式...)大部分时候,拦截器方法都 ...
- .NET MVC4 ApiController拦截器的使用
目前在公司新开发了一个项目,第一次正式使用.NET MVC4来搭建,用拦截器来处理权限验证. 自定义拦截器需继承ActionFilterAttribute类,重写OnActionExecuting和O ...
- 阶段3 3.SpringMVC·_06.异常处理及拦截器_7 SpringMVC拦截器之拦截器接口方法演示
返回值改成false 就是不放行 没有方形,控制台只有一个输出 转发到error页面 新建error.jsp页面 控制台只有拦截器的输出.controller根本就没有执行 把代码改回来 重写第二个方 ...
随机推荐
- easyui源码翻译1.32--Dialog(对话框窗口)
前言 扩展自$.fn.window.defaults.使用$.fn.dialog.defaults重写默认值对象.下载该插件翻译源码 该对话框是一种特殊类型的窗口,它在顶部有一个工具栏,在底部有一个按 ...
- RxJava开发精要8 – 与REST无缝结合-RxJava和Retrofit
原文出自<RxJava Essentials> 原文作者 : Ivan Morgillo 译文出自 : 开发技术前线 www.devtf.cn 转载声明: 本译文已授权开发者头条享有独家转 ...
- Dojo Widget系统(转)
Dojo 里所有的小部件(Widget)都会直接或间接的继承 dijit._Widget / dijit._WidgetBase dijit._Widget 是 dojo 1.6 和 1.6之前的版本 ...
- MFC窗口重绘
Invalidate()与 UpdateAllViews()有什么分别 Invalidate()是让程序重画窗口. UpdateAllViews()是在DOC/VIEW结构中, 当一个视图的数据改变后 ...
- javascript中的undefined,null,"",0和false的云集
在各种各样的数据类型中,我们都会为其定义一个"空值"或"假值",比如对象类型的空值null,.NET Framework中数据库字段的空值DBNull,bool ...
- HTMLPARSER.NET 参考资料
例子1: using System;using System.IO;using Winista.Text.HtmlParser;using Winista.Text.HtmlParser.Lex;us ...
- 面试准备--Spring(IoC)
Spring是为了解决企业应用开发的复杂性而创建的一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架. 1.IoC:控制反转(Inversion of Control)是一个重要的面向对象编 ...
- spring--JDBC的支持--7
7.1 概述 7.1.1 JDBC回顾 传统应用程序开发中,进行JDBC编程是相当痛苦的,如下所示: java代码: 以上代码片段具有冗长.重复.容易忘记某一步骤从而导致出错.显示控制事务.显示处 ...
- Lua类和类继承实现
Lua本身是不能像C++那样直接实现继承,但我们可以用万能的table表来实现. 以下我总结了三种方式的类以及继承的实现 第一.官方的做法,使用元表实现 原理参照<Programming in ...
- Phonegap3.4 环境搭建及新建项目
一.环境准备 1.到这里安装Node.js. 2.到这里下载Adroid ADT Bundle for Windows,下载后解压,我的放在:F:\MobileDev\adt-bundle-windo ...