framework - sparkjava jar
¿Dónde colocar archivos estáticos para Spark Web Framework? (4)
¿Dónde coloco los archivos cuando intento servir archivos estáticos con el marco web de Spark?
No he podido encontrar nada en línea; estoy empezando a sospechar que no entiendo nada sobre las rutas de clases, las rutas relativas, etc. para un proyecto de Eclipse y Java.
Este párrafo sobre archivos estáticos en Spark se refiere a /public
, pero no tengo idea de dónde sería. Usando Windows, Eclipse Luna y mi proyecto se convierten para usar Maven.
He intentado buscar en el código de GitHub, pero estoy un poco fuera de mi alcance tratando de encontrarlo.
- Coloque su directorio público en
src/main/resources
- Reemplace
Spark.staticFileLocation("/public");
aSpark.staticFileLocation("public");
Haga clic derecho en su proyecto en Eclipse, seleccione crear Nuevo -> Paquete. Dale un nombre al nuevo paquete, etc.
Coloque sus recursos estáticos en ese paquete, para que podamos estar seguros de que están bajo su ruta de clase.
- En su clase principal de clase, llame a staticFileLocation ("yourpackagename /");
Pongo mis hojas de estilo debajo de mi contenido estático de la siguiente manera:
staticFileLocation( "/web" );
/web/
|-- index.html
+-- styles/
+
+--- default.css
Y el index.html
... <link href="styles/default.css" rel="stylesheet" type="text/css" />
También tengo otras páginas HTML generadas como con freemarker. Solo recogen el camino:
- /styles/default.css, o
- localhost: 8081 / styles / default.css
Muestra el modo en que CSS lo obtiene.
Fuente: https://groups.google.com/d/msg/sparkjava/5vMuK_5GEBU/vh_jHra75u0J
Primero tienes que decirle a Spark dónde buscar los archivos estáticos como este:
Spark.staticFiles.location("/public");
En las versiones de Spark anteriores a 2.5, debes usar:
Spark.staticFileLocation("/public");
Entonces su proyecto debería tener una carpeta public
debajo de la carpeta de recursos como esta
/src/main/resources/public/style.css
Por ejemplo, agregué un archivo style.css
allí, por lo que deberías acceder a él de esta manera:
http://localhost:4567/style.css
Si desea servir una carpeta que no sea classpath, entonces debería usar
Spark.staticFiles.externalLocation("/path/to/dir");
En las versiones de Spark anteriores a 2.5, debes usar:
Spark.externalStaticFileLocation("/path/to/dir");