【发布时间】:2014-06-24 05:00:48
【问题描述】:
您好,我正在尝试使用 oracle jdeveloper 12c 和开发登录页面。我正在使用 Java EE 技术和 JSF 页面。 在验证用户是否存在于数据库中后,我想从登录按钮重定向页面如果找到用户,它将重定向到 MainPage.Jsf 否则重定向到 Login.jsf 两种情况下的问题都会重定向到 Login.jsf 。 PS:我没有对 faces-config 或 adfc-config 进行任何更改这是我的身份验证功能
public String authentification(String login, String pwd) {
try{
Query query;
query = em.createQuery("select o from UserEntity o where " + " o.login = :LOGIN AND o.pwd = :PWD");
query.setParameter("LOGIN",login);
query.setParameter("PWD",pwd);
query.getSingleResult();
return ("success") ;
}
catch(Exception e){
e.printStackTrace();
return null;
}
}
我确定验证功能正常工作
这是我在 managedBean 中的 Dologin()
public String DoLogin() {
BindingContainer bindings = getBindings();
OperationBinding operationBinding = bindings.getOperationBinding("authentification");
Object result = operationBinding.execute();
System.out.println("## Result = " + result);
if (!operationBinding.getErrors().isEmpty()) {
return "/faces/MainPage.jsf?faces-redirect=true";
}
return "/faces/Login.jsf?faces-redirect=true";
}
日志没有显示任何异常或错误
【问题讨论】:
-
你是否在 web.xml 中设置了 servlet-mapping 参数?(如果你的回答是,怎么做)
-
不,我没有那样做:/
-
很明显检查 !operationBinding.getErrors().isEmpty() 返回 false (这意味着没有错误)。此外,您正在处理从身份验证方法生成的所有异常,如果您在日志中看不到任何内容,则意味着没有引发异常。身份验证方法的实现似乎不正确。
-
不,当我编写无效的登录名和密码时,我确定身份验证功能在日志中正常工作,它显示给我:javax.persistence.NoResultException: getSingleResult() 没有检索到任何实体。 ## 结果 = null @Endrik
标签: jsf jakarta-ee redirect oracle-adf