ajax进行前后端数据交换

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>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值