📄 bookmainservlet.java
字号:
package com.ghy.bookstore.book.web;
import java.io.IOException;
import java.util.ArrayList;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.ghy.bookstore.service.BookStoreService;
import com.ghy.bookstore.service.BookStoreServiceFactory;
public class BookMainServlet extends HttpServlet {
public BookMainServlet() {
super();
}
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");//设置参数字符集
BookStoreService bsService= BookStoreServiceFactory.getBookStoreService();
Integer mode=null;//隐藏属性,值为1时,通过书的类别来分别显示输出,默认为计算机类,值为2时,通过搜索中的书名或者作者关键字,显示输出
String key=null;//关键字
String field=null;//list,书名为1,作者为2
String bookCatId=null;
String catId=null;//书的类别,1代表计算机类,2代表休闲类
//bean,mode,key,field,catId,pageId(当前显示为第几页),pageCount(一共分了几页),bookCount(一共查询到多少条记录)
SearchStatus searchstatus=new SearchStatus();
int i=1;
String str=request.getParameter("mode");
if(str!=null&&!str.trim().equals(""))//如果mode有值
mode=new Integer(str);
key=request.getParameter("key");
field=request.getParameter("select");
bookCatId=request.getParameter("bookCatId");//book表中的ID
try{
if(mode==null)
{
catId=bsService.findFirstCatId();//BOOKCAT表的ID值
searchstatus.setCatId(catId);
}
else if(mode.intValue()==1)//bookmain.jsp左边分类选项,计算机或者休闲
{
catId=bookCatId;
searchstatus.setCatId(catId);
}
else if(mode.intValue()==2)
{
i=mode.intValue();//i=2
searchstatus.setKey(key);
searchstatus.setField(field);
}
searchstatus.setMode(i);//mode=1,根据左边导航栏显示,mode=2,根据搜索条件显示
int k=bsService.getBookCount(i, catId, field, key);//根据参数,返回符合条件的书的本数
searchstatus.setBookCount(k);
//分页,SearchStatus.PAGESIZE为每页显示的书的本数
int pageCount;//分成几页
if(k%SearchStatus.PAGESIZE==0)
pageCount=k/SearchStatus.PAGESIZE;
else
pageCount=k/SearchStatus.PAGESIZE+1;
searchstatus.setPageCount(pageCount);
ArrayList list=new ArrayList();
ArrayList prelist=new ArrayList();
HttpSession session=request.getSession();
session.setAttribute("categorylist",bsService.findAllBookCat());//将bookcat表存在一个list中,然后将list存在session中
list=bsService.findBookWithCat(i, catId, key, field);//将book表存在一个list中,将list存在session中
if(list.size()>SearchStatus.PAGESIZE)//查询出来的书数如果大于每页所显示的书数
{
for (int j = 0; j < SearchStatus.PAGESIZE; j++)
{
prelist.add(list.get(j));
}
}
else//如果等于或者小于
prelist=list;
session.setAttribute("booklist", prelist);//每页书数集合
session.setAttribute("allbooklist", list);//所有书数集合
session.setAttribute("booksearchstatus", searchstatus);//关于查询的各种属性bean
//重定向,转到bookmain.jsp页面
System.out.println(prelist.size());
response.sendRedirect(request.getContextPath()+"/jsp/book/bookmain.jsp");
}
catch(Exception e)
{
e.printStackTrace();
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
public void init() throws ServletException {
// Put your code here
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -