繁体   English   中英

Jsp和Servlet数据库的连接

[英]Jsp and servlet database connectivity

我试图将数据库连接到一个Java文件中,然后在一个jsp文件中使用该java文件来显示数据库的内容,但我不断收到多个注释错误。

Java文件

package library;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class Book {
public ResultSet database()throws Exception
{
    final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
    final String DB_URL = "jdbc:mysql://localhost/Library";

    final String USER = "root";
    final String PASS = "asdfghjkl";

    Connection conn = null;
    ResultSet rs = null;

    Statement stmt = null;
    try
    {
        Class.forName(JDBC_DRIVER);
        conn = DriverManager.getConnection(DB_URL,USER,PASS);


        stmt = conn.createStatement();

        String query = "SELECT * FROM books";


        rs = stmt.executeQuery(query);

    }
    catch(Exception e)
    {

    }
    rs.close();
    stmt.close();
    conn.close();

    return rs;
}
}

Jsp文件

<%@page import="library.Book" %>
<%@page import="java.sql.ResultSet" %>
<html>
<head>

</head>
<%
ResultSet rs = database();
%>
<body>

</body>
</html>

错误是:

在此行找到多个注释:-类型__2F_Library_20_Management_2F_WebContent_2F_Books_2E_jsp的方法database()未定义-__2F_Library_20_Management_2F_WebContent_2F_Books_2E_jsp的类型的方法database()未定义

最根本的问题是您试图在不对Book实例进行调用的情况下对database()进行调用。

在您的jsp中,如果尝试以下操作,则可能会遇到更多的运气:

<%
    Book book = new Book();
    ResultSet rs = book.database();
%>

至少它将解决您当前的错误。

此外,您绝不应该吞下异常,至少应将其打印出来。

我可以这样尝试很好

public ResultSet database() throws ClassNotFoundException, SQLException{
    Class.forName("com.mysql.jdbc.Driver");
    connection=DriverManager.getConnection("jdbc:mysql://localhost:3306/springdemo", "root", "devbinod");
    Statement smt=connection.createStatement();
    ResultSet resultSet=smt.executeQuery("select * from Student");

    return resultSet;

}

你这样在jsp调用.java文件

  <%
    Book b=new Book();
    ResultSet rs=b.database();

    %>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM