异步请求1

来源:互联网 发布:淘宝线下服务公司 编辑:程序博客网 时间:2024/05/02 09:27

我前端用的jsp,后端用的是servlet ,请求是还回了json串


=======================================================JSP===========================================

<script type="text/javascript">
    function refush() {
        var xhr = new XMLHttpRequest();
        xhr.onreadystatechange = function() {
            if (xhr.readyState == 4) { //如果是响应返回了
                var text = xhr.responseText;
                var arry = eval("(" + text + ")");
                document.getElementById("cont1").innerHTML = arry[0];
                document.getElementById("cont2").innerHTML = arry[1];
            }
        };
        xhr.open("get", "../Xiawan_pc/getcount?cj=1", false); // 发送请求前的准备
        xhr.send();

    };
    setInterval("refush()", 3000);  // 定时功能   3000毫秒
</script>

========================================================servlet==================================================

public class FindAction extends HttpServlet {
    UserSerice userservice = new UserServiceImpl();

    @Override
    public void service(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");
        response.setContentType("text/html;charset=utf-8");
        List<Long> list = userservice.firstcount();
        if (list.size() == 2) {
            request.setAttribute("manycount", list.get(0));
            request.setAttribute("onlinecount", list.get(1));
        } else {
            request.setAttribute("manycount", list.get(0));
        }
        String cj = request.getParameter("cj");
        Object many = request.getAttribute("many");
        if (many != null) {
            String may = (String) many;
            cj = "9999999";
            if ("tiao".equals(may)) {
                List<User> user = userservice.findAll(1, 2);
                request.setAttribute("alluser", user);
                RequestDispatcher rd = request
                        .getRequestDispatcher("Jsp/showalluser.jsp");
                rd.forward(request, response);
            }
        }
        // System.out.println(list.get(0)+"              cj="+cj+"              "+list.get(1));
        if (cj == null) {
            // System.out.println("会打印cj=null吗");
            RequestDispatcher rd = request
                    .getRequestDispatcher("Jsp/Manycount.jsp");
            rd.forward(request, response);
        } else if (cj.equals("1")) {
            // System.out.println("会打印cj=1吗");
            PrintWriter out = response.getWriter();
            Gson gson = new Gson();
            String json = gson.toJson(list);
            out.write(json);
        }

    }
}

要在web.xml 配置一下

 <servlet>
  <servlet-name>getcount</servlet-name>
  <servlet-class>com.cn.xiaw.action.FindAction</servlet-class>
  </servlet>
  <servlet-mapping>
  <servlet-name>getcount</servlet-name>
  <url-pattern>/getcount</url-pattern>
  </servlet-mapping>




0 0
原创粉丝点击