War文件不会显示images / CSS / JS / HTML

时间:2014-09-23 11:06:40

标签: html css spring-mvc war

我正在开发一个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代码来获取想法。

1 个答案:

答案 0 :(得分:2)

你有css的相对路径,这只适用于一个特定的路径,在你的情况下,只有当页面的网址为<context>/views/user.jsp时,它才会起作用。

要解决此问题,您必须附加上下文根,如下例所示。

<link rel="stylesheet" href="${pageContext.request.contextPath}/view/css/bootstrap.min.css">