Java 通过AJAX调用与Servlet doGet()方法交互JSP页面

Java 通过AJAX调用与Servlet doGet()方法交互JSP页面,java,ajax,angularjs,servlets,Java,Ajax,Angularjs,Servlets,我正在执行下面的JAVA代码,通过AJAX调用从JSP页面调用servlet doGet方法 这是我的AJAX调用。。 我将Angular js的ng click捕获的点击文本作为查询字符串发送到Servlet的doGet方法 在我的JSP文件中 $scope.requestFunc = function (clickData) { var urlquerystring = clickData; jQuery.ajax({ type: '

我正在执行下面的JAVA代码,通过AJAX调用从JSP页面调用servlet doGet方法

这是我的AJAX调用。。 我将Angular js的ng click捕获的点击文本作为查询字符串发送到Servlet的doGet方法

在我的JSP文件中

  $scope.requestFunc = function (clickData) {

       var urlquerystring =  clickData; 
       jQuery.ajax({
          type: 'GET',
          url: "/Charts/testExecution/"+"?"+ urlquerystring,

         dataType: 'html',
          success: function(respnsedata)
          {
            window.location.assign(respnsedata);    
          }
       });
  }
在我的Servlet的doGet方法中

protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        System.err.println("In TestExecutionESO servlet..");


        String teamnametextfield= req.getParameter("teamnametextfield");
        System.out.println("Teamname is.."+teamnametextfield);

        try {
            dcmanager = DataCollectorManager.getInstance();
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        String selectedteam= req.getQueryString();

        String testexeclistofobjectsjson = null;

        if(selectedteam!=null)
        {

            String release=selectedteam.replace("%20"," ").toString();

        testexecutionobjlist = dcmanager.getRallyDcMgr().gettestExecutionobjlist(release);
        }

        Gson gson = new Gson();
        testexeclistofobjectsjson = gson.toJson(testexecutionobjlist);

        System.out.println(testexecutionobjlist);
        System.out.println(testexeclistofobjectsjson);

        req.getSession().setAttribute("testexeclistofobjectsjson", testexeclistofobjectsjson);

        resp.sendRedirect("TestExecutionESO.jsp");

}   
我得到的查询字符串非常完美。在处理之后,我将执行SetAttribute并重定向到下一个JSP页面。。 重定向不起作用

这是我的错误代码, 未能加载资源:net::ERR\u太多\u重定向

。。。。未能加载资源:net::ERR\u太多\u重定向

请帮我解决这个问题。。 如何通过执行setAttribute重定向到下一个JSP页面

resp.sendRedirect("TestExecutionESO.jsp");
这是代码中的罪魁祸首。调用sendRedirect时,它将发出302响应,其中包含新资源的位置头URI。当浏览器看到此标头时,它将为该新URI发出新请求

所有这些都适用于同步请求,但在AJAX调用的情况下,我们使用XMLHttpRequest,它不能很好地处理重定向

我建议您使用RequestDispatcher来转发JSP,如下所示

RequestDispatcher rd = req.getRequestDispatcher("path-to-ur-jsp");
rd.forward(req,res);