我的頁面曾經是所有帶Wicket的java作爲前端。現在,我有一個帶有登錄表單的wordpress開始頁面。當我以該登錄形式輸入電子郵件和密碼時,我想將其重定向到登錄服務,然後在登錄成功後將用戶重定向到檢票歡迎頁面。從Wordpress到Java POST
我試圖做到這一點的方式是從wordpress頁面發送POST消息,並在我的Java應用程序中使用服務處理它。這對我來說不太合適。
這是一個很好的方法嗎?如果不是,還有哪些其他方法可行?
這是我今天試圖實施:
@Path("/Login")
@Consumes("application/xml")
public class LoginServiceImpl implements LoginService{
private static final Response USER_AUTHORIZATION_FAILED = Response.status(
Status.NOT_ACCEPTABLE).build();
private static final Response USER_SUCCESSFULLY_AUTHORIZED = Response.status(
Status.ACCEPTED).build();
@Autowired
private UserController userController;
@Override
@POST
public Response login(@QueryParam("email") String email,
@QueryParam("password") String password) {
boolean authenticated = userController.authenticate(email,
password);
User u = userController.findByEmail(email);
if (u != null && u.getUserType() == UserType.COMPANY_RECRUITER) {
handleCompanyRecruiter(u);
return USER_SUCCESSFULLY_AUTHORIZED;
}
else if ((authenticated && u != null) && (u.getCompany().getIsActive())) {
signInUser(u);
setCorrectResponsePage(u);
return USER_SUCCESSFULLY_AUTHORIZED;
}
else{
return USER_AUTHORIZATION_FAILED;
}
}
的applicationContext:
<FORM action="http://localhost:8080/Login" method="post">
<P>
<LABEL for="email">Email: </LABEL>
<INPUT type="text" id="email"><BR>
<LABEL for="password">Password: </LABEL>
<INPUT type="text" id="password"><BR>
<INPUT type="submit" value="Send"> <INPUT type="reset">
</P>
</FORM>
服務(動作後,從頂部的WordPress的頁面仿真)
<!-- LOGIN SERVICE -->
<jaxrs:server id="loginService" address="/login">
<jaxrs:serviceBeans>
<ref bean="loginServiceBean" />
</jaxrs:serviceBeans>
<jaxrs:providers>
<ref bean="jaxbProvider" />
<ref bean="notFoundExceptionMapper" />
</jaxrs:providers>
</jaxrs:server>
<bean class="services.CandidateServiceImpl"
id="candidateServiceBean" />
運行這個,當我輸入的表格,再按發送我收到此錯誤:
HTTP ERROR: 404
NOT_FOUND
RequestURI=/Login
我用註釋@Path(「/登錄」)的LoginServiceImpl也許是不正確的做法? 如何將POST重定向到正確的位置?
這是老Wicket的頁面登錄:
<wicket:panel>
<wicket:extend>
<div id="top_login">
<form wicket:id="loginForm">
<div>
<label for="loginEmail" wicket:id="loginEmailLabel">Email</label>
<input class="text" id="loginEmail" wicket:id="loginEmail" tabindex="101" />
</div>
<div>
<label for="loginPassword" wicket:id="loginPasswordLabel">Password</label>
<input class="text" type="password" id="loginPassword" wicket:id="loginPassword" tabindex="102" />
</div>
<div class="loginBtnArea">
<input wicket:id="loginButton" class="submit" type="submit" tabindex="103" value="Login" />
</div>
</form>
<a wicket:id="forgotPasswordLink"><span class="forgotPassword" wicket:id="forgotPasswordLabel">Forgot your password?</span></a>
</div>
</wicket:extend>
</wicket:panel>
爲什麼你要使用WordPress的開始頁面? Wicket應該足以支持您的歡迎屏幕。 – dimitrisli 2010-12-09 08:55:41
這是我無法控制的業務需求......我同意這是愚蠢的。 – 2010-12-09 09:00:50