1

ユーザーを認証して自分のページ、つまり www.mysite.com/"user's email" にリダイレクトする方法。

機能しない次のアルゴリズムを使用しています...

User クラスの userDB:

Map<String,String> userdata=new HashMap<String,String>();

最初に私のログインプロセスフォーム:

@Path("/login")
    @POST
    @Produces(MediaType.TEXT_HTML)
    @Consumes(MediaType.APPLICATION_FORM_URLENCODED)
    public void login(
            @FormParam("email") String emailc,
            @FormParam("password") String pass,
            @Context HttpServletResponse servletResponse
    ) throws IOException,RuntimeException {
        User u1=new User();
        pass=u1.getPassword();
        emailc=u1.getEmailaddrs();

              boolean checked=false;
        boolean exists;
        exists=u1.userdata.containsKey(emailc);
        if(exists){
            String mypass =u1.userdata.get(emailc);
            if(mypass==pass){
                checked=true;
            }else{
                checked=false;
            }
        }else{
            checked=false;
        }
        if(!checked){
            //User Doesn't exists
            servletResponse.sendRedirect("http://localhost:8080/MySite/pages/Create_Profile.html");
        }else{
            servletResponse.sendRedirect("http://localhost:8080/MySite/{email}");  <<<< How to redirect using @FormParam("email")   
        }
    }  

プロフィール作成

@POST
    @Produces(MediaType.TEXT_HTML)
    @Consumes(MediaType.APPLICATION_FORM_URLENCODED)
    public void newUser(
            @FormParam("email") String email,
            @FormParam("password") String password,
            @Context HttpServletResponse servletResponse
    ) throws IOException {
            User u = new User(email,password);
            User.userdata.put(email,password);
    }
4

2 に答える 2

0

User常にパラメータなしで新しいを作成します: User u1=new User();. これらのUserインスタンスはすべて同じプロパティ値を持ち、おそらくexists常に常にfalse.

于 2013-06-18T11:07:44.253 に答える