⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bookmainservlet.java

📁 servlet实现网上书店查询
💻 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 + -