java - 使用 JSP 验证表单

标签 java jsp nullpointerexception

我是 JSP 的新手,我正在创建一个简单的表单并通过 JSP 对其进行验证。 这是我的代码:-

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<%@page import="java.io.* , java.sql.* , java.util.* , javax.servlet.*" %>

<body>
    <h1>Login Page by JSP</h1>
    <hr>
    <form method="post" action="index_jsp">
        Enter name : <input type="text" name="user">
        Enter password : <input type="password" name="pass">
        <input type="submit" value="login">
    </form>
    <%
    String user = request.getParameter("user");
    String pass = request.getParameter("pass");

    if(user.equals("admin") && pass.equals("admin"))
    {
    response.sendRedirect("wel.html");
    }

    %>
    <br>
    <a href="new.jsp">Click here !</a>

</body>
</html>

但是每次我运行它,我都会得到一个 NullPointerException。 我究竟做错了什么 ?立即帮助将不胜感激!

谢谢!

最佳答案

第一个建议,因为您是 JSP 的新手:不要编写 scriptlet 代码。这就是 <% 之间的所有内容和 %> .这是一个 1998 年的老式技术,应该被劝阻。学习JSTL和 Model-2 MVC 代替。

您需要一个 servlet 来编排这些 JSP。我所知道的每个 Web MVC 框架都有所谓的前端 Controller servlet 来管理通信和编排。你也应该。

您在此 JSP 中使用 POST 表单,将 HTTP 请求发送到 index_jsp(错误名称)。它在客户机上的浏览器中执行。

我希望您将此发送到服务器端的 servlet,该 servlet 获取 HTTP 请求,获取用户名和密码,将值与数据库进行比较以查看用户是否确实已注册。然后我要么发送下一个 View ,要么路由到“抱歉”页面。那不是你在做什么。

关于java - 使用 JSP 验证表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23388557/

相关文章:

java - jsp 表单在一个输入中返回空值

java - Hibernate - 如何在 JSP 表中显示对象列表?

java - Flex 文件上传在使用 JSP 的 struts 环境中不起作用

java - 通过 JDBC 查询登录时出现 NullPointerException 错误

Scala 无法初始化一个 val

java - 使用运行时 Java 在 linux 中执行命令不工作返回代码不是 0

java - 如何修复我的 NoSuchElementException?

java - 如何将 ASCII 码 (0-255) 转换为其对应的字符?

java - Apache tika 错误地检测 csv 的 mime 类型

java - 当我的数组中显然有数据时,出现 NullPointerException