📄 showallbooksservlet.java
字号:
package cn.dang.servlet;
import ghy_db.Conn_Manager;
import java.io.IOException;
import java.util.HashMap;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import cn.dang.entity.BookForSelect;
import cn.dang.service.AllService;
public class ShowAllBooksServlet extends HttpServlet {
/**
* Constructor of the object.
*/
public ShowAllBooksServlet() {
super();
}
/**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}
/**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request
* the request send by the client to the server
* @param response
* the response send by the server to the client
* @throws ServletException
* if an error occurred
* @throws IOException
* if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
AllService allService = new AllService();
BookForSelect bookFor = new BookForSelect();
try {
// 创建保存SQL语句中where子句的变量
String where_String = " ";
// 创建连接where子句字符串的起始字符串
String String_start = "";
// 创建连接where子句字符串的结束字符串
String String_over = "";
// 获得分页信息和类型信息
String page = request.getParameter("page");
String type = request.getParameter("type");
BookForSelect bookBySession = (BookForSelect) request.getSession()
.getAttribute("Gaoji");
// 如果状态变量为0(不是全部查询的情况下)执行
// 以下各判断从页面接受的值以便连接SQL语句中的where子句
// 如果is_a变量不等于空字符串和null的时候进入执行代码
if (request.getParameter("is_a") != null
&& request.getParameter("is_a").equals("1")) {
// 从页面获得书籍名称,如果不等于null和空字符串的时候进入判断
if (request.getParameter("bkName") != null
&& !("".equals(request.getParameter("bkName")))) {
// 获得书籍名称
String decode_bkname = request.getParameter("bkName");
// 将获得的值含-的替换成%
decode_bkname = decode_bkname.replaceAll("[-]", "%");
// 进行解码
decode_bkname = java.net.URLDecoder.decode(decode_bkname);
// 连接语句
where_String = " books.bookname like '%" + decode_bkname
+ "%' or ";
String_start = " and (";
String_over = " )";
request.setAttribute("bkName", decode_bkname);
}
} else {
if (request.getParameter("bkName") != null
&& !"".equals(request.getParameter("bkName"))) {
where_String = " books.bookname like '%"
+ request.getParameter("bkName") + "%' or ";
String_start = " and (";
String_over = " )";
request.setAttribute("bkName", request
.getParameter("bkName"));
}
}
if (request.getParameter("bkName") != null
&& !("".equals(request.getParameter("bkName")))) {
if (request.getParameter("bName") != null
&& !"".equals(request.getParameter("bName"))) {
where_String = "books.bookname like '%"
+ request.getParameter("bName") + "%' or ";
String_start = " and (";
String_over = " )";
bookFor.setBookName(request.getParameter("bkName"));
}
}
if (request.getParameter("authorName") != null
&& !"".equals(request.getParameter("authorName"))) {
where_String += "author.authorname like '%"
+ request.getParameter("authorName") + "%' or ";
String_start = " and (";
String_over = " )";
bookFor.setAuthroName(request.getParameter("authorName"));
}
if (request.getParameter("concemName") != null
&& !("".equals(request.getParameter("concemName")))) {
where_String += "bookconcem.concemname like'%"
+ request.getParameter("concemName") + "%' or ";
String_start = " and (";
String_over = " )";
bookFor.setConcemName(request.getParameter("concemName"));
}
if ((request.getParameter("dangPrice") != null && !""
.equals(request.getParameter("dangPrice")))
&& (request.getParameter("dangPrice2") != null && !""
.equals(request.getParameter("dangPrice2")))) {
where_String += "books.free between "
+ request.getParameter("dangPrice") + " and "
+ request.getParameter("dangPrice2") + " or ";
String_start = " and (";
String_over = " )";
bookFor.setStartFree(request.getParameter("dangPrice"));
bookFor.setOverFree(request.getParameter("dangPrice2"));
}
if ((request.getParameter("publishTime") != null && !""
.equals(request.getParameter("publishTime")))
&& (request.getParameter("overTime") != null && !""
.equals(request.getParameter("overTime")))) {
where_String += "books.publishTime between '"
+ request.getParameter("publishTime")
+ " 00:00:00' and '" + request.getParameter("overTime")
+ " 23:59:59' or ";
String_start = " and (";
String_over = " )";
bookFor.setStartTime(request.getParameter("publishTime"));
bookFor.setOverTime(request.getParameter("publishTime"));
}
// 在where_String不为null,或不为空字符串的时候将最后一个连接字符串的or去掉
if (where_String != null && !"".equals(where_String.trim())) {
where_String = where_String.substring(0,
where_String.length() - 3);
}
// 连接SQL语句
where_String = String_start + where_String + String_over;
// 获得从数据值
HashMap hashMap = (HashMap) allService
.getBookService()
.list_shop(
"select books.bookname,books.price,books.price-books.free/10*books.price,author.authorname,bookconcem.concemname,books.publishtime,twotype.typename,books.pointgrade,author.authorname,books.bid,books.bcid,books.isbn,books.aid,books.tid",
"from books,author,bookconcem,twotype",
" where books.aid=author.aid and books.bcid=bookconcem.cid and books.tid=twotype.tid "
+ where_String, "", type, "books.tid",
"books.bid", page, 5, true);
// 如果书籍名称不等与null的情况下
if (request.getParameter("bkName") != null
&& !("".equals(request.getParameter("bkName")))) {
// 进行书籍名称的再编码
String encode_bkname = java.net.URLEncoder.encode(request
.getParameter("bkName"));
// 将%替换成-,防止提交时再次出现乱码问题;
encode_bkname = encode_bkname.replaceAll("[%]", "-");
// 将值保存在request中
request.setAttribute("encode_bkname", encode_bkname);
}
request.setAttribute("listBooks", hashMap.get("listBooks"));
request.setAttribute("pagebean", hashMap.get("pagebean"));
request.setAttribute("typeList", hashMap.get("TypeList"));
Conn_Manager.transaction_commit();
request.getRequestDispatcher(
"../manager/rightShowBooks.jsp?page=" + page + "&type="
+ type).forward(request, response);
} catch (Throwable e) {
// TODO Auto-generated catch block
Conn_Manager.transaction_rollback();
e.printStackTrace();
}
}
/**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to
* post.
*
* @param request
* the request send by the client to the server
* @param response
* the response send by the server to the client
* @throws ServletException
* if an error occurred
* @throws IOException
* if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doGet(request, response);
}
/**
* Initialization of the servlet. <br>
*
* @throws ServletException
* if an error occurs
*/
public void init() throws ServletException {
// Put your code here
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -