编辑**
我设法加载了 CSS,但它重定向回 login.jsp,因此它加载的是 HTML 而不是 CSS。知道为什么吗?
我试图将自定义 CSS 文件添加到我在 login.jsp 页面上的标题 当我运行它时,CSS 没有运行并且出现错误:
too many redirects
我不确定如何解决这个问题。
我试图找到一种允许 css/js/img 文件的方法,但我不熟悉 web.xml
文件以及验证这些条目的最佳实践。
错误信息:
GET http://localhost:8080/AppV2/resource/css/login net::ERR_TOO_MANY_REDIRECTS
login.jsp页面:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<jsp:include page="header.jsp" />
<link rel="stylesheet" href="resource/css/login.css">
<body>
<%
String login_msg = (String) request.getAttribute("error");
if (login_msg != null)
out.println("<font color=red size=4px>" + login_msg + "</font>");
%>
<div class = "container">
<div class="wrapper">
<form action="" method="post" name="Login_Form" class="form-signin">
<h3 class="form-signin-heading">Welcome Back! Please Sign In</h3>
<hr class="colorgraph"><br>
<input type="text" class="form-control" name="Username" placeholder="Username" required="" autofocus="" />
<input type="password" class="form-control" name="Password" placeholder="Password" required=""/>
<button class="btn btn-lg btn-primary btn-block" name="Submit" value="Login" type="Submit">Login</button>
</form>
</div>
</div>
</body>
</html>
Login.java Servlet:
public class LoginServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public LoginServlet() {
}
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// Set standard HTTP/1.1 no-cache headers.
response.setHeader("Cache-Control", "private, no-store, no-cache, must-revalidate");
// Set standard HTTP/1.0 no-cache header.
response.setHeader("Pragma", "no-cache");
if ((request.getParameter("password") == "") && (request.getParameter("password") == "")) {
request.setAttribute("error", "Invalid Username or Password");
RequestDispatcher dispatcher = this.getServletContext().getRequestDispatcher("/WEB-INF/views/login.jsp");
dispatcher.forward(request, response);
} else if ((request.getParameter("password") == null) && (request.getParameter("password") == null)) {
RequestDispatcher dispatcher = this.getServletContext().getRequestDispatcher("/WEB-INF/views/login.jsp");
dispatcher.forward(request, response);
} else {
String psw = request.getParameter("password");
String usr = request.getParameter("username");
List res = userLoginUtils.logIn(usr, psw);
Boolean debugFlag = true;
if (res.get(0).equals("true") || debugFlag == true) {
this.writeToSession(res.get(1), request);
} else {
request.setAttribute("error", "Invalid Username or Password");
RequestDispatcher dispatcher = this.getServletContext().getRequestDispatcher("/WEB-INF/views/login.jsp");
dispatcher.forward(request, response);
}
response.sendRedirect("index");
}
}
谢谢
最佳答案
首先,将您的标签放入您的标签中(我假设您的标签在 header.jsp 中?)
然后关于你的文件路径: 你不能像你那样导入它。 尝试以下(这里使用 EL 表达式)
<link type="text/css" rel="stylesheet" href="${pageContext.request.contextPath}/resource/css/login.css" />
关于Java 在尝试加载 CSS 文件时重定向到登录页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48265254/