`

Spring aop & the aop based log or permit management

阅读更多
<aop:config proxy-target-class="true" />
<aop:config>
<aop:aspect id="myAspect" ref="logService">
<aop:pointcut expression="execution(* com.audiencetouch.web.StudentAction.*(..))"
id="logPointCut" />
<aop:before method="logAll" pointcut-ref="logPointCut" />
</aop:aspect>
</aop:config>

<bean id="logService" class="com.audiencetouch.service.LogService"></bean>


import java.util.Iterator;
import java.util.Map.Entry;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import org.apache.struts2.ServletActionContext;
import org.aspectj.lang.JoinPoint;

@SuppressWarnings("unchecked")
public class LogService {


public void logAll(JoinPoint jp){
// System.out.println("in LogService, method logAll invoked.");
// System.out.println("========================");
StringBuilder sb = new StringBuilder();
sb.append("method:" + jp.getSignature().getName());
HttpSession session = ServletActionContext.getRequest().getSession();
String username = (String)session.getAttribute("username");
System.out.println("Welcome ++++++++++++++++++++++++++"+username);
HttpServletRequest request = ServletActionContext.getRequest();
Iterator<Entry<String, Object>> iter = request.getParameterMap().entrySet().iterator();
boolean isFirst = true;
sb.append(" paras:");
while(iter.hasNext()){
Entry<String, Object> entry = iter.next();
if(isFirst){
isFirst = false;
}else{
sb.append("#");
}
sb.append(entry.getKey() + "=");
Object[] allValue = (Object[]) entry.getValue();
for(int i = 0; i < allValue.length; i++){
if(i != 0){
sb.append(",");
}
sb.append(allValue[i].toString());
}
}

System.out.println(sb.toString());
System.out.println("========================");
}
}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics