JavaBean+JSP图书信息

1.先在eclipse 中新建一个项目,在项目的【Java Resources】目录下的【src】新建一个包(我这里的包名是JavaBean),在此包中新建一个类(我这里的类名是BookInfo),打开class输入以下代码:

package JavaBean;
import java.util.ArrayList;
public class BookInfo {
	private String bookName;
	private String author;
	private String introduce;
	private int sum;
	private ArrayList<BookInfo> bookList=new ArrayList<BookInfo>();
	public String getBookName() {
		return bookName;
	}
	public void setBookName(String bookName) {
		this.bookName = bookName;
	}
	public String getAuthor() {
		return author;
	}
	public void setAuthor(String author) {
		this.author = author;
	}
	public String getIntroduce() {
		return introduce;
	}
	public void setIntroduce(String introduce) {
		this.introduce = introduce;
	}
	public int getSum() {
		return sum;
	}
	public void setSum(int sum) {
		this.sum = sum;
	}

	public ArrayList<BookInfo> getBookList() {
		return bookList;
	}
	public void setBookList(ArrayList<BookInfo> bookList) {
		this.bookList = bookList;
	}
	public void addBook() {
		BookInfo book=new BookInfo();
		book.setBookName(bookName);
		book.setAuthor(author);
		book.setIntroduce(introduce);
		book.setSum(sum);
		if(book.getBookName()!=null) {
			bookList.add(book);
		}
	}	
}

2.在项目中的【WebContent】下新建一个JSP File文件,在此JSP文件中输入以下代码:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>图书信息</title>
</head>
<body>
	<jsp:useBean class="JavaBean.BookInfo" id="book" scope="application"></jsp:useBean>
	<jsp:setProperty property="*" name="book"/>
	<form action="#" method="get" name="tgInfo">
		<p>书名:<input type="text" name="bookName"/></p>
		<p>作者:<input type="text" name="author"/></p>
		<p>简介:<input type="text" name="introduce"/></p>
		<p>书本数量:<input type="text" name="sum"/></p>
		<p><input type="submit" value="添加"/></p>
	</form>
	<% book.addBook(); %>
	<h1>图书列表</h1>
	<table border="1">
		<tr>
			<th>书名:</th>
			<th>作者:</th>
			<th>简介:</th>
			<th>书本数量:</th>
		</tr>
		<%
			if(book.getBookList()!=null){
				for(int i=0;i<book.getBookList().size();i++){
		%>
			<tr>
				<td><%=book.getBookList().get(i).getBookName() %></td>
				<td><%=book.getBookList().get(i).getAuthor() %></td>
				<td><%=book.getBookList().get(i).getIntroduce() %></td>
				<td><%=book.getBookList().get(i).getSum() %></td>
			</tr>
	    <%
				}
			}
		%>
	</table>
</body>
</html>

运行结果如下:
在这里插入图片描述

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
假设有一个图书馆的数据库,其有一张名为books的表,表有以下字段:id(图书编号)、name(图书名称)、author(图书作者)、publisher(图书出版社)、price(图书价格)。 以下是基于JavaBeanJSP实现图书查询功能的代码: 1. Book.java ```java public class Book { private int id; private String name; private String author; private String publisher; private double price; // getters and setters } ``` 2. BookDAO.java ```java import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; public class BookDAO { private String jdbcURL; private String jdbcUsername; private String jdbcPassword; private Connection jdbcConnection; public BookDAO(String jdbcURL, String jdbcUsername, String jdbcPassword) { this.jdbcURL = jdbcURL; this.jdbcUsername = jdbcUsername; this.jdbcPassword = jdbcPassword; } private void connect() throws SQLException { if (jdbcConnection == null || jdbcConnection.isClosed()) { try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { throw new SQLException(e); } jdbcConnection = DriverManager.getConnection(jdbcURL, jdbcUsername, jdbcPassword); } } private void disconnect() throws SQLException { if (jdbcConnection != null && !jdbcConnection.isClosed()) { jdbcConnection.close(); } } public List<Book> searchBooks(String keyword) throws SQLException { List<Book> books = new ArrayList<>(); String sql = "SELECT * FROM books WHERE name LIKE ? OR author LIKE ? OR publisher LIKE ?"; connect(); PreparedStatement statement = jdbcConnection.prepareStatement(sql); statement.setString(1, "%" + keyword + "%"); statement.setString(2, "%" + keyword + "%"); statement.setString(3, "%" + keyword + "%"); ResultSet resultSet = statement.executeQuery(); while (resultSet.next()) { Book book = new Book(); book.setId(resultSet.getInt("id")); book.setName(resultSet.getString("name")); book.setAuthor(resultSet.getString("author")); book.setPublisher(resultSet.getString("publisher")); book.setPrice(resultSet.getDouble("price")); books.add(book); } resultSet.close(); statement.close(); disconnect(); return books; } } ``` 3. search.jsp ```html <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>图书查询</title> </head> <body> <h1>图书查询</h1> <form action="search.jsp" method="get"> <label for="keyword">关键字:</label> <input type="text" name="keyword" id="keyword"> <input type="submit" value="查询"> </form> <hr> <% String keyword = request.getParameter("keyword"); if (keyword != null && !keyword.trim().isEmpty()) { BookDAO bookDAO = new BookDAO("jdbc:mysql://localhost:3306/library", "root", "password"); List<Book> books = bookDAO.searchBooks(keyword); if (books.isEmpty()) { %> <p>未找到相关图书。</p> <% } else { %> <table border="1"> <tr> <th>编号</th> <th>名称</th> <th>作者</th> <th>出版社</th> <th>价格</th> </tr> <% for (Book book : books) { %> <tr> <td><%= book.getId() %></td> <td><%= book.getName() %></td> <td><%= book.getAuthor() %></td> <td><%= book.getPublisher() %></td> <td><%= book.getPrice() %></td> </tr> <% } %> </table> <% } } %> </body> </html> ``` 在浏览器访问search.jsp,输入关键字并点击查询按钮,即可查询到相关图书

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值