0
这是我的登录页面登录页面错误
<h:outputText value="ENTER USERNAME" ></h:outputText>
<p:inputText value="#{treeBean.username}" id="user"></p:inputText>
<h:outputText value="ENTER PASSWORD" ></h:outputText>
<p:inputText value="#{treeBean.userpass}" id="pass"></p:inputText>
<p:commandButton value="GO" action="#{treeBean.checkuser}" onclick="redirect()"></p:commandButton>
<script type="text/javascript">
function redirect()
{
window.location="/arcpage/arc.jsf";
}
</script>
这是我的treeBean.checkuser功能
public void checkuser()
{
Connection con=null;
try
{
Class.forName("com.mysql.jdbc.Driver");
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/", "root", "root");
try
{
st.executeUpdate("USE ARCPAGE");
String update="SELECT * FROM USER WHERE USER_NAME=? AND USER_PASS=?";
PreparedStatement prest=con.prepareStatement(update);
prest.setString(1,username);
prest.setString(2,userpass);
ResultSet rs=prest.executeQuery();
if(rs.next()==false)
{
check="false";
}
else
{
check="true";
}
}}}
这是我的主网页:
<script type="text/javascript">
if(check!="true")
{
window.location="/arcpage/login.jsf";
}
</script>
<Main Page Content>
如果我键入正确的username-pass组合我被重定向到登录页面而不是主页面。如果我再次输入正确的组合,我将被重定向到主页面。即使我第二次重定向到主页时输入了错误的组合。我认为首页正在执行,然后checkuser()正在执行,因此检查的值在主页面显示之前不会更新。 这是怎么回事?
烨......它的工作... ...日Thnx – DanMatlin
不客气。请注意,你的JDBC代码远没有效率。它没有使用连接池,并且泄漏了数据库资源。它也没有被充分抽象出来,这只会导致丑陋,重复和不可维护的代码。 – BalusC