URL:
加注解方法
获得本身注解信息操作
@Around("viewRecordsPoinCut()")
public Object around(ProceedingJoinPoint joinPoint) throws Throwable {
System.out.println("joinPoint为"+joinPoint);
System.out.println("###########################");
//从切面织入点处通过反射机制获取织入点处的方法
MethodSignature signature = (MethodSignature) joinPoint.getSignature();
System.out.println("signature为"+signature);
System.out.println("###########################");
//获取切入点所在的方法
Method method = signature.getMethod();
System.out.println("method为"+method);
System.out.println("###########################");
System.out.println("method.name为"+method.getName());
System.out.println("###########################");
//获取注解信息
ViewRecords viewRecords = method.getAnnotation(ViewRecords.class);
System.out.println("viewRecords为"+viewRecords);
System.out.println("###########################");
Long idValue = viewRecords.id();
System.out.println("本身注解值为"+idValue);
System.out.println("###########################");
输出
截图不全的为
method为public com.qcby.teaching.msgmanage.common.web.ResultJson com.qcby.teaching.msgmanage.controller.rest.RestExamController.updateExam(long,java.lang.String,java.lang.String)
获得url路径信息
Object[] objects = joinPoint.getArgs();
System.out.println("objects为"+objects);
System.out.println("###########################");
String[] paramNames = signature.getParameterNames();
System.out.println("paramNames为"+paramNames);
System.out.println("###########################");
for (int i =0;i<paramNames.length;i++){
System.out.println("paramNames"+i+":"+paramNames[i]);
System.out.println("###########################");
System.out.println("objects"+i+":"+objects[i]);
System.out.println("###########################");
if (Objects.equals("id",paramNames[i]) && objects[i] != null){
id = Long.valueOf(objects[i].toString());
}
}
System.out.println("id为"+id);
System.out.println("###########################");
/**
* 进行业务操作
*/
// 执行目标方法
Object r = joinPoint.proceed();
/**
* 目标方法执行完毕之后,执行的业务增强操作
*/
return r;
}
各部分结果
对了还有这个
System.out.println("getRequestURI:"+request.getRequestURI());
System.out.println("getRequestURL:"+request.getRequestURL());
System.out.println("getContextPath:"+request.getContextPath());
System.out.println("getServletPath:"+request.getServletPath());
结果
getRequestURI:/user/index
getRequestURL:http://localhost/user/index
getContextPath:
getServletPath:/user/index
溜了溜了