1st 创建bean logService,注入dao2nd 声明LogInterceptor为bean,注入logService3rd 在拦截的方法中调用logService的方法存日志
解决方案 »
- hibernate使用save 后rollback不起作用
- 40分诚心求解:spring 注入sessionfactory 报nullpoint exception 错误!
- dwr 三级联动 求救!!!
- 如何成为java高手?
- 这是哪个JAVA工具了
- !!!!!!!!!!!!!!!!!!!!!!!!!!高手 指导 学J2EE 先学什么???
- 急,,,请教一个textarea回车分段的问题
- HiberNate,请教一组类的映射文件写发
- 请问有没有用PIII的电脑做J2EE开发的?(非技术贴请斑竹手下留情)
- 做Java应用程序,想看看书,有什么好书介绍?
- 解释下如下的问号处
- struts2 <s:property>取值???
<bean id="log" class="cn.com.utt.util.log.LogInterceptor">
</bean>
<aop:config>
<!-- 声明一个切入点。 -->
<aop:aspect id="myAspect" ref="log">
<aop:pointcut id="apointcut"
expression="execution(* cn.com.utt.action.AdminAction.*(..))" />
<aop:before method="before" pointcut-ref="apointcut" />
</aop:aspect>
</aop:config>这样可以么??
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:beans.xml</param-value>
</context-param>加这个可以么。。我的是放在src文件下面的
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:beans.xml</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>src文件夹下的所有包都被配置进去
<!-- spring start -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:config/spring/dataAccessApplication.xml
</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<listener>
<listener-class>
org.springframework.web.context.request.RequestContextListener</listener-class>
</listener>
<!-- spring end -->
cn.com.utt.action.AdminAction.logout(AdminAction.java:42)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:441)
com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:280)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:243)
com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:165)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:252)
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:122)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:179)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:235)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:89)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:130)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:126)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:138)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:165)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:179)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:488)
org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.29 logs.
package cn.com.utt.action;import javax.annotation.Resource;import org.junit.Test;import cn.com.utt.dao.EquipstatusDao;
import cn.com.utt.exception.AccessException;
import cn.com.utt.pojo.Equipstatus;import com.opensymphony.xwork2.ActionSupport;/** action */
public class AdminAction extends ActionSupport{
@Resource EquipstatusDao equipstatusDao;
/**
*
*/
private static final long serialVersionUID = 1L;
/**
* Test method for {@link cn.com.utt.dao.impl.EquipstatusDaoImpl#addEquipstatus()}.
* @throws AccessException
*/
@Test
public String logout() throws AccessException{
Equipstatus equipstatus = new Equipstatus();
equipstatus.setCpuusage((byte) 23);
equipstatus.setMemusage((byte) 50);
equipstatus.setArpcount(50000);
equipstatus.setNatsessioncount(46884);
equipstatus.setNatusercount(455);
equipstatus.setMacusercount(466);
equipstatus.setMsgsn(122356L);
equipstatus.setMsginterval((short) 10);
equipstatus.setSerialnum("9000001");
equipstatus.setModel("Hiper3300");
equipstatus.setRevision("v2008");
equipstatus.setUptime(62000L); equipstatusDao.addStatus(equipstatus, 1L, 0);
System.out.println("调用action1");
return "index";
}
public String logout1(){
System.out.println("调用action");
return "index1";
}
}