GAEのユーザサービスを利用したwebページを作る勉強をしています。
サーブレットのコードを以下に変更して、ログインページに飛ぶはずなのですが、ログイン画面でログインした先に表示されるメッセージが表示されてしまいます。最初はちゃんとログイン画面に飛んで、ログイン先の画面に飛んだのですが、コードを書き加えていたら、ログインページが飛ばされる状態になってしまいました。
eclipsで開発していますが、実行状態でコードを書き加えたことが影響しているのでしょうか?
サーブレットのコードは
import
1 2import javax.servlet.http.HttpServlet; 3import javax.servlet.http.HttpServletRequest; 4import javax.servlet.http.HttpServletResponse; 5 6import com.google.appengine.api.users.User; 7import com.google.appengine.api.users.UserService; 8import com.google.appengine.api.users.UserServiceFactory; 9 10@SuppressWarnings("serial") 11public class SampleServlet extends HttpServlet { 12 public void doGet(HttpServletRequest req, HttpServletResponse resp) 13 throws IOException { 14 15 UserService userService = UserServiceFactory.getUserService(); 16 User user = userService.getCurrentUser(); 17 18 if(user != null){ 19 resp.setContentType("text/plain"); 20 resp.getWriter().println("Hello,"+ user.getNickname()); 21 }else{ 22 resp.sendRedirect(userService.createLoginURL(req.getRequestURI())); 23 24 } 25 } 26} 27
このページから
Hello App Engine!
Available Servlets:
Sample
から、いきなり
Hello,test@example.com
に飛んでしまいます。
ですが、最初に繋がったときのURLを辿ると、
http://localhost:8888/_ah/login?continue=%2FSample
のページはアクセス出来て、ログインをクリックすれば、上のHellのページに飛びます。
サーブレット以外は手を加えていません。
リンクがおかしいのだと思いますが、どこを直せばいいでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。