私は "jar"を使用して "Login.jsp"にAroundアドバイスを適用しようとしています。問題は私のコントローラメソッドがチェックであり、メソッドを調べるためにアドバイスを使っていますが、アプリケーションを実行すると、Login.jspのレスポンスとして未定義になります。しかし、私のアドバイスで印刷した結果には期待された結果が含まれています。しかし、クライアント側では得られません。アドバイスはvoid
戻り値の型を持っていますが、あなたの方法はJSONObject
を返すため@Aroundアドバイスが正しいレスポンスを返すが、クライアントサイドレスポンスがnullまたは未定義
AroundAdvice.java
@Aspect @Component
public class AroundAdvice {
static Logger log = Logger.getLogger(AfterLoginAspect.class.getName());
@Around("execution(* com.admin.controller.LoginController.check(..))")
public void logWrittter(ProceedingJoinPoint jp) throws Throwable {
SimpleDateFormat date=new SimpleDateFormat();
log.info("Date Time :: " + date.format(new Date().getTime()));
Object result = jp.proceed();
System.out.println("result around");
log.info("result :: " + result);
// returns {"get Status":"home"}
}
}
LoginController.jsp
// authentication check
@RequestMapping(value = "/PostFormData", method = RequestMethod.POST)
public @ResponseBody JSONObject check(@RequestBody LoginBo login) {
System.out.println("checkCredentials::" + login.getUserName());
String username = login.getUserName();
// log.info("uswername ::"+username);
JSONObject result = new JSONObject();
String encrptedpassword = encryptdPwd.encrypt(login.getPassWord());
boolean login_status = loginService.checkCredentials(username, encrptedpassword);
// log.info("login_status ::"+login_status);
// System.out.println("staus ::"+login_status);
if (login_status == true && login.isIs_system_generated_pwd() == true) {
System.out.println("sys gen chnge pwd:: " + login.isIs_system_generated_pwd());
result.put("getStatus", "change");
// System.out.println(resultPage);
// login.setIs_system_generated_pwd(false);
} else if (login_status == true && login.isIs_system_generated_pwd() == false) {
result.put("getStatus", "home");
// System.out.println("Home paege ");
} else {
result.put("getStatus", "error");
}
System.out.println("result ::" + result);
// log.info("result ::"+resultPage);
return result;
}
私は少なくとも読めるようにあなたの質問を再フォーマットしました。しかし、私と他の人があなたが実際に尋ねたことを理解するのを助けるために、それを更新してください。たとえば、Angular JSがこのすべてにどのように関与しているかはわかりません。私にとっては、JavaとAspectJ(またはSpring AOP)の問題のように見えます。 – kriegaex