使用jsp,servlet编写图书查询的jsp代码
时间: 2024-04-30 21:20:10 浏览: 10
下面是一个简单的图书查询的jsp代码,使用了servlet作为后台处理数据的逻辑:
```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>
<h1>图书查询</h1>
<form action="BookQueryServlet" method="post">
书名:<input type="text" name="bookName"><br>
作者:<input type="text" name="author"><br>
<input type="submit" value="查询">
</form>
</body>
</html>
```
在表单中输入书名和作者,点击“查询”按钮,将数据提交到名为“BookQueryServlet”的servlet中进行处理。下面是servlet的代码:
```java
package com.example.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class BookQueryServlet
*/
@WebServlet("/BookQueryServlet")
public class BookQueryServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public BookQueryServlet() {
super();
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 从请求中获取书名和作者
String bookName = request.getParameter("bookName");
String author = request.getParameter("author");
// 模拟从数据库中查询数据
List<String> bookList = new ArrayList<String>();
bookList.add("Java编程思想");
bookList.add("Head First Java");
bookList.add("Spring实战");
// 将查询结果以html形式返回给客户端
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head><title>查询结果</title></head>");
out.println("<body>");
out.println("<h1>查询结果</h1>");
out.println("<table border='1'>");
out.println("<tr><th>书名</th><th>作者</th></tr>");
for (String book : bookList) {
if (book.contains(bookName) && book.contains(author)) {
String[] bookArr = book.split(",");
out.println("<tr><td>" + bookArr[0] + "</td><td>" + bookArr[1] + "</td></tr>");
}
}
out.println("</table>");
out.println("</body>");
out.println("</html>");
}
}
```
在servlet中,首先从请求中获取书名和作者,然后模拟从数据库中查询数据,最后将查询结果以html形式返回给客户端。