JSP简单图书查询

    科技2024-12-10  34

    在SQLServer中设置字段添加数据

    书写Book.java进行构造方法

    package org.chenao.test; public class Book { private int id; private String name; private String isbn; private String author; private float price; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getIsbn() { return isbn; } public void setIsbn(String isbn) { this.isbn = isbn; } public String getAuthor() { return author; } public void setAuthor(String author) { this.author = author; } public float getPrice() { return price; } public void setPrice(float price) { this.price = price; } public Book(int id, String name, String isbn, String author, float price) { super(); this.id = id; this.name = name; this.isbn = isbn; this.author = author; this.price = price; } @Override public String toString() { return "Book [author=" + author + ", id=" + id + ", isbn=" + isbn + ", name=" + name + ", price=" + price + "]"; } public Book() { super(); // TODO Auto-generated constructor stub } }

    建立一个class文件BookTest.java用于与数据库连接

    package org.chenao.test; import java.awt.print.Book; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import org.chenao.util.DBUtil; public class BookTest { public static Book getParameter(String Name) { Connection conn= DBUtil.getConn(); String sql="select* from book where name=?"; PreparedStatement ps=null; ResultSet rs= null; Book book= null; try { ps= conn.prepareStatement(sql); ps.setString(1, bookName); rs= ps.executeQuery(); if (rs.next()) { book=new Book();//创建一个没有属性值的对象 book.setId(rs.getInt(1));//给属性赋值 book.setName(rs.getString(2)); book.setIsbn(rs.getString(3)); book.setPrice(rs.getFloat(4)); book.setAuthor(rs.getString(5)); } } catch (Exception e) { }finally{ DBUtil.close(conn, ps, rs); } return book; } }

    将之前写过的DBUtil复制一份过来

    package org.chenao.util; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class DBUtil { static{ try { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static Connection getConn(){ Connection conn = null; try { conn = DriverManager.getConnection( "jdbc:sqlserver://localhost:1433;databaseName= MyDB","sa","1"); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return conn; } public static void close(Connection conn, PreparedStatement ps, ResultSet rs) { try {if (conn!=null) { conn .close(); } } catch (SQLException e) { e.printStackTrace(); } try {if (rs!=null) { rs .close(); } } catch (SQLException e) { e.printStackTrace(); } try {if (ps!=null) { ps .close(); } } catch (SQLException e) { e.printStackTrace(); } } }

    建立一个servlet

    package org.chenao.test; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class SelectSearchTest extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //1:设置中文编码 request.setCharacterEncoding("utf-8"); //2:获取参数 String bookName= request.getParameter("bookName"); Book book = BookTest.getBookByName(bookName); //3:将图书信息显示在bookInfo.jsp的页面 request.setAttribute("book", book); request.getRequestDispatcher("bookinfo.jsp").forward(request, response); } }

    建立一个jsp文件bookInfo.jsp(对应servlet中所填写的)用于接收输出数据

    <body> <% Book book=(Book)request.getAttribute("book"); %> <%=book.toString() %> </body>

    建立一个jsp文件search.jsp书写查询页面

    <body> <center> <h1>根据图书名称查询图书信息</h1> <form action="selectTest" method="post"> 图书名称: <input type="text" name="bookName"/><br/> <input type="submit" value="查询"/> </form> </center> </body>

     

    Processed: 0.009, SQL: 8