亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

POST 響應 HTML 頁面顯示在調試器中,但未顯示在使用 JAVAEE 的瀏覽器中

POST 響應 HTML 頁面顯示在調試器中,但未顯示在使用 JAVAEE 的瀏覽器中

斯蒂芬大帝 2022-01-06 19:50:09
所以這里的問題是我有一個連接表單向 servlet 發送 Post 請求。這個 servlet 在做一些測試(密碼,用戶的電子郵件驗證)后將請求轉發到不同的頁面。唯一的問題是我在查看我的POST請求時得到了正確的頁面作為響應,但該頁面沒有顯示在我的 Web 瀏覽器中。怎么來的?這是我的代碼。登錄 servletpackage AHSServlets;import java.io.IOException;import objMetier.signInForm;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 javax.servlet.http.HttpSession;import AHSbeans.User;@WebServlet(    name = "signInServ",    urlPatterns = {"/"})public class signInServ extends HttpServlet{    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException    {        this.getServletContext().getRequestDispatcher("/signIn.jsp").forward(request, response);;    }    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException    {        signInForm connect = new signInForm();        User user = connect.validateSignIn(request);        HttpSession session = request.getSession();        if (user != null) {            request.setAttribute("connect", connect);            session.setAttribute("sessionUser", user);            this.getServletContext().getRequestDispatcher("/restrict_client/client.jsp").forward(request, response);        }        else        {         request.setAttribute("connect", connect);         this.getServletContext().getRequestDispatcher("/signIn.jsp").forward(request, response);        }    }}正如您在signIn.jsp我${connect.error}應該向我展示錯誤消息中看到的那樣。我再說一遍,但我可以看到使用調試器顯示的這條消息,但在我的網絡瀏覽器上看不到。所以發生的事情是在POST它停留在網頁路徑上并且我只在響應中得到 HTML 之后。
查看完整描述

1 回答

?
紫衣仙女

TA貢獻1839條經驗 獲得超15個贊

好的,所以我不熟悉 angular,但只是查看ajax的w3,您需要處理這樣的響應:


將 id 添加到您的 span 元素(${connect.error}從中刪除):


 <span id="somediv"></span>

添加然后成功:


   <script type="text/javascript">

        var app = angular.module("AHS", []);

        app.controller("myCtrl", function ($scope, $http, $httpParamSerializerJQLike){

            $scope.userObj = {

                    mail: "",

                    password: "",

            }

            $scope.submitForm = function() {

                  $http({

                     method : 'POST',

                     url : '/', // use relative

                     data: $httpParamSerializerJQLike($scope.userObj),

                     headers: {

                       'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8;'

                     }

                  }).then(function mySuccess(response) {

                      //handle response here

                      console.log(response.data);

                      document.getElementById("somediv").innerHTML = response.data;

                  });

                };

        });

    </script>

然后對于您的 servlet:


public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{

    signInForm connect = new signInForm();

    User user = connect.validateSignIn(request);

    HttpSession session = request.getSession();


    if (user != null) {

       // request.setAttribute("connect", connect); //what the hell is connect supposed to be here? 

        session.setAttribute("sessionUser", user);

       // this.getServletContext().getRequestDispatcher("/restrict_client/client.jsp").forward(request, response); //you do not do this in ajax requests.

    }else{

    //request.setAttribute("connect", connect);

     //this.getServletContext().getRequestDispatcher("/signIn.jsp").forward(request, response);

    }

    response.setContentType("text/plain");  // Set content type 

    response.setCharacterEncoding("UTF-8"); 

    response.getWriter().write("hello world");       // Write response body.


}


查看完整回答
反對 回復 2022-01-06
  • 1 回答
  • 0 關注
  • 186 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號