手掌心
2019-12-07 14:08:00
我已經編寫了這段代碼,以便使用檢查用戶名和密碼的bean和servlet從jsp登錄。從mysql數據庫。代碼如下:index.jsp:<%@page contentType="text/html" pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html> <head> <style type="text/css"> body { background-color:#AFC7C7; padding: 0; margin: 0; } div.wrapper { margin-left: 10%; margin-right: 10%; background-color:#6D7B8D; height: 620px; padding-top:0px; border: thin solid #000000; } div#image{ padding-top:1%; padding-bottom:1%; } div#adminlogin{ width:35%; height:50%; background-color:#AFC7C7; border-width:thin; border-style:solid; border-color:#000000; margin: 0 auto; text-align:left; overflow: hidden; padding: 5px; } hr { height:1px; color:#000000; background-color:#000000; width:99%; margin-left: 0 ; margin-right: auto ; border-style:solid; } .inputtext { width: 350px; height: 30px; Font-Family:Arial; Font-Size:18px } </style> <script language="javascript" type="text/javascript"> function clearText(field){ if (field.defaultValue == field.value) field.value = ''; else if (field.value == '') field.value = field.defaultValue; }問題是瀏覽器僅顯示loginJsp.jsp的空白頁,但我希望它在adminHome.jsp中顯示Hello World。問題可能在哪里?請幫助我進行故障排除。
1 回答

慕森卡
TA貢獻1806條經驗 獲得超8個贊
您需要正確處理異常。更換
} catch (Exception e) {
e.printStackTrace(); // Or System.out.println(e);
}
通過
} catch (Exception e) {
throw new ServletException("Login failed", e);
}
這樣您就不會再面對空白頁了。現在,您將獲得一個默認錯誤頁面,其中包含有關問題原因的完整堆棧跟蹤。當然,您也可以在服務器日志中進行挖掘,以查找剛剛打印的堆棧跟蹤信息,而不是將其重新拋出。
您的問題有幾種可能的原因。也許一個ClassNotFoundException或一個SQLException。所有這些都應該是不言而喻的。
也可以看看:
如何在基于servlet的應用程序中連接到JDBC數據庫/數據源?
如何在Eclipse Web項目中安裝JDBC驅動程序而不面對java.lang.ClassNotFoundexception
臭名昭著的java.sql.SQLException:未找到合適的驅動程序
與具體問題無關,使用<jsp:useBean>和Scriptlet也不是最佳實踐。閱讀如何避免JSP文件中的Java代碼?徹底
添加回答
舉報
0/150
提交
取消