当前位置: 首页 > 知识库问答 >
问题:

Java servlet resCource调度程序在正确的位置包含html

萧无尘
2023-03-14

我有一个非常基本的登录servlet

@WebServlet("/LoginServlet")
public class LoginServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

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

        // get request parameters for userID and password
        String username = request.getParameter("username");
        String password = request.getParameter("password");

        if (username.equals("marti") && password.equals("bosch")) {
            response.sendRedirect("login_success.jsp");
        } else {
            RequestDispatcher rd = getServletContext().getRequestDispatcher(
                    "/login.html");
            PrintWriter out = response.getWriter();
            out.println("<font color=red>Either user name or password is wrong.</font>");
            rd.include(request, response);
        }
    }
}

当我从登录名调用servlet时。html:

<!DOCTYPE html>
<html>
<head>
<title>Login Page</title>
</head>
<body>
    <form action="LoginServlet" method="post">
        <p>Username: <input type="text" name="username"> </p>
        <p>Password: <input type="password" name="password"> </p>
        <p><input type="submit" value="Login"></p>
    </form>
</body>
</html>

如果输入了正确的用户名和密码,浏览器将正确呈现login\u success。jsp。但是,当我没有输入正确的用户名和密码时,浏览器会将未渲染的html显示为纯文本:

<font color=red>Either user name or password is wrong.</font>
<!DOCTYPE html>
<html>
<head>
<title>Login Page</title>
</head>
<body>
    <form action="LoginServlet" method="post">
        <p>Username: <input type="text" name="username"> </p>
        <p>Password: <input type="password" name="password"> </p>
         <p><input type="submit" value="Login"></p>
    </form>
</body>
</html>

如何让LoginServlet将消息放在正确的位置(在body标签之后)?谢谢

共有1个答案

夏才
2023-03-14

确切地说,您需要将其作为HTML文档的内容:

<!DOCTYPE html>
<html>
<head>
<title>Login Page</title>
</head>
<body>
    <font color=red>Either user name or password is wrong.</font>
    <form action="LoginServlet" method="post">
        <p>Username: <input type="text" name="username"> </p>
        <p>Password: <input type="password" name="password"> </p>
         <p><input type="submit" value="Login"></p>
    </form>
</body>
</html>
 类似资料:
  • 如果需要,如何正确、干净地终止python程序<代码>系统。exit()不能可靠地执行此功能,因为它只是终止调用它的线程,和不应使用,除非在终端窗口中,与是一种坏习惯,并且会立即杀死所有东西,并且不会清理,这可能会导致残留物问题。 有没有办法总是杀死程序和所有线程,不管它是从哪里调用的,同时仍然清理?

  • 问题内容: 我正在考虑如何使Android的支持库在Eclipse之外包含和编译。我使用Linux作为构建环境,没有使用任何IDE来创建应用程序,仅使用基本的Android SDK。我仅获得了有关Eclipse的此问题的答案,但是如何仅使用Ant和Android SDK呢? 问题答案: 假设您没有使用: 步骤1:将SDK 复制或从SDK 复制到项目目录中。 步骤2:没有步骤2。 选择是否要使用本机

  • 我目前在macOS大苏尔和最近更新的pip从19.2.3到20.3.3,但现在有旧的包装脚本错误。我在网上搜索解决方案并尝试了所有这些解决方案,但没有任何效果。 所以目前我有python 3.8.2(我卸载了我的python 3.7.4) 我将python 3.8添加到现在 显示 但这对任何事情都没有帮助 我也试过重新安装,但也不好使。 我可以尝试其他解决方案吗?问题是因为路径吗? 如果这种情况仍

  • 问题内容: 我看过一些在线演示,其中简要提到了Java 9中的独立应用程序,但是我有一个问题需要解决。 使用新的模块系统,现在只允许包含运行应用程序所需的最少代码量。但是,希望运行该应用程序的系统是否仍然需要JRE,或者该程序的基本模块中可以包含某些内容? 我怀疑是后者,因为下载Java最新版本的页面(此处)仍然显示版本8_151。 TL; DR-使用Java 9,是否可以创建一个自包含的可执行文

  • 我是一个初学者程序员,我试图做一个简单的计算器,但由于某种原因,按钮似乎不能正常工作,它们要么消失,填满整个面板,要么设置在错误的位置。奇怪的是,当我悬停并在按钮上点击鼠标时,按钮就会出现。我可能会错过一些非常明显的东西,但请帮助(此外,代码不是很干净)。谢谢你! 主要的 计算器按钮 窗

  • 问题内容: 我的项目目录结构如下(我认为这很标准): 我将py.test用于我的测试框架,并且希望能够在目录中运行我的测试时运行。在我尝试在测试中使用(例如)导入应用程序代码之前,这确实可行。那时,我收到错误“没有名为mypkg的模块”。经过一些调查,似乎使用测试文件的目录运行而 不是从中运行目录的情况下运行测试。 为了解决此问题,我向目录中添加了一个文件,其中包含以下代码: 这似乎可行,但这是确