我已经编写了这段代码,以便使用检查用户名和密码的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
提交
取消