rpc 呼び出しを回避するために Cookie を使用しています 初めてユーザー認証に Cookie を使用しています (ログイン時)。そのため、サーブレットで User オブジェクトを Cookie として設定できません。Cookie コンストラクターは文字列のみを許可するためです価値 。
オブジェクトを Cookie として設定するにはどうすればよいですか? Cookie 以外に、RPC 呼び出しを行わずに HTTP セッションからオブジェクトを取得する方法はありますか?
if(authenticated){
LoginPojo ch=new LoginPojo();
ch.setImage("image");
ch.setFullName( u.getFirst_name()+" "+u.getLast_name());
ch.setLogin(u.getLogin);
ObjectMapper objectMapper=new ObjectMapper();
String jsonInString = objectMapper.writeValueAsString(ch);
Cookie c=new Cookie("VISITOR",jsonInString);
// c.setSecure(true);
response.addCookie(c);
request.getRequestDispatcher(rootURL).forward(request, response);
}
しかし、ある人は次のように述べています。「HTTP 状態管理メカニズムの仕様 (Cookie を扱う) では、全体をラップしない限り、Cookie の値に二重引用符を使用できないと規定されています。
JSON を Cookie に入れようとしないでください。」
オブジェクトを JSON との間で変換するためのシステムがあると仮定します。したがって、オブジェクトを JSON 文字列に変換して Cookie に保存し、Cookie からオブジェクトを抽出するときにオブジェクトに変換し直すだけです。JSON の処理には piriti ライブラリをお勧めします (GWT には独自の JSON 処理ライブラリが組み込まれていますが、いくつかの制限があります)。