我在Eclipse中有这个Dynamic Web Project:
我想从home.jsp链接到home.css。
home.jsp的负责人:
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<!DOCTYPE html>
<html lang="en"><head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="Infinance Home Webpage">
<meta name="author" content="Infinance">
<link rel="icon" href="img/infinance-web-icon_128.png">
<title>Infinance: Inicio</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
<link rel="stylesheet" type="text/css" href="css/home.css" />
<style id="style-1-cropbar-clipper">
.en-markup-crop-options {
top: 18px !important;
left: 50% !important;
margin-left: -100px !important;
width: 200px !important;
border: 2px rgba(255,255,255,.38) solid !important;
border-radius: 4px !important;
}
.en-markup-crop-options div div:first-of-type {
margin-left: 0px !important;
}
</style></head>
...
我尝试了很多在其他StackOverFlow帖子中找到的解决方案,但唯一可行的解决方案是:
<style type="text/css">
<%@include file="css/style.css" %>
</style>
但我想使其与链接和href一起使用,因为我想提供客户端资源引用,而不是服务器端包含。
当浏览器请求CSS文件时,会发生以下情况: Firefox控制台屏幕截图
我认为发生的事情是,当浏览器请求http:// localhost:8080 / infinance / css / home.css时,Tomcat返回了home.jsp。我不知道为什么
Home.java(servlet)代码:
@WebServlet("/")
public class Home extends HttpServlet {
private static final long serialVersionUID = 1L;
private static DatabaseManager db;
public Home() {
super();
}
public void init() {
db = new DatabaseManager();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
ServletContext sc = getServletContext();
RequestDispatcher rd = sc.getRequestDispatcher("/home.jsp");
rd.forward(request,response);
}
}
任何想法?一切都有帮助。谢谢。
我终于解决了。
如果您写:
@WebServlet("/")
在servlet(Home.java)中,如果未在servlet中指定URL,则将home.jsp设置为默认文件。在这种情况下,我在任何Servlet中都没有URL http:// localhost:8080 / infinance / css / home.css,因此它始终重定向到home.jsp网页。
对我有用的解决方案正在改变:
@WebServlet("/")
并改为:
@WebServlet("/home")
这样,仅当您编写http:// localhost:8080 / infinance / home时,它才会将您重定向到home.jsp;如果您未指定url,则会收到404错误,但它允许将CSS和img与href。
随意编写其他可行的解决方案。