user.do:
package controller;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import model.entity.Book;
import model.service.AddService;
import model.service.AddServiceImpl;
import model.service.SearchService;
import model.service.SearchServiceImpl;
import org.junit.Test;
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.io.PrintWriter;
import java.sql.Date;
import java.util.List;
@WebServlet("/UserServlet")
public class UserServlet extends HttpServlet {
private Book book;
private AddService addService;
private String bookNo;
private String bookName;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
String method=request.getParameter("method");
System.out.println(method);
if(method!=null&&method.equals("add")) {
add(request, response);
}
else if(method!=null&&(method.equals("查找")||method.equals("ajax"))) {
search(request, response);
}else if(method!=null&&method.equals("查找所有")) {
searchAll(request, response);
}
String ajax=request.getParameter("ajax");
System.out.println(request.getParameter("bookNo")+"---"+request.getParameter("bookName"));
System.out.println(ajax);
if(ajax.equals("ajax"))
{
search(request, response);
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
public void add(HttpServletRequest request, HttpServletResponse response) {
String bookNo = request.getParameter("bookNo");
String bookName = request.getParameter("bookName");
String press = request.getParameter("press");
Date pubTime = Date.valueOf(request.getParameter("pubTime"));
String author = request.getParameter("author");
String location = request.getParameter("location");
double price = Double.parseDouble(request.getParameter("price"));
boolean isBorrowed = Boolean.parseBoolean(request.getParameter("isBorrowed"));
book = new Book(bookNo, bookName, press, pubTime, author, location, price, isBorrowed);
addService = new AddServiceImpl();
String msg = addService.add(book);
String url = request.getContextPath();
if (msg.equals("添加成功")) {
HttpSession session = request.getSession();
session.setAttribute("msg", msg);
//跳转到添加成功页面
try {
response.sendRedirect(url + "/addSuccess.jsp");
} catch (IOException e) {
e.printStackTrace();
}
}
else
{
//书籍已存在,跳转到添加失败页面
try {
response.sendRedirect(url + "/addFail.jsp");
} catch (IOException e) {
e.printStackTrace();
}
}
}
public void search(HttpServletRequest request, HttpServletResponse response)
{
SearchService searchService=new SearchServiceImpl();
String bookNo=request.getParameter("bookNo");
String bookName=request.getParameter("bookName");
System.out.println(bookNo+":"+bookName);
List<Book> books=searchService.search(bookNo,bookName);
//创建jackson的核心对象,ObjectMapper
ObjectMapper mapper=new ObjectMapper();
//转换
try {
String json = mapper.writeValueAsString(books);
try {
response.getWriter().print(json);
} catch (IOException e) {
e.printStackTrace();
}
} catch (JsonProcessingException e) {
e.printStackTrace();
}
}
public void searchAll(HttpServletRequest request, HttpServletResponse response)
{
System.out.println("searchAll");
}
}
ajax:
<script>
//===============查找=============
//给查询按钮绑定事件
$("#search").click(function(){
//alert("成功进入事件")
//获得表单对象
let table=$("table");
//清除表单内容
table.find("tr").remove();
//获取书籍编号和名称
let bookNo=$("#BookNo").val();
let bookName=$("#BookName").val();
//alert(bookNo+"---"+bookName);
//获取返回的书本信息
$.ajax({type:"POST",
url:"user.do",
dataType:"json",
data:{"bookNo":bookNo,"bookName":bookName,"ajax":"ajax"},
success:function (data){
alert("成功进入success")
alert(data);
for(let i=0;i<data.length;i++)
{
let book=data[i];
for(let key in book)
alert(key+":"+book[key]);
}
alert("退出success");
},
error:function(data){
alert("error");
}});
});
//==============查找所有==========
</script>