java - 关于 HTTP 404 Not Found 的问题
问题描述
我目前正在开发一个使用 Netbeans 和 GlassFish 的中型 Java Web 应用程序。一切都很好,直到我将所有 JSP 文件放入名为 LoginOut 的文件夹中,我创建它来存储所有特定的 JSP 文件以使我的项目简洁。但是在我把所有的JSP文件放到那个文件夹之后,问题就出来了。详细地说,浏览器一直告诉我 HTTP 404 Not Found。我相信这是一个非常常见的错误。我在下面放了相关的截图。顺便说一句,当我将所有 JSP 文件放在 LoginOut 文件夹之外时,我的应用程序工作正常。我不知道错误发生在哪里..(这里是代码)项目文件结构
public User checkLogin(String email, String password) throws SQLException,
ClassNotFoundException {
Connection conn = getConnection();
String sql = "SELECT * FROM users WHERE email = ? and password = ?";
PreparedStatement st = conn.prepareStatement(sql);
st.setString(1, email);
st.setString(2, password);
ResultSet rs = st.executeQuery();
User user = null;
if (rs.next()) {
user = new User();
user.setFullName(rs.getString("fullname"));
user.setEmail(email);
}
conn.close();
return user;
}
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Login Page</title>
</head>
<body>
<form action="LoginServlet" method="POST">
Email: <input type="text" name="email" ><br><br>
Password: <input type="password" name="pass" ><br><br>
<input type="submit" value="Login" ><br><br>
<a href="index.jsp">Click here to go back.</a>
</form>
</body>
</html>
package controller.Servlet;
import Dao.UserDao.UserDAO;
import java.io.IOException;
import java.io.PrintWriter;
import static java.lang.System.out;
import java.sql.SQLException;
import javax.servlet.RequestDispatcher;
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 javax.servlet.http.HttpSession;
import model.User.User;
@WebServlet("/Login")
public class LoginServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public LoginServlet() {
super();
}
UserDAO userDao = new UserDAO();
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
String email = request.getParameter("email");
String password = request.getParameter("pass");
try {
User user = userDao.checkLogin(email, password);
String destPage = "Login.jsp";
if (user != null) {
HttpSession session = request.getSession();
session.setAttribute("user", user);
destPage = "home.jsp";
} else {
String message = "Invalid email/password";
request.setAttribute("message", message);
}
RequestDispatcher dispatcher = request.getRequestDispatcher(destPage);
dispatcher.forward(request, response);
} catch (SQLException | ClassNotFoundException ex) {
throw new ServletException(ex);
}
}
}
解决方案
推荐阅读
- javascript - 如何根据字符串匹配推送到对象属性数组?
- php - 无法从不同的文件中获取变量
- clojure - 惰性序列的实际使用
- codeigniter - 即使一切都是正确的,codeigniter 也不会在其中播放视频
- java - 表“flyway_schema_history”未使用 LOCK TABLES 锁定
- vue.js - VueJS Axios 发布请求 - 无法更新数据绑定
- sql - Postgres:返回 JSON 属性的前 3 个字符
- python - print 函数如何在 if 语句条件下工作?
- android - TextView 高度与RelativeLayout 相同
- android - 以下任务之间的循环依赖: