猿问

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

我已经编写了这段代码,以便使用检查用户名和密码的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。问题可能在哪里?请帮助我进行故障排除。



手掌心
浏览 1015回答 1
1回答

慕森卡

您需要正确处理异常。更换&nbsp; &nbsp; } catch (Exception e) {&nbsp; &nbsp; &nbsp; &nbsp; e.printStackTrace(); // Or System.out.println(e);&nbsp; &nbsp; }通过&nbsp; &nbsp; } catch (Exception e) {&nbsp; &nbsp; &nbsp; &nbsp; throw new ServletException("Login failed", e);&nbsp; &nbsp; }这样您就不会再面对空白页了。现在,您将获得一个默认错误页面,其中包含有关问题原因的完整堆栈跟踪。当然,您也可以在服务器日志中进行挖掘,以查找刚刚打印的堆栈跟踪信息,而不是将其重新抛出。您的问题有几种可能的原因。也许一个ClassNotFoundException或一个SQLException。所有这些都应该是不言而喻的。也可以看看:如何在基于servlet的应用程序中连接到JDBC数据库/数据源?如何在Eclipse Web项目中安装JDBC驱动程序而不面对java.lang.ClassNotFoundexception臭名昭著的java.sql.SQLException:未找到合适的驱动程序与具体问题无关,使用<jsp:useBean>和Scriptlet也不是最佳实践。阅读如何避免JSP文件中的Java代码?彻底
随时随地看视频慕课网APP
我要回答