AJAX实现注册

先添加点击事件:

<input type="button" id="submittt" value="注册"/>

展示提示消息:

<div id="showMsg" style="text-align: center"></div>

提交用户信息,回调函数判断该展示什么消息:

<script>
        submittt.onclick=function () {
            $.post("/shop/adduser",
                {
                    "username":$("#username").val(),
                    "password":$("#password").val(),
                    "telephone":$("#telephone").val(),
                    "code":$("#code").val()
                },function (data) {
                    if (data.code==333){
                        $("#showMsg").html("对不起,该用户名已被占用").css("color","red");
                    }else {
                        if (confirm("注册成功 是否去登陆")){
                            window.location.href="/shop/views/login.jsp";
                        }
                    }
            });
        }
    </script>

servlet将信息转为JSON格式回传给jsp:

@WebServlet("/adduser")
public class AdduserServlet extends HttpServlet {
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        /*解决中文乱码*/
        req.setCharacterEncoding("UTF-8");
        /*1.获取请求参数*/
        String username = req.getParameter("username");
        String password = req.getParameter("password");
        String telephone = req.getParameter("telephone");
//        System.out.println("-----"+username);
        /*唯一性校验,验证用户名是否已经被注册*/
        /*2.生成用户对象,传参,封装对象里*/
        User user = new User(username,password,telephone);
        ILoginDAO dao=new LoginDAOImpl();
        boolean exist = dao.isExist(username);

        resp.setContentType("text/json;charset=UTF-8");
        PrintWriter out = resp.getWriter();
        Map<Object, Object> map = new HashMap<>();
        if(exist){
            map.put("code","333");
            map.put("error","该用户名已被占用");
            //如果已经注册,提示用户该用户名已被占用
            // req.setAttribute("error","该用户名已被占用");
        }else {
             /*3.如果未注册,调用dao,将封装有参数的对象添加到数据库*/
            dao.add(user);
             /*4.返回信息(注册成功)*/
            map.put("code","444");
            map.put("success","注册成功");
        }
        /*5.转换成JSON格式回传给jsp*/
        String s = JSON.toJSONString(map);
        out.write(s);
        out.close();
    }
}
原文地址:https://www.cnblogs.com/duguangming/p/10790623.html