【index.html】
Title
【indexServlet.java】
package com.fruit.servlets;
import com.fruit.dao.FruitDAO;
import com.fruit.dao.impl.FruitDAOImpl;
import com.fruit.myssm.myspingmvc.ViewBaseServlet;
import com.fruit.pojo.Fruit;
import com.fruit.util.StringUtil;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.util.List;
//servlet从3.0版本开始支持注解方式的注册
@WebServlet("/index")
public class indexServlet extends ViewBaseServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
HttpSession session = request.getSession();
//设置当前页:默认值为1
int pageNum = 1;
//
String operate = request.getParameter("operate");
//如果operate!=null,说明:通过表单的查询按钮点击过来的
//如果operate==null,说明:不是通过表单的查询按钮点击过来的
String keyword = null;
if (StringUtil.isNotEmpty(operate) && "search".equals(operate)) {
//说明是点击表单查询发送过来的请求
//此时,pageNum应该还原为1,keyword应该从请求参数中获取
pageNum = 1;
keyword = request.getParameter("keyword");
//如果keyword为null,需要设置为"",否则查询时会拼接成 %null%,我们期望的是 %%
if (StringUtil.isEmpty(keyword)) {
keyword = "";
}
//将keyword把偶才能(覆盖)到session中
session.setAttribute("keyword",keyword);
}else {
//说明此处不是是点击表单查询发送过来的请求,比如点击上一页,下一页或者直接在地址栏输入网址
//此时keyword 应该从session的作用域获取
String pageNumStr = request.getParameter("pageNum");
if(StringUtil.isNotEmpty(pageNumStr)) {
//如果从请求中读取到pageNum,则类型转换,否则默认为1
pageNum = Integer.parseInt(pageNumStr);
}
//如果不是点击的查询按钮,那么查询是基于session中保存的现有keyword进行查询
Object keywordObj = session.getAttribute("keyword");
if (keywordObj != null) {
keyword = (String) keywordObj;
}else {
keyword = "";
}
}
//重新更新当前页的值
session.setAttribute("pageNum",pageNum);
FruitDAO fruitDAO = new FruitDAOImpl();
//List fruitList = fruitDAO.getFruitList();
List fruitList = fruitDAO.getFruitList(keyword,pageNum);
// System.out.println(fruitList);
//保存到session作用域
session.setAttribute("fruitList", fruitList);
int count = fruitDAO.getFruitCount(keyword);
int pageCount = (count + 5 - 1) / 5;
session.setAttribute("pageCount", pageCount);
super.processTemplate("index",request,response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request,response);
}
}
【sql语句】
String sql = "select * from fruit where fname like ? or remark like ? limit ?,5";
String sql = "select count(*) from fruit where fname like ? or remark like ?";


