ajax

来源:互联网 发布:js微信短网址生成api 编辑:程序博客网 时间:2024/06/07 10:09

web.xml声明了

<servlet>    <servlet-name>AjaxAction</servlet-name>    <servlet-class>Act.AjaxAction</servlet-class>  </servlet>  <servlet-mapping>    <servlet-name>AjaxAction</servlet-name>    <url-pattern>/aj.io</url-pattern>  </servlet-mapping> 

jsp页面

<script type="text/javascript" src="js/jquery-1.8.3.js"></script><script type="text/javascript">    $(function() {        $("#bt_login").click(function() {                    $.ajax({                        url : "aj.io",                        type:"get",                        data : encodeURI("act=login&name=" + $("#name").val() + "&pw="+ $("#pw").val()+"&s="+Math.random()),                        success : function(reqon) {                            //解析json                            var obj=eval("("+reqon+")");                            if(obj.head=="ok"){                                $("#login_div").hide();                                $("#ht").html("欢迎登录,"+obj.body.name+"<a href='aj.io?act=logout'>注销</a>");                            }else{                                $("#ht").html(obj.body);                            }                        }                    });                });    });</script>

url : 必须对应web.xml中的配置,请求到AjaxAction这个类
data : encodeURI()可以解决乱码问题
success : function(reqon)中的reqon可随便定义名字

这是AjaxAction类中的方法:
AjaxReturn 是一个pojo类

public void doPost(HttpServletRequest request, HttpServletResponse response)            throws ServletException, IOException {        userDao=new UserDao();        request.setCharacterEncoding("UTF-8");        response.setCharacterEncoding("UTF-8");        AjaxReturn returnObj=new AjaxReturn();        String act=request.getParameter("act");        if("login".equals(act)){            String name=request.getParameter("name");            String pw=request.getParameter("pw");            User user=userDao.findByname(name);            if(user==null){                //没有此用户                returnObj.setHead("err");                returnObj.setBody("用户找不到");            }else{                if(user.getPw().equals(pw)){                    //登陆成功                    returnObj.setHead("ok");                    returnObj.setBody(user);                    request.getSession().setAttribute("user", user);                }else{                    //密码错误                    returnObj.setHead("err");                    returnObj.setBody("密码错误");                }            }        }else if("logout".equals(act)){            request.getSession().removeAttribute("user");            response.sendRedirect("index.jsp");//          request.getRequestDispatcher("index.jsp").forward(request, response);            return;        }        PrintWriter out=response.getWriter();        response.setContentType("text/html");        Gson gson=new Gson();        out.print(gson.toJson(returnObj));        System.out.println(gson.toJson(returnObj));        out.flush();        out.close();    }
0 0
原创粉丝点击