Servlets 为什么Servlet页面刷新/重新加载而不是重定向(使用meta标记)? *//post方法* 受保护的void doPost(HttpServletRequest-req、HttpServletResponse-res) 抛出ServletException、IOException{ 字符串username=req.getParameter(“用户名”); 字符串密码=req.getParameter(“密码”); System.out.println(“收到表单数据..正在验证”); if(登录验证程序(用户名、密码)){ Cookie xO=新Cookie(“用户名”,用户名); Cookie xT=新Cookie(“密码”,password); res.addCookie(xO); res.addCookie(xT); res.setContentType(“文本/html”); PrintWriter out=res.getWriter(); out.println(“”); }

Servlets 为什么Servlet页面刷新/重新加载而不是重定向(使用meta标记)? *//post方法* 受保护的void doPost(HttpServletRequest-req、HttpServletResponse-res) 抛出ServletException、IOException{ 字符串username=req.getParameter(“用户名”); 字符串密码=req.getParameter(“密码”); System.out.println(“收到表单数据..正在验证”); if(登录验证程序(用户名、密码)){ Cookie xO=新Cookie(“用户名”,用户名); Cookie xT=新Cookie(“密码”,password); res.addCookie(xO); res.addCookie(xT); res.setContentType(“文本/html”); PrintWriter out=res.getWriter(); out.println(“”); },servlets,cookies,Servlets,Cookies,post方法检索表单参数,然后从中创建cookie,并将这些cookie添加到响应中。然后,它使用meta标记重定向页面 我想知道为什么此页面正在重新加载而不是重定向。我无法找到我在哪里出错。out.println(“”; 使用以下值在响应中写入meta标记: 这是不正确的,因为url没有用内容属性值的引号括起来。相反,标记应该生成为: 这要求servlet中的对应行为: out.println(“”; 请注意,meta refresh的概念已经过时。如果您打算将用户重定向到新页面,最好使用H

post方法检索表单参数,然后从中创建cookie,并将这些cookie添加到响应中。然后,它使用meta标记重定向页面

我想知道为什么此页面正在重新加载而不是重定向。我无法找到我在哪里出错。

out.println(“”;

使用以下值在响应中写入
meta
标记:

这是不正确的,因为url没有用内容属性值的引号括起来。相反,标记应该生成为:

这要求servlet中的对应行为:

out.println(“”;


请注意,
meta refresh
的概念已经过时。如果您打算将用户重定向到新页面,最好使用HTTP 302响应,这在使用该方法的servlet中很容易实现

*//post method*
protected void doPost (HttpServletRequest req, HttpServletResponse res)
        throws ServletException,IOException {
        String username = req.getParameter("username");
        String password = req.getParameter("password"); 
        System.out.println( " Form data recieved .. Now Verifying ");

        if ( loginVerificator ( username, password ) )  {
            Cookie xO = new Cookie ( "username", username );
            Cookie xT = new Cookie ( "password", password );            
            res.addCookie( xO );
            res.addCookie( xT );
            res.setContentType( "text/html" );
            PrintWriter out = res.getWriter( );
            out.println("<meta http-equiv=\"refresh\" content=\"2\";url=\"home\">");
        }