JFinal 怎么实现AOP,使得在Controller执行结束后可以执行某个方法 5C

JFinal 怎么实现AOP,使得在Controller执行结束后可以执行某个方法,
也可以理解为一次请求结束之前我想去调用某个方法,这个怎么实现呐,
有木有大佬在用JFinal的。

1个回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
函数执行结束后,执行很久的问题
很奇怪的问题:函数结束执行后,为什么消耗那么久的运行时间?rnrnMFC 对话框工程rn class brn rn public:rn void b1(const CSting &name); // 2.000srn ~b() // 0.146srn rn m_WorkBook.close();rn m_WorkBooks.close();rn m_ExcelApp.Quit();rnrn m_Range.RealeaseDispatch();rn ……rn m_ExcelApp.RealeaseDispatch();rn rn rn rn void xxxDlg::a1(const CString &sname, int index = 1)rn rn clock_t x3, x4;rn x3 = clock();rn b bb;rn bb.b1(sname); rn x4 = clock();rn [color=#FF0000] // x4 - x3: 2.002s[/color]rn rnrn void xxxDlg::a()rn rn clock_t x1, x2;rn x1 = clock();rn [color=#FF0000] a1(sname);[/color] rn x2 = clock();rn [color=#FF0000] // x2 - x1: 7.056s[/color]rn rnrn 类b里面封装的是MFC 中COM的Excel表格操作方法,析构函数就是关闭句炳的操作 。rn 内存中存储表格用的是c++的vector.rn 问题: xxxDlg::a1 执行结束后消耗的时间是(x4 - x3),约2.002s的时间。rn xxxDlg::a() 执行结束后消耗的时间是(x2 - x1),约7.052s的时间。rn xxxDlg::a() 执行结束后只调用了b的析构函数一次,而b的析构函数执行时间0.146s。rn 函数a和函数a1,中间的时间差5s是如何产生的?rnrn
Controller方法莫名其妙的执行两次
最近在做项目时,同事遇到ajax调用一个Controller方法后,该方法在不返回前台的情况下执行两次,导致数据保存了两遍。 简略代码如下: js代码如下: $.ajax({ cache :false, type: "POST", url: "${ctx}/3typePerson/newUserSave", dataType: "JSON", data: $("#edi...
一个线程结束后怎么重新执行
[code=C/C++]rnUINT work1(LPVOID pParam)rnrn CcTreeDlg* cTree =(CcTreeDlg*)pParam; rn MessageBox(cTree->m_hWnd,"开始","!!",MB_OK);rn for(int val=0;val < 100000;val++)rn rn cTree->cProgress1.SetPos(val);rn rn return 0;rnrn[/code]rnrn用afxbeginthread 函数创建的,我设置的一个进度栏,点开始的时候进度栏从头走到尾,但是点第二次的时候,没反应。好像根本就不执行线程函数。这是怎么回事啊。rnCWinThread* cwinthread = afxbeginthread(...); rn还有就是用afxbeginthread 创建的线程怎么释放他返回的资源啊。线程结束后我检查cwinthread 还不是空。rn求解。谢谢
主线程等待子线程执行结束后再执行的实现方式
实现一: 通过一个线程安全的全局变量来控制, 每个子线程执行结束该全局变量减一, 主线程判断全局变量为0时再向下执行 status.set(3); try { threadPoolTaskExecutor.execute(new Innerthread1(paperId, clazzId, clazzScoreResult, personalScoreAdapter)); } ca
怎么结束正在执行的action方法?
想通过页面去终止正在执行的一个action方法
JS 页面加载执行完,执行某个方法
js 如何在页面加载完 ,执行function rnrn一定是页面加载完, 然后用 function 控制加载完页面里面的 某个class属性
c#Task执行完后继续执行某个方法
在工作中经常会遇到对线程执行的情况,我现在想在线程执行完成后做一些其他的操作,应该怎么做呢? 当然强大的c#已经给我们封装好了方法,那就是ContinueWith这个方法,具体的用法如下:  Task.Run(() =&amp;gt; {              //线程执行的操作             }).ContinueWith(LivenessTask);           priv...
aop 切面对象执行方法
Member memb = ((AddWmpsBuyRecord3_2MobileAction)AopContext.currentProxy()).getCurrentMember(); System.out.println("memb>>>>>>>>>>>>>>>>>>>>AddWmpsBuyRecord3_2MobileAction>>>>>>>>>>>>>>>>>>>>"); Syst
线程结束后执行代码
网上查了很多资料,都没有好的方法,有人说用委托是个方法,但不知道委托的话,肯定会卡着主线程的rn我的意思是,有没有什么方法,在不卡住主线程的情况下,在自己的线程内,当线程完成后,执行代码,主线程不用去管他,否则建立线程就无意义了
在NT下怎么编程可以在开机后自动执行某个程序?
在NT下我用VC自己写了个小程序,请问怎么能使系统开机后自动执行这个可执行程序?
怎么结束一个函数的执行
在OnButton1()中,我想当 if(.....)时跳出该函数的执行,就好象没有按这个Button一样。请问用什么函数?rnbreak和continute是不是只能用在循环?
如何监测某个方法的执行?
当某个接口被调用时,对应执行另一个方法,怎么样来关联这两个方法?并且一个被调用,另一个自动执行?
web项目启动时,执行某个方法
web项目启动时,执行某个方法在启动项目的时候,有时候希望后台运行一下方法: 使用监听实现,实现ServletContextListener 使用servlet实现,extends javax.servlet.http.HttpServlet spring初始化bean时 1.监听实现 web文件添加 <listener> <listener-class>test.InitListe
在web项目启动时,执行某个方法
         在web项目中有很多时候需要在项目启动时就执行一些方法,而且只需要执行一次,比如:加载解析自定义的配置文件、初始化数据库信息等等,在项目启动时就直接执行一些方法,可以减少很多繁琐的操作。         在工作中遇到了项目初始数据需要跟其他项目同步的问题,也就是说在项目部署后,启动的时候就要同步另外一个项目的数据,这里写了个简单的实例,用的是监听器机制,创建一个类实现Servle...
批处理等待某个进程结束后再执行另下一步
rnant clean build rncd d:\perrnrnrnrn第一条语句执行完后执行第二条, 批处理如何写
给定时间后 执行想要执行的方法
double delayInSeconds = 2;         dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);         dispatch_after(popTime, dispatch_get_main_queue(), ^(vo
springMVC中controller之前执行的方法
@ModelAttribute()        public void getSessionUser() throws IOException, ServletException {          HttpSession session = getSession();          if (getLoginInfoFromSession()==null) {           
执行存储过程后,怎么再执行自定义函数
如:rnCREATE PROC Prn@CustomerID INTrnASrnBEGINrnSELECT * FROM Customers WHERE CustomerID = @CustomerIDrnENDrnrn另一自定义函数,如:rncreate function clearhtml (@maco varchar(8000))rnreturns varchar(8000) rnas rnbeginrn。。。。。。。。。。。。rnendrnrn在第一个存储过程返回rnrnrs("content")rnrn同时用clearhtml 去一下HTML的标志呢
这个方法,怎么执行?
Public Void GetNumber()rnrn .........rnrnrnrnPublic Void A()rnrn GetNumber();rnrnPublic Void B()rnrn GetNumber();rnrnPublic Void C()rnrn GetNumber();rnrn rnrn方法A、B、C同时调用方法GetNumber,为了使GetNumber方法能有序的执行,也就是说,要等前一次执行完之后,在执行下一次。rn我的想法是在异步线程中去执行,用backgroundworker的IsBusy属性判断一下上一次是否执行完。但是要持续不断地去判断,是不是只有通过计时器去执行呢,方法A、B、C里面都要定义计时器吗?是否有其他办法呢,比如轮询之类的?不用计时器rnrn
Jfinal 在maven和jetty环境下执行
首先  准备好JDK   maven包  tomcat   的环境配置  然后  新建一个项目(Create New Project): 第一次进入需要加载一下配件,需要等一会儿。 接着  我们不急着敲代码,先把该配的环境配置完先: JDK环境配置我就不多说了,下面来讲讲maven在IDEA中的配置:看图 下面是配置web.xml Archetyp
为什么mfc主线程执行结束后才执行子线程
定义了一个线程计时用的,但是测试的时候每次都是录音放完了才开始计时,这是为什么?rn线程rn[code=c]rnunsigned int __stdcall TimeThread(PVOID pM) rn rn CEdit *myedit=(CEdit*)(pM);rn while(st==0)rn rn Sleep(1000);rn static int sec2=0;rn static int min2=0;rn static int h2=0;rn sec2++;rn if(sec2==60)rn rn sec2=0;rn min2++;rn rn if(min2==60)rn rn min2=0;rn h2++;rn rnrn rn wtime2.Format(_T("%d:%d:%d\n"), h2, min2,sec2);rn //m_timeout=wtime2;rn myedit->SetWindowTextW(wtime2);rnrn rn return 0;rnrn[/code]rn按钮rn[code=c]void CrecordDlg::OnBnClickedPlay()rnrn //AfxBeginThread(TimeThread,&m_edit,THREAD_PRIORITY_NORMAL,0,0,NULL);rn st=0;rn hThread[3] = (HANDLE)_beginthreadex(NULL, 0, TimeThread, &m_edit, 0, NULL);rn //m_timeout=wtime2;rn //WaitForSingleObject(hThread[3], INFINITE);rn if(strsound=="音频文件")rn rn UpdateData(TRUE);rn waveapi wa;rn char *buffermusic;rn waveapi::flag=false;rn wa.record(wavform);rn waveapi::flag=true;rn buffermax.clear();rn CFile wf;rn wf.Open(m_openadr,CFile::modeRead);rn int size1=wf.GetLength();rn buffermusic = new char[size1+1];rn wf.Read(buffermusic,size1);rnrn for(int i=0;i
tomcat启动后,执行某个方法卡死,其他方法正常。
SPRING MVC框架,项目发布到服务器上,运行一段时间后,发现前台页面执行某个方法时(AJAX请求),网页卡死,一直得不到后台返回值。执行其他方法,进行其他操作时都正常。只要执行那个方法就不行。其他机器,其他账号执行该方法时也卡死。排除线程数的问题。各位帮分析下什么原因。
QT 某函数执行,等待槽函数结束后执行
函数1rnrn//判断result是否为1rnrnrn槽函数1rnrn//收到信号处理rnresult=1;rnrnrn函数1执行,需要判断result的值是否改变,槽函数1是接收到一个数据,改变result的值;rn问题:如何在函数1中获取槽函数改变后的result值?
Spring AOP无法执行
请大侠们帮忙瞅瞅,为嘛无法运行起来呢:rn配置如下:rnrn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn truern SELECT 1 FROM DUALrn rn rn rn rn rn rnrnrn启动爆错:rn2013-2-27 17:37:21 org.apache.catalina.core.StandardContext listenerStartrn严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListenerrnorg.springframework.beans.factory.BeanCurrentlyInCreationException: Error creating bean with name 'org.springframework.transaction.annotation.AnnotationTransactionAttributeSource#0': Bean with name 'org.springframework.transaction.annotation.AnnotationTransactionAttributeSource#0' has been injected into other beans [org.springframework.transaction.config.internalTransactionAdvisor] in its raw version as part of a circular reference, but has eventually been wrapped. This means that said other beans do not use the final version of the bean. This is often the result of over-eager type matching - consider using 'getBeanNamesOfType' with the 'allowEagerInit' flag turned off, for example.rn at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:546)rn at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)rn at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)rn at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)rn at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)rn at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)rn at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)rn at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)rn at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)rn at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276)rn at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197)rn at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)rn at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4205)rn at org.apache.catalina.core.StandardContext.start(StandardContext.java:4704)rn at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)rn at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)rnrnrn如果去掉:rn则正常,为什么呢?rn如果去掉事务配置,保留aop也能正常运行!!rn我需要用2个啊。
springmvc aop 没有执行
写了一个aop ,但是没有执行,请大侠们帮忙看看,谢谢rn[img=https://img-bbs.csdn.net/upload/201509/16/1442387561_158702.png][/img]rnrn[img=https://img-bbs.csdn.net/upload/201509/16/1442387570_325652.png][/img]rnrn[img=https://img-bbs.csdn.net/upload/201509/16/1442387577_365940.png][/img]
aop执行两次的原因
JavaConfig方式配置没有此现象,而xml配置出现这样的问题。共同代码如下: package springinaction.chapter4; import org.aspectj.lang.annotation.AfterReturning; import org.aspectj.lang.annotation.AfterThrowing; import org.aspectj.lan
spring aop 执行两次
系统整合了shiro框架后,发现方法本体执行一次,aop执行两次! 经过研究,是因为系统中有两个代理创建器,生成两个代理类导致的。
AOP 执行两次的问题
差不多从学校走出来半年了,在学校里学的最基本的理论,在外面开始学习实践,手里有一个需求是做日志,我第一反应就是用到aop去做,一开始很简单就做成了,但是后面一直测试就遇到了很多问题,现在深夜很想睡觉,但是还是想着去罗列出来遇到一些问题 提前申明我使用的是注解@AOP,通知是环绕@,最开始我的切点表达式是这样写的@execution(* modify*(..)),现在就不说问题出在哪里,但是我相信
dwr 怎么实现第一方法执行完再执行第二个
两次调用rn FriendService.addFriends2RowId(bean);rnrn FriendService.getMyFriendsByRowId(bean, showFriends);rn 如何实现,FriendService.addFriends2RowId(bean); 方法把值插入后,再执行FriendService.getMyFriendsByRowId(bean, showFriends);查询方法
Spring aop @aspect无法执行切入方法
今天在用@aspect的时候碰到一个问题,代码如下:rn先定义一个@aspect的方法[code=java]rnpackage com.hexin.pettyLoan.common.aop;rnrnimport java.util.Date;rnrnimport javax.annotation.Resource;rnrnimport org.aspectj.lang.ProceedingJoinPoint;rnimport org.aspectj.lang.annotation.After;rnimport org.aspectj.lang.annotation.AfterReturning;rnimport org.aspectj.lang.annotation.AfterThrowing;rnimport org.aspectj.lang.annotation.Around;rnimport org.aspectj.lang.annotation.Aspect;rnimport org.aspectj.lang.annotation.Before;rnimport org.aspectj.lang.annotation.Pointcut;rnimport org.springframework.stereotype.Component;rnrnrnimport com.hexin.core.annotation.AnnotationUtil;rnimport com.hexin.core.annotation.RedisRead;rnimport com.hexin.core.util.JSONUtil;rnimport com.hexin.core.util.cache.ShardedRedisUtil;rnrnrn@Componentrn@Aspectrnpublic class AspectJRedisRead rn @Pointcut("execution(* com.hexin.pettyLoan.*.service.impl.*.*(..))")rn private void pointCut()rn public AspectJRedisRead()rn System.out.println("aaaaaa");rn rn// @Resource(name="shardedRedisUtil")rn// ShardedRedisUtil redisUtil;rnrn @Before("pointCut()") //spring中Before通知 rn public void readBefore() rn System.out.println("readBefore:现在时间是:"+new Date()); rn rn rn @After("pointCut()") //spring中After通知 rn public void readAfter() rn System.out.println("readAfter:现在时间是:"+new Date()); rn rn @AfterReturning("pointCut()")rn public void readAfterReturning()rn System.out.println("readAfterReturning:现在时间是:"+new Date()); rn rn @AfterThrowing("pointCut()")rn public void readAfterThrowing()rn System.out.println("readAfterThrowing:现在时间是:"+new Date());rn rn rn @Around("pointCut()") //spring中Around通知 rn public Object readAround(ProceedingJoinPoint joinPoint) rn Object result = null;rn try rn System.out.println("readAround开始:现在时间是:"+new Date()); rn result = joinPoint.proceed(joinPoint.getArgs()); rn System.out.println("readAround结束:现在时间是:"+new Date());rn catch (Throwable e) rn e.printStackTrace();rn rn return result;rn rnrn[/code]rnrn配置文件已加入aspectj-autoproxy 如下:rn[code=text]rnrnrnrn[/code]rnservice实现类rn[code=java]rn@Service("flexkeyService")rnpublic class FlexkeyServiceImpl implements FlexkeyService rn @Overridern public String redisTest(Integer id)rn return "this is from function";rn rnrn[/code]rncontroller调用rn[code=java]rn@RequestMapping("/redistest.do")rn public @ResponseBody String redistest(String callback)rn JsonResult result = new JsonResult();rn tryrn result = new JsonResult(1, null, flexkeyService.redisTest(1));rn rn catch(ErrorCodeException ex)rn result = new JsonResult(-1, ex.toMessage(), null);rn logger.error(ex.toMessage(), ex);rn rn String json =JSONUtil.toJsonpString(result, callback);rn return json;rn rn[/code]rnrn但是,在执行了redisTest方法的时候,它并没有去执行@After,@Around等对应的方法rn请大神帮忙查查,是什么原因?
使用spring aop后,目标类中的方法多次执行
1.使用spring aop后,目标类中的方法多次执行。最后究其原因,才知道是在通知中多次用了 point.proceed();方法,导致了多次调用。改为只调用一次即可。 2.以下链接中的情况 还未碰到过。先记录,便用参考。 https://blog.csdn.net/zoujiawei6/article/details/80583495 以上1的代码 package com.bo...
spring AOP——AfterReturningAdvice接口实现方法执行后通知
方法执行后通知(可以理解为方法执行后“增强”)需要实现接口:AfterReturningAdvice interface package com.inter; public interface HelloInter { public void hello(); } helloimpl package com.impl; import com.inter.HelloInte...
Spring AOP 各种拦截方法执行的顺序
AOPImpl.java ================== package salesdepart.service.app; import org.aspectj.lang.annotation.*; import org.aspectj.lang.*; import org.springframework.core.annotation.Order; import
QPropertyAnimation动画结束后,执行其他工作
关于QPropertyAnimation动画效果的教程网上一大堆,这里就不介绍了。 因为在工程中,需要在动画执行结束后,执行另一个函数。 但是如果直接添加该函数到动画执行start()的语句后面,则该函数会立即执行,不会等待动画执行完成再执行。 1、使用QTimer定时器的单次执行函数singleShot。 例如函数test(),则是 QTimer::singleShot(3000,...
在tomcat启动结束后执行某线程
大家好,我想在tomcat服务器启动完成之后执行一个线程接受客户端数据,我写了接受的类,然后在web.xml里配置监听,可是当服务启动到那里的时候,就一直在等待监听,服务器不继续启动了,我想要的效果是在服务器启动之后开启一个线程然后接受数据,不影响其他用户的使用,希望高手帮忙解决一下,谢谢
存储过程执行不结束
写了一段存储过程,用PLSQL test此存储过程时,程序一直不结束。rnrn 程序开始是一些查询,最后有一个insert语句,最终插到表中的数据应该是10条件记录。rnrn 程序一直在执行也不结束,去表里查数据,数据其实已经插入完毕了。rnrn 不知道是什么情况,不知道哪位朋友遇到过这种问题,劳驾解释解释,谢谢了!!!
CSS3动画、过渡结束后触发执行的事件
CSS3动画、过渡结束后触发执行的事件,有些时候需要在动画或过渡效果结束后执行相应操作,那么可以这样:   //过渡结束后执行 $('.test').on('transitionend webkitTransitionEnd',function(e){ alert(e.type); }); //取消过渡结束后执行 $('.test').unbind('transitionend ').un...
C# 等待线程结束后执行下面的程序
rn[code=C#]rnbool goon = true; //是否继续执行随后的程序rnpublic void Main()rnrn Thread staThread = new Thread(new ThreadStart(GetData())); //GetData() 是一个rn staThread.SetApartmentState(ApartmentState.STA);rn staThread.Start();rn //下面代码的意图:希望等这个GetData() 执行结束后再执行Excute()方法rn while (staThread.ThreadState == ThreadState.Running)rn rn goon = false; //按我的想法,GetData()未执行完前 应该是在这儿一直循环rn rn goon = true;rnrn if(goon )Excute(); /rnrnrn//这是一个调用SAP接口取数的方法rnpublic void GetData()rnrn //code...rn rnrnrnpublic void Excute()rnrn //code...rnrnrn[/code]
cin结束后再次执行输入操作
今天使用cin循环读入int型变量,while(cin&amp;gt;&amp;gt;i) 发现结束循环后想再次接受键盘输入时不成功,直接退出了。 这是什么原因呢? cin遇到ctrl+z便认为输入结束,也就是不再接受键盘的输入(但是它会读取缓冲区已经存在的数据),此时ctrl+z还是会留在缓冲区内!!!!!!cin再去读的时候,发现缓冲区存在ctrl+z(上次跳出循环遗留下的),于是它就走了,也就...
如何在线程结束后执行代码?
有部分代码,要在线程结束后才能执行,但不知如何确定线程结束后再执行?rn如果在代码中直接ITHREAD.RESUME语句后写代码,程序就会在线程还没有执行完的情况下执行后面的代码了,请问高手如何解决?
相关热词 c# stream 复制 android c# c#监测窗口句柄 c# md5 引用 c# 判断tabtip 自己写个浏览器程序c# c# 字符串变成整数数组 c#语言编程写出一个方法 c# 转盘抽奖 c#选中treeview