从servlet读取响应到html页面

从servlet读取响应到html页面,html,servlets,Html,Servlets,以下是我的要求 Login.html页面以及表单中的用户名和密码文本字段 Login.html-->提交btn->调用LoginServlet LoginServlet-->来自数据库的已验证用户 成功时-->调用DashboardServlet和DashboardServlet-->调用Dashboard.html 如何读取Dashboard.html上的响应对象[我在这里从DashboardServlet传递用户名] 如果第4步失败-->LoginServlet将再次调用Login.html

以下是我的要求

  • Login.html页面以及表单中的用户名和密码文本字段
  • Login.html-->提交btn->调用LoginServlet
  • LoginServlet-->来自数据库的已验证用户
  • 成功时-->调用DashboardServlet和DashboardServlet-->调用Dashboard.html
  • 如何读取Dashboard.html上的响应对象[我在这里从DashboardServlet传递用户名]
  • 如果第4步失败-->LoginServlet将再次调用Login.html-->如何读取此页面上的响应对象,假设我将发出警报(用户身份验证失败)
  • 登录servlet

        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("I am in doPost of LoginServlet");
        String userName = request.getParameter("username");
        String passWord = request.getParameter("password");
    
        if(LoginDao.validate(userName, passWord))
        {
            HttpSession session=request.getSession();  
            if(session.isNew())
               {
                //New session creation
                  session=request.getSession(true);
               }
                else
                {
                   session = request.getSession(false);
                }
    
             //setting attribute on session
             session.setAttribute("userName",userName);
             //send request to Welcome.jsp page
             //response.sendRedirect("/Dashboard.html");
             response.sendRedirect("/zmcwebadmin/dashBoardServlet");
             response.getWriter().write(String.valueOf(userName));
             System.out.println("I have connected to DB");
        }
    
        else
        {
            //response.sendRedirect("error.html");
            String data = "User name and password do not match";
            response.setContentType("text/plain");
            response.setCharacterEncoding("UTF-8");
            response.getWriter().write(data);
            /*RequestDispatcher rd = request.getRequestDispatcher("Loginpage.html"); -- This solution works
            rd.forward(request, response);*/
            //response.sendRedirect("Loginpage.html");
            request.setAttribute("error", "Unknown login, try again");
            response.sendRedirect("/zmcwebadmin/html/Login.html");
            //doGet(request, response);
    
            System.out.println("I have not connected to server");
           }
          }
    
        /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
     *      response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        // TODO Auto-generated method stub
    
    
        System.out.println("I am in doGet of dashBoardServlet");
        //New writing on 19th March where initial control given to servlet
    
            HttpSession session = request.getSession(false); 
            if(session.getAttribute("userName") == null) //session is not created
                response.sendRedirect("/zmcwebadmin/html/LoginPage.html");
            else
                response.sendRedirect("/zmcwebadmin/html/Dashboard.html");
    }
    
    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
     *      response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        // TODO Auto-generated method stub
    
        System.out.println("I am in doPost of dashBoardServlet");
        String scannerState = request.getParameter("scannerState");
        System.out.println("Dashboard servlet called, scannerState: " + scannerState);
        System.out.println("I am in dashBoardServlet");
        ZebraDbDao zebraDbDao = new ZebraDbDao();
        List<Scanner> scannerList;
    
        try {
            scannerList = zebraDbDao.getScannerDetail(scannerState);
            System.out.println("I got the scanner list");
            String json = new Gson().toJson(scannerList);
            response.setContentType("application/json");
            response.setCharacterEncoding("UTF-8");
            response.getWriter().write(json);
        } catch (SQLException e) {
    
            e.printStackTrace();
        } // online scanner
    }
    
    仪表板servlet

        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("I am in doPost of LoginServlet");
        String userName = request.getParameter("username");
        String passWord = request.getParameter("password");
    
        if(LoginDao.validate(userName, passWord))
        {
            HttpSession session=request.getSession();  
            if(session.isNew())
               {
                //New session creation
                  session=request.getSession(true);
               }
                else
                {
                   session = request.getSession(false);
                }
    
             //setting attribute on session
             session.setAttribute("userName",userName);
             //send request to Welcome.jsp page
             //response.sendRedirect("/Dashboard.html");
             response.sendRedirect("/zmcwebadmin/dashBoardServlet");
             response.getWriter().write(String.valueOf(userName));
             System.out.println("I have connected to DB");
        }
    
        else
        {
            //response.sendRedirect("error.html");
            String data = "User name and password do not match";
            response.setContentType("text/plain");
            response.setCharacterEncoding("UTF-8");
            response.getWriter().write(data);
            /*RequestDispatcher rd = request.getRequestDispatcher("Loginpage.html"); -- This solution works
            rd.forward(request, response);*/
            //response.sendRedirect("Loginpage.html");
            request.setAttribute("error", "Unknown login, try again");
            response.sendRedirect("/zmcwebadmin/html/Login.html");
            //doGet(request, response);
    
            System.out.println("I have not connected to server");
           }
          }
    
        /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
     *      response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        // TODO Auto-generated method stub
    
    
        System.out.println("I am in doGet of dashBoardServlet");
        //New writing on 19th March where initial control given to servlet
    
            HttpSession session = request.getSession(false); 
            if(session.getAttribute("userName") == null) //session is not created
                response.sendRedirect("/zmcwebadmin/html/LoginPage.html");
            else
                response.sendRedirect("/zmcwebadmin/html/Dashboard.html");
    }
    
    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
     *      response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        // TODO Auto-generated method stub
    
        System.out.println("I am in doPost of dashBoardServlet");
        String scannerState = request.getParameter("scannerState");
        System.out.println("Dashboard servlet called, scannerState: " + scannerState);
        System.out.println("I am in dashBoardServlet");
        ZebraDbDao zebraDbDao = new ZebraDbDao();
        List<Scanner> scannerList;
    
        try {
            scannerList = zebraDbDao.getScannerDetail(scannerState);
            System.out.println("I got the scanner list");
            String json = new Gson().toJson(scannerList);
            response.setContentType("application/json");
            response.setCharacterEncoding("UTF-8");
            response.getWriter().write(json);
        } catch (SQLException e) {
    
            e.printStackTrace();
        } // online scanner
    }
    
    /**
    *@参见HttpServlet#doGet(HttpServletRequest请求,HttpServletResponse
    *(答复)
    */
    受保护的void doGet(HttpServletRequest请求、HttpServletResponse响应)
    抛出ServletException、IOException{
    //TODO自动生成的方法存根
    System.out.println(“我在dashBoardServlet的doGet中”);
    //3月19日的新文章,其中初始控制权授予servlet
    HttpSession session=request.getSession(false);
    如果(session.getAttribute(“userName”)==null)//未创建会话
    sendRedirect(“/zmcwebadmin/html/LoginPage.html”);
    其他的
    sendRedirect(“/zmcwebadmin/html/Dashboard.html”);
    }
    /**
    *@参见HttpServlet#doPost(HttpServletRequest,HttpServletResponse
    *(答复)
    */
    受保护的void doPost(HttpServletRequest请求、HttpServletResponse响应)
    抛出ServletException、IOException{
    //TODO自动生成的方法存根
    System.out.println(“我在dashBoardServlet的doPost中”);
    字符串scannerState=request.getParameter(“scannerState”);
    System.out.println(“被调用的仪表板servlet,scannerState:+scannerState”);
    System.out.println(“我在dashBoardServlet中”);
    ZebraDbDao ZebraDbDao=新的ZebraDbDao();
    列表扫描列表;
    试一试{
    scannerList=zebraDbDao.getScannerDetail(scannerState);
    System.out.println(“我得到了扫描列表”);
    字符串json=new Gson().toJson(扫描列表);
    setContentType(“应用程序/json”);
    响应。setCharacterEncoding(“UTF-8”);
    response.getWriter().write(json);
    }捕获(SQLE异常){
    e、 printStackTrace();
    }//在线扫描仪
    }
    
    Dashboard.html

       <script>
    
      function changeLogoutImage() {
        var image = document.getElementById('logoutbtn'); /* function for logout image*/
        if (image.src.match("_selected")) {
            image.src = "../Images/logout_deselected.png";
        } else {
            image.src = "../Images/logout_selected-18.png";
        }
    }
    
       $(document).ready(function(){ 
       $('#form_logout').submit(function()  
      {
        $form = $(this);
    $.post($form.attr('action'), $form.serialize(),  function(responseText)  {
    $('#usenameText').text(responseText);                                    
            });
            return false;                                                            
        });
    });
    
    
    函数changeLogoutImage(){
    var image=document.getElementById('logoutbtn');/*用于注销映像的函数*/
    if(image.src.match(“\u selected”)){
    image.src=“../Images/logout\u deselected.png”;
    }否则{
    image.src=“../Images/logout_selected-18.png”;
    }
    }
    $(文档).ready(函数(){
    $('#表单_注销')。提交(函数()
    {
    $form=$(此项);
    $.post($form.attr('action'),$form.serialize(),函数(responseText){
    $('usenameText').text(responseText);
    });
    返回false;
    });
    });
    

    
    ZMC服务器
    用户名
    
    您无需任何额外步骤即可访问响应对象:
    但您正在会话中存储警报,例如,
    ${sessionScope.userName}
    。还有一件事:您需要使用jsp访问它们,普通html不行。“我忘了提那件事了!”彼得谢谢你的回答。我限制自己使用jsp,并希望通过html或任何javascript方法实现。恐怕这是不可能的,或者我的知识还不够。您可以访问响应对象,而无需任何额外步骤:
    但您正在会话中存储警报,即
    ${sessionScope.userName}
    例如,还有一件事:您需要使用jsp来访问它们,普通html是不行的。“我忘了提那件事了!”彼得谢谢你的回答。我限制自己使用jsp,并希望通过html或任何javascript方法实现。我担心这是不可能的,或者我的知识还不够。