案例:

* 校验用户名是否存在
1. 服务器响应的数据,在客户端使用时,要想当做json数据格式使用。有两种解决方案:
1. $.get(type):将最后一个参数type指定为"json"
2. 在服务器端设置MIME类型
response.setContentType("application/json;charset=utf-8");
源码:

1. 注册页面的完成:

需要参考的文档:






注册页面











  1. findUserServlet

    package cn.itcast.web.servlet;

    import com.fasterxml.jackson.databind.ObjectMapper;

    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 java.io.IOException;
    import java.util.HashMap;
    import java.util.Map;

    @WebServlet("/findUserServlet")
    public class FindUserServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    //1.获取用户名
    String username = request.getParameter("username");

    //2.调用service层判断用户名是否存在

    //期望服务器响应回的数据格式:{"userExsit":true,"msg":"此用户名太受欢迎,请更换一个"}
    // {"userExsit":false,"msg":"用户名可用"}

    //设置响应的数据格式为json避免乱码
    response.setContentType("application/json;charset=utf-8");
    Map<String,Object> map = new HashMap<String,Object>();

    if("tom".equals(username)){
    //存在
    map.put("userExsit",true);
    map.put("msg","此用户名太受欢迎,请更换一个");
    }else{
    //不存在
    map.put("userExsit",false);
    map.put("msg","用户名可用");
    }

    //将map转为json,并且传递给客户端
    //将map转为json
    ObjectMapper mapper = new ObjectMapper();
    //并且传递给客户端
    mapper.writeValue(response.getWriter(),map);

    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    this.doPost(request, response);
    }
    }

 posted on 2019-08-01 20:25  ben跑的换行符  阅读(278)  评论(0)    收藏  举报