使用JSB

时间:2015-09-18 20:09:01

标签: java mysql jsp netbeans web-applications

我是初学程序员,我已经构建了数据输入页面并且页面显示了所有条目,但是现在我想在表格中显示特定的行,哪些代码可以帮助我?

我的表栏:全名 - 电子邮件 - 电话 - 教育 我想通过电子邮件进行搜索,以便在一个页面中显示其他数据。

我在互联网上找到了这个代码:

<%@page import="java.sql.*"%>
<% Class.forName("com.mysql.jdbc.Driver");%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <%!
            public class Showit {

                String URL = "jdbc:mysql://localhost/regdata";
                String USERNAME = "root";
                String PASSWORD = "admin";

                Connection conn = null;
                PreparedStatement selectRegister = null;
                ResultSet resultSet = null;

                public Showit() {
                    try {
                        conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
                        selectRegister = conn.prepareStatement(
                                "SELECT a.fullname, a.email,"
                                + " FROM mainr a,"
                                + "WHERE a.fullname = ?"
                                + "AND a.email = ?");

                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }

                public ResultSet getShowit(String fullname, String email) {
                    try {
                        selectRegister.setString(1, fullname);
                        selectRegister.setString(2, email);
                        resultSet = selectRegister.executeQuery();

                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    return resultSet;
                }
            }

        %>
        <%
            String fullname = new String();
            String email = new String();
            if (request.getParameter("fullname") != null) {
                fullname = request.getParameter("fullname");

            }
            if (request.getParameter("email") != null) {
                fullname = request.getParameter("email");

            }

            Showit showit = new Showit();
            ResultSet showits = showit.getShowit(fullname, email);

        %>
        <table border="1">

            <tbody>
                <tr>
                    <td>Full Name</td>
                    <td>Email</td>
                    <td>Title</td>
                </tr>
                <% while (showits.next()) {%>
                <tr>
                    <td><%= showits.getString("fullname")%></td>
                    <td><%= showits.getString("email")%></td>
                    <td><%= showits.getString("Phone")%></td>
                </tr>
                <% }%>
            </tbody>
        </table>


    </body>
</html>

与此页面相关联:

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page import="java.sql.*"%>
<%@page import="java.util.Scanner" %>
<% Class.forName("com.mysql.jdbc.Driver");%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Search</title>
    </head>
    <body>
        <form name="search" action="display.jsp" method="POST">
            <table border="0">
                <tbody>
                    <tr>
                        <td>Full Name</td>
                        <td><input type="text" name="fullname" value="" size="50" /></td>
                    </tr>
                    <tr>
                        <td>E-Mail</td>
                        <td><input type="text" name="email" value=""  size="50" /></td>
                    </tr>
                </tbody>
            </table>
            <input type="reset" value="Reset" name="reset" />
            <input type="submit" value="Submit" name="Submit" />
        </form>
    </body>
</html>

但这不起作用。

3 个答案:

答案 0 :(得分:1)

问题可能在于这一行:

fullname = request.getParameter("email");

请注意,您要将email参数分配给fullname变量。

答案 1 :(得分:0)

首先我看到的是查询错误。在表格别名“a”(此处为第2行)之后删除,如下所示:

 "SELECT a.fullname, a.email,"
          + " FROM mainr a"
          + "WHERE a.fullname = ?"
          + "AND a.email = ?");

答案 2 :(得分:0)

此处还有一个问题:

<td><%= showits.getString("Phone")%></td>

您没有在SELECT语句中包含Phone,因此它不会存在于ResultSet中。