【发布时间】:2017-01-05 12:31:56
【问题描述】:
我最近开始用 java 编程,并且一直在尝试一些 JSP 开发。我正在尝试制作一个使用 POST 方法将数据传输到 servlet 的登录页面。这是我的代码:
<form method="POST" name ="loginForm" action="userAuth">
<input type="hidden" name="userAction" value="login">
Username: <input type="text" name="txtUsername"> <br>
Password : <input type="password" name="txtPassword">
<br><input type="submit" value="Login">
</form>
以上代码来自初始登录页面。
以下代码来自 userAuth.java 文件。
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
String userAction = request.getParameter("userAction");
if (userAction.equals("Login")) {
String userName = request.getParameter("txtUsername");
String passWord = request.getParameter("txtPassword");
if (userName.equals("hello") && passWord.equals("hello")) {
response.sendRedirect("Homepage.jsp");
}
}
}
我遇到的问题是,当我输入正确的用户名和密码时,doPost 方法没有执行,因此没有发生任何重定向。而是仅执行 ProcessRequest 方法,该方法仅向 Web 浏览器显示初始模板。
提前谢谢你。
PS 我使用的是 Apache Tomcat 8.0.27.0
【问题讨论】:
-
您能否添加更多信息,例如您如何部署 jsp(Weblogic、Tomcat ......)等?可以先用 doGet 试试,确保环境没问题。
-
@pianista 我试过 doGet 但没有成功。
-
把
@Override放在上面,以检查你是否以正确的方式构建了所有内容。然后检查 web.xml 或替代注释以将 URL“userAuth”映射到正确的 servlet。