为了账号安全,请及时绑定邮箱和手机立即绑定

将表单提交到与数据库交互的Servlet,结果显示在空白页中

将表单提交到与数据库交互的Servlet,结果显示在空白页中

手掌心 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代码?彻底


查看完整回答
反对 回复 2019-12-07
  • 1 回答
  • 0 关注
  • 1014 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信