Используется сервер MySQL DB. Название базы данных: library
, имя таблицы: book
. таблица содержит следующие столбцы с заданным типом и порядок:Извлечение данных из базы данных с использованием ArrayList и отображение их в JSP
title(varchar), author(varchar), book_id(int)- primary key, count (int), favs (int).
Я хочу, чтобы просмотреть все записи этой таблицы, используя ArrayList
в servlet
и JSP
. Вот мои коды: ViewBook (сервлет)
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import java.sql.*;
import p1.*;
public class ViewBook extends HttpServlet
{
public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException,IOException
{
PrintWriter out=res.getWriter();
try
{
Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3307/library", "root", "admin");
PreparedStatement ps=con.prepareStatement("select * from book");
ResultSet rs=ps.executeQuery();
ArrayList<Book> books=new ArrayList<Book>();
while(rs.next())
{
Book b= new Book();
b.bookID=rs.getInt(3);
b.bookTitle=rs.getString(1);
b.bookAuthor=rs.getString(2);
b.bookCopies=rs.getInt(4);
b.bookFavs=rs.getInt(5);
books.add(b);
}
req.setAttribute("bookslist",books);
con.close();
RequestDispatcher rd=req.getRequestDispatcher("/view_book.jsp");
rd.forward(req,res);
}
catch(Exception e)
{
out.println(e);
}
}
}
Пакет p1 содержит следующий класс:
Book.java
package p1;
public class Book
{
public int bookFavs,bookID, bookCopies;
public String bookTitle;
public String bookAuthor;
}
СПЯ, к которому запрос отправляется-view_book.jsp:
<html>
<body>
<head>
<title>
View Books
</title>
</head>
<body>
<table border=2>
<tr>
<th>Book ID</th>
<th>Title</th>
<th>Author</th>
<th>No. of copies AVAILABLE</th>
<th>Number of favourites</th>
</tr>
<%
ArrayList<Book> dbooks=(ArrayList)request.getAttribute("bookslist");
Iterator it=dbooks.iterator();
while(it.hasNext())
{
Book b=(Book)it.next();
%>
<tr>
<td><%=b.bookID%></td>
<td><%=b.bookTitle%></td>
<td><%=b.bookAuthor%></td>
<td><%=b.bookCopies%></td>
<td><%=b.bookFavs%></td>
</tr>
<%
}
%>
</table>
</body>
</html>
Сервлет и JSP не работают. Я знаю, что это неопределенный вопрос. Пожалуйста, укажите ошибки. И решения, если это возможно!
Что такое "не работает"? Есть ли ошибки в журнале сервера? Ошибки на дисплее? Неверный выход? – RealSkeptic
Нам нужно знать точные ошибки, с которыми вы имеете дело, поэтому мы можем помочь. Вы подключаетесь к БД, но не получаете неправильную информацию? – Sterls
java.lang.ClassNotFoundException: org.apache.jsp.view_005fbook_jsp исключение: org.apache.jasper.JasperException: java.lang.ClassNotFoundException: org.apache.jsp.view_005fbook_jsp \t org.apache.jasper.servlet. JspServletWrapper.getServlet (JspServletWrapper.java:176) \t org.apache.jasper.servlet.JspServletWrapper.service (JspServletWrapper.java:375) \t org.apache.jasper.servlet.JspServlet.serviceJspFile (JspServlet.java:396) –