簡體   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