我是 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/