2016-06-01 16 views
0

Ich versuche, Bootstrap zu einem vorhandenen Jersey 2/JSP-Beispielprojekt hinzuzufügen, mit this tutorial as a guide. In der Chrome-Konsole erhalte ich jedoch weiterhin 404-Fehler für das CSS von Bootstrap, und die Stile werden nicht geladen.Bootstrap kann nicht aus lokalem Ordner mit Jersey 2 auf Glassfish geladen werden. 4

Error in Google console

Ich habe versucht, eine Eigenschaft in meinem ResourceConfig fügte hinzu:

property(ServletProperties.FILTER_STATIC_CONTENT_REGEX, 
      // "/(images|css)/.*"); 
      "/css/*") 

ohne Erfolg.

Hier ist meine Gewohnheit ResourceConfig

package com.xxx.jersey2.config; 

import org.glassfish.jersey.filter.LoggingFilter; 
import org.glassfish.jersey.server.ResourceConfig; 
import org.glassfish.jersey.server.mvc.jsp.JspMvcFeature; 
import org.glassfish.jersey.servlet.ServletProperties; 

public class CustomResourceConfig extends ResourceConfig { 
    public CustomResourceConfig() { 
     packages("com.xxx"); 
     register(LoggingFilter.class); 
     register(JspMvcFeature.class); 
     // it may be also jersey.config.server.mvc.templateBasePath 
     // property("jersey.config.server.mvc.templateBasePath", "/WEB-INF/jsp"); 
     property(JspMvcFeature.TEMPLATE_BASE_PATH, "/WEB-INF/jsp"); 
     // CSS and JS 
     // property(ServletProperties.FILTER_STATIC_CONTENT_REGEX, "/(static|(WEB-INF/css))/"); 
     property(ServletProperties.FILTER_STATIC_CONTENT_REGEX, 
       // "/(images|css)/.*"); 
       "/css/*"); 
    } 
} 

Mein web.xml

<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation=" 
     http://java.sun.com/xml/ns/javaee 
     http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> 

    <!--<display-name>Archetype Created Web Application</display-name>--> 

    <filter> 
    <filter-name>jersey</filter-name> 
    <filter-class>org.glassfish.jersey.servlet.ServletContainer</filter-class> 
    <!-- 
    <init-param> 
     <param-name>jersey.config.server.provider.packages</param-name> 
     <param-value>com.xxx.sample-jersey2</param-value> 
    </init-param> 
    --> 
    <init-param> 
     <param-name>jersey.config.servlet.filter.forwardOn404</param-name> 
     <param-value>true</param-value> 
    </init-param> 
    <init-param> 
     <param-name>javax.ws.rs.Application</param-name> 
     <param-value>com.xxx.jersey2.config.CustomResourceConfig</param-value> 
    </init-param> 
    </filter> 

    <filter-mapping> 
    <filter-name>jersey</filter-name> 
    <url-pattern>/*</url-pattern> 
    </filter-mapping> 

    <!--<welcome-file-list>--> 
    <!--<welcome-file>index.html</welcome-file>--> 
    <!--<welcome-file>index.htm</welcome-file>--> 
    <!--<welcome-file>movies.jsp</welcome-file>--> 
    <!--</welcome-file-list>--> 

</web-app> 

Meine JSP

<%@page contentType="text/html"%> 
<%@page pageEncoding="UTF-8"%> 
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> 
<html> 
<head> 
    <title>Sandbox application</title> 
    <link rel="stylesheet" href="../../css/bootstrap.min.css"> 
    <!-- <script src="../js/bootstrap.min.js"></script> --> 

    <!-- Latest compiled and minified CSS --> 
    <!-- <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous"> --> 

    <!-- Optional theme --> 
    <!-- <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap-theme.min.css" integrity="sha384-fLW2N01lMqjakBkx3l/M9EahuwpSfeNvV63J5ezn3uZzapT0u7EYsXMjQV+0En5r" crossorigin="anonymous"> --> 

    <!-- Latest compiled and minified JavaScript --> 
    <!-- <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script> --> 
</head> 
<body> 
<h2>Listing Movies</h2> 
    <table class="table table-striped"> 
     <tr> 
      <th>Name</th> 
      <th>Starring</th> 
     </tr> 
     <c:forEach var="item" items="${it.movies}"> 
      <tr> 
       <td>${item.name}</td> 
       <td>${item.starring}</td> 
      </tr> 
     </c:forEach> 
    </table> 
</body> 
</html> 

Und schließlich die Projektstruktur

Project structure

Alle Ideen dazu würden sehr geschätzt werden.
Dank

Antwort

0

Linie 7 Ihrer list.jsp

<link rel="stylesheet" href="../css/bootstrap.min.css"> 

<link rel="stylesheet" href="../../css/bootstrap.min.css"> 

Ich denke, dass alle Pfade bezüglich zu WEB-INF, weil WEB-INF und die Bootstrap statt sein sollte Ressourcen befinden sich im selben übergeordneten Ordner. Sie müssen nur eine Ebene höher gehen, bevor Sie zurück nach/css oder/js