从JSP中的java类调用函数

从JSP中的java类调用函数,java,mysql,jsp,Java,Mysql,Jsp,我有一个称为ManagerBook.java的无状态会话java类,其中我有以下方法: public int findBook(int isbn) throws SQLException, ClassNotFoundException{ Class.forName("com.mysql.jdbc.Driver"); Connection con = DriverManager.getConnection(url, user, password); String find = "SELECT *

我有一个称为ManagerBook.java的无状态会话java类,其中我有以下方法:

public int findBook(int isbn) throws SQLException, ClassNotFoundException{
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection(url, user, password);

String find = "SELECT * from book WHERE isbn = ?";
PreparedStatement stt = con.prepareStatement(find);
stt.setInt(1, isbn);
ResultSet rs = stt.executeQuery();

int found = 0;
if (rs.next()) {
    int isbn1 = rs.getInt("isbn");
    String title = rs.getString("title");
    Book b1 = new Book();
    b1.setIsbn(isbn1);
    b1.setTitle(title); 

    found = 1;
}
con.close();
stt.close();
rs.close();
return found;
}
更新1-Book.java类

package book;
import javax.persistence.Entity;
import javax.persistence.Id;

 @Entity
 public class Book {

    private int isbn;
    private String title;

    @Id
    public int getIsbn() {
        return isbn;
    }

    public void setIsbn(int isbn) {
        this.isbn = isbn;
    }
    public String getTitle() {
        return title;
    }
    public void setTitle(String title) {
        this.title = title;
    }

  }
接下来,在我的JSP页面中,我想检索我在输入字段中输入的isbn号的数据。它应该根据ManagerBook.java类中的sql查询向我显示isbn和其他详细信息。当我点击submit按钮时,它会显示ISBN和带有我在输入字段中输入的ISBN编号的书籍的标题。请帮忙。如何在JSP中获取ISBN和磁贴?谢谢

find.jsp

<%@page import="java.util.*, book.*" %>

    <jsp:useBean id = "bm" class="book.ManagerBook" scope = "session"/> 

    <%
        int success = 0;

    Boolean submitted =   Boolean.parseBoolean(request.getParameter("submitted"));
    if(submitted){
        int isbn = Integer.parseInt(request.getParameter("isbn"));      
        success = bm.findBook(isbn);
    }   

    %>

    <h1> Welcome to ABC Library</h1>

    <form>
    <table>
        <tr>
            <td> Enter Details </td>
            <td><input type="text" name="isbn"></td>
            <td><input type="submit" name="find" value="find"></td>
    </tr>
    </table>
        <input type="hidden" name="submitted" value="true">
</form> 

        <%
        if((success == 1) && (submitted)){%> 
            <table>
    <tr>
    <td colspan=2>
    <h2>Book Found</h2>
    </td>
    </tr>

    <tr>
        <td><h3>ISBN</h3></td>
        <td><h3>Title</h3></td>
    </tr>   

    <tr>
        <td><%=b1.getIsbn%></td>
        <td><%=b1.getTitle() %></td>
    </tr>
        </table>    

    <%} else if (submitted){ %>
        <h3> Book Not Found</h3>
        <% } %>

欢迎来到ABC图书馆
输入详细信息
找到的书
ISBN
标题
找不到书
更新3-错误在此处

   <tr>
        <td><%=b1.getIsbn%></td>
        <td><%=b1.getTitle() %></td>
    </tr>
        </table>    

    <%} else if (submitted){ %>
        <h3> Book Not Found</h3>
        <% } %>

找不到书

在表单中,将操作指定为jsp本身

<form action="find.jsp" method="GET">

因此,无论何时提交表单,它都会将表单重定向到同一个jsp。 在请求对象中,将出现isbn编号,该编号将传递给java类中定义的函数

要获取isbn编号和书名,请使用

<%if((success == 1) && (submitted)){%> 
Book Found
ISBN Number=<%=request.getparameter("isbn")%>
Book Name=<%=bm.getBookName()%><!-- getBookName() method in ManagerBook -->
<%}
else
{
%>
Book Not found
<%}%>

找到的书
国际书号=
书名=
找不到书

没关系。我通过使用一个隐藏字段来实现这一点。但我无法实现的是显示我在ManagerBook.java中设置的书名ISBN。。Jelp您可以在ManagerBook.java中再编写一个方法,如果成功为1,将调用该方法,该方法将返回图书名称。因此,您可以在jsp中添加scripylet,在其中检查是否找到图书,然后显示isbn和图书名称。我已经添加了。。请检查我的密码。为什么我不能显示结果?不要使用b1作为参考。它应该是bm。尝试我添加的代码..我希望这有帮助。@Satya-Lol.的副本。。你必须明白,尽管我在努力解决这个问题。这就是为什么要寻求帮助!