如何将CSS文件加载到jsp中

yln*_*gar 26 java jsp-tags

我创建了一个jsp页面如下:

<%@ page contentType="text/css" %>
<html>
<head>
<title>Login page</title>
<link href="/css/loginstyle.css" rel="stylesheet" type="text/css">
</head>
<body>
<h1> India welfare</h1>
<p> welcome </p>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

并将其命名为login.jsp

我还创建了一个名为loginstyle.css的css文件,.css文件的代码如下:

body
{
background-color:#d0e4fe;
}
h1
{
color:orange;
text-align:center;
}
p
{
font-family:"Times New Roman";
font-size:20px;
}
Run Code Online (Sandbox Code Playgroud)

css和jsp的目录结构如下: .css文件的webcontent/welfare_web/css和 jsp文件的webcontent/welfare_web/login

编程编辑器是eclipse,我使用的服务器是tomcat 7.0.当我尝试使用tomcat服务器运行login.jsp文件时.css文件没有显示任何效果.我的意思是输出是普通文本,而不是CSS文件.

请帮我如何使.css文件生效jsp文件.

Man*_*nny 31

css href链接不正确.改为使用相对路径:

<link href="../css/loginstyle.css" rel="stylesheet" type="text/css">
Run Code Online (Sandbox Code Playgroud)


kam*_*mal 31

你可以这样写.这适用于无论何时更改上下文路径,您都不需要修改jsp文件.

<link rel="stylesheet" href="${pageContext.request.contextPath}/css/styles.css" />
Run Code Online (Sandbox Code Playgroud)


小智 15

我用这个版本

<style><%@include file="/WEB-INF/css/style.css"%></style>
Run Code Online (Sandbox Code Playgroud)


Axe*_*ini 7

我也有同样的问题.然后我意识到在MainPageServlet中@WebServlet注释中的urlPatterns参数包含"/",因为如果用户输入了www.site.com/部分,我想转发到MainPage .当我尝试从浏览器打开css文件时,网址是www.site.com/css/desktop.css,但页面内容是THE PAGE MainPage.jsp.所以,我删除了"/"urlPattern,现在我可以使用最常见的解决方案之一在我的jsp文件中使用CSS文件(${pageContext.request.contextPath}/css/desktop.css).确保您的servlet不包含"/"urlPattern.我希望这对你也有用, - Axel Montini