我正在开发一个spring-MVC项目。现在我有一个user.jsp文件,负责在数据库中添加用户。我已经创建了一些图像,js,css。您可以猜到,HTML代码位于.jsp代码中。一旦我登陆页面,我就可以看到我的所有HTML代码都可以工作,但没有CSS,没有图像。我已经检查了,所有图像等都在我的war文件中。在IDE中,当我点击任何CSS或任何JS文件时,它会带我到那里。我假设,这意味着它能够找到我提供的绝对路径的链接。那么为什么我在运行应用程序时无法看到它?结构如下:
webapp/
|--+views/
css/
fonts/
img/
|+-user.jsp
此外,当我使用存档管理器和项目外的所有文件夹打开war文件时,将解析所有文件。
JSP代码:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://www.springframework.org/tags" prefix="spring" %>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %>
<%@ page session="false" %>
<html>
<head>
<!-- Meta Tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Title -->
<title>Ecommerce</title>
<!-- Fonts -->
<link href='http://fonts.googleapis.com/css?family=Roboto:400,300,300italic,400italic,500,700,900,700italic,500italic' rel='stylesheet' type='text/css'>
<!-- Stylesheets -->
<link rel="stylesheet" href="css/bootstrap.min.css">
<link rel="stylesheet" href="css/perfect-scrollbar.css">
<link rel="stylesheet" href="css/style.css">
<link rel="stylesheet" href="css/flexslider.css" type="text/css" media="screen" />
<link rel="stylesheet" href="css/fontello.css">
<link rel="stylesheet" href="css/animation.css">
<link rel="stylesheet" href="css/chosen.css">
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<link rel="stylesheet" href="css/ie.css">
<![endif]-->
<!--[if IE 7]>
<link rel="stylesheet" href="css/fontello-ie7.css">
<![endif]-->
</head>
<body>
<!-- Container -->
<div class="container">
<!-- Header -->
<header class="row">
<div class="col-lg-12 col-md-12 col-sm-12">
<!-- Top Header -->
<div id="top-header">
<div class="row">
<nav id="top-navigation" class="col-lg-7 col-md-7 col-sm-7">
<ul class="pull-left">
<li><a href="create_an_account.html">My Account</a></li>
<li><a href="orders_list.html">List Order</a></li>
<li><a href="order_info.html">Checkout</a></li>
<li><a href="text_page.html">About Us</a></li>
<li><a href="contact.html">Contact</a></li>
</ul>
</nav>
这只是一些JSP代码来获取想法。
答案 0 :(得分:2)
你有css的相对路径,这只适用于一个特定的路径,在你的情况下,只有当页面的网址为<context>/views/user.jsp
时,它才会起作用。
要解决此问题,您必须附加上下文根,如下例所示。
<link rel="stylesheet" href="${pageContext.request.contextPath}/view/css/bootstrap.min.css">