JSP中的登录表单

嗨,到目前为止,我根本没有使用过JSP,我发现一些在线教程很难从中学习,我需要编写简单的登录表格..在PHP中进行操作对我来说不是问题,但是在JSP存在一个大问题。这是我将如何用PHP普通而简单的HTML来做到这一点:

<form action="action.php" method="post">

<input name="username" type="text" />

<input name="password" type="password" />

</form>

这是action.php

<?php

$user = $_POST['username'];

$pwd = $_POST['password'];

if($user != "" && $pwd != "")

{

... check whether md5 value of $pwd for username $user matches the value in database..

if so then redirect somewhere..

}

?>

我将如何在JSP中做这样的事情

回答:

与PHP不同,您通常只使用JSP进行演示。尽管您可以使用脚本(在<%

%>其中包含原始Java代码的东西)在JSP文件中编写Java代码,但是您应该(直接或间接)使用Servlet类来控制请求和执行业务逻辑。您可以在JSP中使用taglibs生成/控制输出。标准的标记库是JSTL,其中JSTL的“核心”是最重要的。您可以使用EL(表达语言)访问页面,请求,会话和应用程序范围中可用的数据。

首先,创建一个JSP文件,其中基本上包含以下内容:

<form action="${pageContext.request.contextPath}/login" method="post">

<input type="text" name="username">

<input type="password" name="password">

<input type="submit">

</form>

然后创建一个servlet类,该类具有doPost()如下实现:

String username = request.getParameter("username");

String password = request.getParameter("password");

User user = userDAO.find(username, password);

if (user != null) {

request.getSession().setAttribute("user", user); // Logged in!

response.sendRedirect(request.getContextPath() + "/home"); // Redirect to some home page.

} else {

request.setAttribute("message", "Unknown login, try again."); // Print it in JSP as ${message}.

request.getRequestDispatcher("/WEB-INF/login.jsp").forward(request, response); // Redisplay same JSP with error message.

}

最后,如下所示注释servlet类:

@WebServlet("/login")

这意味着您可以像在中那样通过http://example.com/webapp/login调用它<form

action>

以上是 JSP中的登录表单 的全部内容, 来源链接: utcz.com/qa/429608.html

回到顶部