姿姿霸霸~~!
貴在堅持!
BlogJava
首頁
新文章
新隨筆
聚合
管理
posts - 106, comments - 50, trackbacks - 0
aop攔截springmvc的action不成功!(已解決)
今天做了個aop的試驗,對于springmvc的action不能攔截成功,研究了很久,沒有找到問題,所以請教下大家.
下面是代碼:
1.springmvc的action:
package
com.sure.demo.web;
import
java.util.Date;
import
javax.servlet.http.HttpServletRequest;
import
javax.servlet.http.HttpServletResponse;
import
org.springframework.web.servlet.ModelAndView;
import
org.springframework.web.servlet.mvc.multiaction.MultiActionController;
public
class
DemoTestAction
extends
MultiActionController
{
//
返回的test頁面
private
String testPage;
public
String getTestPage()
{
return
testPage;
}
public
void
setTestPage(String testPage)
{
this
.testPage
=
testPage;
}
/**
* test入口
*
@param
request
*
@param
response
*
@return
*
@throws
Exception
*/
public
ModelAndView test(HttpServletRequest request,
HttpServletResponse response)
throws
Exception
{
ModelAndView mav
=
null
;
mav
=
new
ModelAndView(
this
.getTestPage());
request.setAttribute(
"
test
"
,
new
Date().toString());
return
mav;
}
}
2.jsp代碼:
<%
@ page language
=
"
java
"
import
=
"
java.util.*
"
pageEncoding
=
"
gb2312
"
%>
<%
String
test
=
(
String
)request.getAttribute(
"
test
"
);
%>
<!
DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
>
<
html
>
<
head
>
</
head
>
<
body
>
當前時間是:
<%
=
test
%>
<
br
>
</
body
>
</
html
>
3.aop代碼:
package
com.sure.aopdemo;
import
org.aspectj.lang.JoinPoint;
public
class
AopDemoTestImpl
{
public
void
afterTest(JoinPoint joinPoint)
{
System.out.println(
"
aop--執行類:
"
+
joinPoint.getThis()
+
"
的
"
+
joinPoint.getSignature().getName()
+
"
方法之后
"
);
}
public
void
beforeTest(JoinPoint joinPoint)
{
System.out.println(
"
aop--執行類:
"
+
joinPoint.getThis()
+
"
的
"
+
joinPoint.getSignature().getName()
+
"
方法之前
"
);
}
public
void
exceptionTest()
{
System.out.println(
"
aop方法異常
"
);
}
}
4.xml關于aop的配置:
<?
xml version="1.0" encoding="UTF-8"
?>
<
beans
xmlns
="http://www.springframework.org/schema/beans"
xmlns:xsi
="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop
="http://www.springframework.org/schema/aop"
xmlns:tx
="http://www.springframework.org/schema/tx"
xsi:schemaLocation
="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd"
>
<
bean
id
="aopDemoTestImpl"
class
="com.sure.aopdemo.AopDemoTestImpl"
></
bean
>
<
aop:config
>
<
aop:aspect
id
="test"
ref
="aopDemoTestImpl"
>
<
aop:pointcut
id
="a"
expression
="execution(* com.sure.demo..*.*(..))"
/>
<
aop:before
method
="beforeTest"
pointcut-ref
="a"
/>
<
aop:after
method
="afterTest"
pointcut-ref
="a"
/>
<
aop:after-throwing
method
="exceptionTest"
pointcut-ref
="a"
/>
</
aop:aspect
>
</
aop:config
>
</
beans
>
posted on 2008-09-22 23:19
xrzp
閱讀(7674)
評論(11)
編輯
收藏
所屬分類:
JAVA
FeedBack:
#
re: aop攔截springmvc的action不成功!請教~~~~~~
2008-09-23 08:43 |
toby941
spring的Controller方法是不能AOP攔截的
不是有專門的攔截器么
回復
更多評論
#
re: aop攔截springmvc的action不成功!請教~~~~~~
2008-09-23 08:44 |
隔葉黃鶯
你的 Action 要是通過 Spring IOC 容器創建的實例才能攔截到。
回復
更多評論
#
re: aop攔截springmvc的action不成功!請教~~~~~~
2008-09-23 11:17 |
sure_xx
@隔葉黃鶯
暈,我在配置文件里面,都寫了這些bean的.我發個郵件給你看哈.謝謝.
回復
更多評論
#
re: aop攔截springmvc的action不成功!請教~~~~~~
2008-09-23 17:15 |
隔葉黃鶯
application-context.xml 中的 aop 配置似乎影響不到 app-servlet.xml,他們不被同時解析處理的,試著把對 controller 的 aop 控制的配置移到 app-servlet.xml 中看看。
回復
更多評論
#
re: aop攔截springmvc的action不成功!請教~~~~~~
2008-09-24 10:21 |
隔葉黃鶯
用你發給我的代碼,執行沒問題:
訪問地址:
http://localhost:8080/TestSpring2/demoTest.do?method=test
頁面輸出:
當前時間是:Wed Sep 24 10:08:55 CST 2008
gavin:抽煙中……
控制臺輸出:
aop--執行類:com.sure.demo.biz.DemoTestBiz@1887735的testBiz方法之前
執行BIZ..
aop--執行類:com.sure.demo.dao.DemoTestDaoImpl@1fff293的testDao方法之前
執行DAO..testMap
aop--執行類:com.sure.demo.dao.DemoTestDaoImpl@1fff293的testDao方法之后
aop--執行類:com.sure.demo.biz.DemoTestBiz@1887735的testBiz方法之后
你在日志中應該要把問題描述清楚。
回復
更多評論
#
re: aop攔截springmvc的action不成功!請教~~~~~~
2008-09-24 16:32 |
sure_xx
@隔葉黃鶯
我的意思是沒有攔截到
com.sure.demo.web.DemoTestAction 這個類里面的方法.控制臺輸出的都是攔截的biz和dao的信息
回復
更多評論
#
re: aop攔截springmvc的action不成功!請教~~~~~~
2008-09-24 17:57 |
隔葉黃鶯
從顯示那兩個對象來看,確實是 Spring Aop 沒有對 DemoTestAction 作特殊處理
demoTestBiz
(com.sure.demo.biz.DemoTestBiz$$EnhancerByCGLIB$$5a2f8a7b) com.sure.demo.biz.DemoTestBiz@6ffb14
this
(com.sure.demo.web.DemoTestAction) com.sure.demo.web.DemoTestAction@1155013
回復
更多評論
#
re: aop攔截springmvc的action不成功!請教~~~~~~
2008-09-24 18:52 |
隔葉黃鶯
spring mvc 的 HandlerMapping 有自己的 Interceptor,要實現接口 org.springframework.web.servlet.HandlerInterceptor,其中有 preHandle()、postHandle()、afterCompletion() 方法可監視 action 的執行,但在這幾個方法中能獲取到的信息不詳細,但可以用來具體控制 Action 執行前后的行為。假如這個攔截類是
DemoActionHandlerInterceptor,這個實例需要配置給 HandlerMapping,配置方法如下:
<bean id="urlMapping"
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/demoTest.do">demoTest</prop>
</props>
</property>
<property name="interceptors">
<list>
<bean class="com.sure.aopdemo.DemoActionHandlerInterceptor"/>
</list>
</property>
</bean>
回復
更多評論
#
re: aop攔截springmvc的action不成功!請教~~~~~~
2008-09-24 19:49 |
sure_xx
@隔葉黃鶯
謝謝黃鶯哈!問題解決了!就是像最后寫的那樣.自己寫一個繼承了HandlerInterceptor接口的類,然后再在里面重寫3個方法就能解決了.
再次謝謝哈!
回復
更多評論
#
re: aop攔截springmvc的action不成功!(已解決)
2008-12-02 11:42 |
娃娃
你成功的代碼能否發下出來啊?
回復
更多評論
#
re: aop攔截springmvc的action不成功!(已解決)
2014-07-29 11:35 |
sql吧
樓主最后還有用攔截器的方式解決的??????
spring mvc aop 不可以嗎??????
回復
更多評論
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
網站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
相關文章:
hello,架構world
什么是可滾動的ResultSet
按長度分割字符串,遇到中文的處理
同時使用struts2和springMVC需要注意的事項
獲取有路徑的文件的文件名
小數點后面保留幾位的格式
使用tomcat時,在IE中能自動打開excel
使用spring發送郵件
spring配置事務
aop攔截springmvc的action不成功!(已解決)
<
2014年7月
>
日
一
二
三
四
五
六
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
常用鏈接
我的隨筆
我的評論
我的參與
最新評論
留言簿
(4)
給我留言
查看公開留言
查看私人留言
隨筆分類
db2(2)
JAVA(29)
js(9)
linux/unix(7)
oracle-asm(1)
oracle-rac(5)
oracle-優化(5)
oracle-基礎(31)
oracle-備份恢復(16)
存儲(2)
隨筆檔案
2012年4月 (1)
2011年11月 (2)
2011年10月 (13)
2011年9月 (1)
2011年8月 (2)
2011年7月 (2)
2011年6月 (5)
2011年5月 (16)
2011年4月 (3)
2011年1月 (1)
2010年12月 (8)
2010年7月 (1)
2010年6月 (3)
2010年5月 (3)
2010年1月 (1)
2009年9月 (1)
2009年4月 (3)
2009年3月 (1)
2008年10月 (2)
2008年9月 (1)
2008年8月 (3)
2008年7月 (1)
2008年4月 (1)
2008年3月 (1)
2008年2月 (1)
2007年7月 (2)
2007年6月 (1)
2007年5月 (7)
2007年4月 (1)
2007年3月 (2)
2007年1月 (12)
2006年12月 (1)
2006年10月 (3)
好友的blog
霸霸的blog
風風的BLOG
搜索
積分與排名
積分 - 117995
排名 - 499
最新評論
1.?re: 解決ORA-00600: 內部錯誤代碼, 參數: [4194], [15], [8][未登錄]
謝謝,解決了大問題
--linda
2.?re: aop攔截springmvc的action不成功!(已解決)
樓主最后還有用攔截器的方式解決的??????
spring mvc aop 不可以嗎??????
--sql吧
3.?re: 去除空格的js 和 使用正則表達式替換
dfasfdsa
-- fff fddd
4.?re: 什么是table函數(收集)
也就是說,我好不容易達到了你2年前的水平
--Jcat
5.?re: db2降低hwm(V9.7)
評論內容較長,點擊標題查看
--劉邦
閱讀排行榜
1.?解決ORA-30036:無法按8擴展段(18107)
2.?解決ORA-00600: 內部錯誤代碼, 參數: [4194], [15], [8](9798)
3.?去除空格的js 和 使用正則表達式替換(8988)
4.?aop攔截springmvc的action不成功!(已解決)(7674)
5.?判斷一個JS對象是否為空(6749)
評論排行榜
1.?aop攔截springmvc的action不成功!(已解決)(11)
2.?使用spring發送郵件(4)
3.?計算任何一天是星期幾的算法(拿來主義)(3)
4.?JAVA中日期的問題(3)
5.?j2EE中的過濾器的用法(過濾亂碼)(2)
Copyright ©2025 xrzp Powered By
博客園
模板提供:
滬江博客
主站蜘蛛池模板:
亚洲日本中文字幕天天更新
|
亚洲黄色三级网站
|
99亚洲精品卡2卡三卡4卡2卡
|
亚洲男人天堂2018av
|
日韩免费一区二区三区在线播放
|
免费国产一级特黄久久
|
亚洲av日韩综合一区久热
|
免费无码又爽又刺激网站
|
久久亚洲国产精品一区二区
|
在线aⅴ亚洲中文字幕
|
黄页免费在线观看
|
亚洲精品无码不卡
|
免费成人福利视频
|
亚洲熟女少妇一区二区
|
亚洲欧洲无码一区二区三区
|
日本19禁啪啪无遮挡免费动图
|
亚洲Av综合色区无码专区桃色
|
亚洲日韩在线中文字幕综合
|
国产成人综合久久精品免费
|
香蕉97碰碰视频免费
|
中文字幕第13亚洲另类
|
日本免费一区二区久久人人澡
|
免费不卡中文字幕在线
|
亚洲狠狠ady亚洲精品大秀
|
国产精品成人免费一区二区
|
亚洲AV成人无码久久精品老人
|
亚洲国产精华液2020
|
亚洲成AⅤ人影院在线观看
|
国产免费阿v精品视频网址
|
亚洲自国产拍揄拍
|
亚洲美女视频免费
|
亚洲AV色无码乱码在线观看
|
亚洲情综合五月天
|
在线看片免费不卡人成视频
|
黄色一级毛片免费
|
亚洲卡一卡2卡三卡4卡无卡三
|
a毛片在线免费观看
|
亚洲影视自拍揄拍愉拍
|
免费少妇a级毛片人成网
|
色多多免费视频观看区一区
|
精品国产亚洲一区二区三区
|