|
发表于 2023-5-9 10:16:16
|
显示全部楼层
从你提供的代码来看,你提供的 login.jsp 和 loginServlet 代码是完全一样的,这可能是问题的原因。实际上,你应该为 LoginServlet 创建一个Java类,而不是使用JSP页面。下面是一个简单的 LoginServlet 示例:
- import javax.servlet.ServletException;
- import javax.servlet.annotation.WebServlet;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import java.io.IOException;
- @WebServlet("/day05-filter-listener/LoginServlet")
- public class LoginServlet extends HttpServlet {
- protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- // 获取用户名和密码
- String username = request.getParameter("username");
- String password = request.getParameter("password");
- // 验证用户名和密码(这里仅作演示,实际应用中应该连接数据库进行验证)
- if ("yourUsername".equals(username) && "yourPassword".equals(password)) {
- request.getSession().setAttribute("username", username);
- response.sendRedirect("welcome.jsp");
- } else {
- response.sendRedirect("login.jsp");
- }
- }
- protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- doPost(request, response);
- }
- }
复制代码
这个 LoginServlet 示例将处理用户登录请求,并根据用户名和密码是否匹配来重定向到 welcome.jsp 或 login.jsp 页面。注意,这里的用户名和密码验证仅作演示,实际应用中应该连接数据库进行验证。
要解决你遇到的404问题,请确保:
1. 删除错误的 loginServlet JSP页面,创建一个正确的 LoginServlet Java类。
2. 检查web.xml文件中的servlet和servlet-mapping配置是否正确。
3. 确保应用程序已经部署到Web服务器上,并且路径设置正确。
希望这能帮助你解决问题。 |
|