📄 queryservlet.java
字号:
package ebookshop.servlet;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import javax.servlet.http.HttpServlet;
import ebookshop.shopcart.BookDetails;
import ebookshop.bean.BookBean;
import ebookshop.common.*;
import java.sql.*;
public class QueryServlet extends HttpServlet
{
private static final String CONTENT_TYPE = "text/html; charset=GBK";
private String varkey = "";
private String vartype = "";
private ServletContext sc;
//Initialize global variables
public void init() throws ServletException {
super.init();
sc=this.getServletContext();
}
//Process the HTTP Get request
public void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
request.setCharacterEncoding("gb2312");
varkey = request.getParameter("key");
vartype = request.getParameter("type");
this.myService(request,response);
}
//Process the HTTP Post request
public void doPost(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
doGet(request, response);
}
//根据请求传过来的不同的查询条件,调用不同的方法来处理请求,并返回。
protected void myService(HttpServletRequest request,
HttpServletResponse response) {
if (vartype == null) {
vartype = "";
}
if (vartype.equalsIgnoreCase("BY_ISBN")){
this.doQuryISBN(request, response);
return;
}
if (vartype.equalsIgnoreCase("BY_AUTHOR")){
this.doQuryAuthor(request, response);
return;
}
if (vartype.equalsIgnoreCase("BY_KEYWORD")){
this.doQuryKeyWord(request, response);
return;
}
}
//将处理完的请求转发给browse.jsp来显示查询的结果。
private void doBrowse(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException{
//sc=request.getSession().getServletContext(); //获得ServletContext()的对象
// sc=getServletContext(); //获得ServletContext()的对象
RequestDispatcher rd=sc.getRequestDispatcher("/browse.jsp");
//BookDetails book=(BookDetails)request.getAttribute("book");
//System.out.println("------------------"+book);
rd.forward(request,response);
}
//处理以"ISBN"条件的请求,并给下一个请求传参数
private void doQuryISBN(HttpServletRequest request,
HttpServletResponse response) {
BookBean book=new BookBean();
BookDetails booklist=null;
try {
booklist = book.findBookByISBN(varkey);
}
catch (SQLException ex1) {
ex1.getMessage();
}
request.setAttribute("book",booklist); //设置传给下一个请求的参数
request.setAttribute("key",varkey);
request.setAttribute("type",vartype);
try {
doBrowse(request, response);
}
catch (IOException ex) {
ex.getStackTrace();
}
catch (ServletException ex) {
ex.getStackTrace();
}
}
//处理以 "作者" 条件的请求,并给下一个请求传参数
private void doQuryAuthor(HttpServletRequest request,
HttpServletResponse response){
BookBean book=new BookBean();
Collection booklist=null;
try {
booklist = book.findBookByAuthor(varkey);
}
catch (SQLException ex1) {
ex1.getErrorCode();
ex1.getStackTrace();
}
request.setAttribute("book",booklist); //设置传给下一个请求的参数
request.setAttribute("key",varkey);
request.setAttribute("type",vartype);
try {
doBrowse(request, response);
}
catch (IOException ex) {
ex.getStackTrace();
}
catch (ServletException ex) {
ex.getStackTrace();
}
}
//处理以"KeyWord"条件的请求,并给下一个请求传参数
private void doQuryKeyWord(HttpServletRequest request,
HttpServletResponse response){
request.setAttribute("type",vartype); //设置传给下一个请求的参数
request.setAttribute("key",varkey);
BookBean book=new BookBean();
Collection booklist=null;
try {
booklist = book.findBookByKeywords(varkey); //通过BookBean的对象book.findBookByKeywords(String author)返回一个书集合
}
catch (Exception ex1) {
ex1.getStackTrace();
}
request.setAttribute("book",booklist);
try {
doBrowse(request, response);
}
catch (IOException ex) {
ex.getStackTrace();
}
catch (ServletException ex) {
ex.getStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -