72 lines
2.2 KiB
Java
72 lines
2.2 KiB
Java
|
|
package com.demo;
|
||
|
|
|
||
|
|
import java.io.*;
|
||
|
|
import java.sql.*;
|
||
|
|
import javax.servlet.*;
|
||
|
|
import javax.servlet.http.*;
|
||
|
|
import com.demo.BookBean;
|
||
|
|
import javax.sql.DataSource;
|
||
|
|
import javax.naming.*;
|
||
|
|
import javax.servlet.annotation.WebServlet;
|
||
|
|
|
||
|
|
@WebServlet("/BookQueryServlet2")
|
||
|
|
public class BookQueryServlet2 extends HttpServlet {
|
||
|
|
/**
|
||
|
|
*
|
||
|
|
*/
|
||
|
|
private static final long serialVersionUID = 1L;
|
||
|
|
Connection dbconn;
|
||
|
|
|
||
|
|
public void init() {
|
||
|
|
try {
|
||
|
|
Context context = new InitialContext();
|
||
|
|
DataSource ds = (DataSource)context.lookup("java:comp/env/jdbc/demo");
|
||
|
|
dbconn = ds.getConnection();
|
||
|
|
} catch(NamingException ne) {
|
||
|
|
log("数据源查找失败: " + ne);
|
||
|
|
} catch(SQLException se) {
|
||
|
|
log("数据库连接失败: " + se);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
public void doPost(HttpServletRequest request, HttpServletResponse response)
|
||
|
|
throws ServletException, IOException {
|
||
|
|
String bookid = request.getParameter("bookid");
|
||
|
|
try {
|
||
|
|
String sql = "SELECT * FROM books WHERE bookid = ?";
|
||
|
|
PreparedStatement pstmt = dbconn.prepareStatement(sql);
|
||
|
|
pstmt.setString(1, bookid);
|
||
|
|
ResultSet rst = pstmt.executeQuery();
|
||
|
|
|
||
|
|
if (rst.next()) {
|
||
|
|
BookBean book = new BookBean();
|
||
|
|
book.setBookid(rst.getString("bookid"));
|
||
|
|
book.setTitle(rst.getString("title"));
|
||
|
|
book.setAuthor(rst.getString("author"));
|
||
|
|
book.setPrice(rst.getDouble("price"));
|
||
|
|
book.setPublisher(rst.getString("publisher"));
|
||
|
|
request.getSession().setAttribute("book", book);
|
||
|
|
response.sendRedirect("/helloweb/displayBook.jsp");
|
||
|
|
} else {
|
||
|
|
response.sendRedirect("/helloweb/error.jsp");
|
||
|
|
}
|
||
|
|
|
||
|
|
rst.close();
|
||
|
|
pstmt.close();
|
||
|
|
} catch(SQLException e) {
|
||
|
|
e.printStackTrace();
|
||
|
|
response.sendRedirect("/helloweb/error.jsp");
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
public void destroy() {
|
||
|
|
try {
|
||
|
|
if (dbconn != null && !dbconn.isClosed()) {
|
||
|
|
dbconn.close();
|
||
|
|
}
|
||
|
|
} catch(Exception e) {
|
||
|
|
e.printStackTrace();
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|