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