Java 在Mavens中访问JSP中的CSS JS资源(不使用Spring MVC)
我有一个基于JSP/Servlet的web应用程序,它使用Maven,还没有使用SpringMVC实现。我正在尝试使用将其部署到嵌入式tomcat容器 问题是css/js和JSP中的其他资产引用没有加载这些资源。当我使用Java 在Mavens中访问JSP中的CSS JS资源(不使用Spring MVC),java,jsp,maven,embedded-tomcat-8,Java,Jsp,Maven,Embedded Tomcat 8,我有一个基于JSP/Servlet的web应用程序,它使用Maven,还没有使用SpringMVC实现。我正在尝试使用将其部署到嵌入式tomcat容器 问题是css/js和JSP中的其他资产引用没有加载这些资源。当我使用java-jar target/dependency/webapp-runner.jar target/myapp.war启动应用程序时,我可以使用http://localhost:8080/index.jsp。但是,http://localhost:8080/assets/cs
java-jar target/dependency/webapp-runner.jar target/myapp.war启动应用程序时,我可以使用http://localhost:8080/index.jsp
。但是,http://localhost:8080/assets/css/sample-css.css
(示例参考)
请注意,根本没有“webcontext”,我认为这是嵌入式tomcat的工作方式。有什么想法可能是错误的吗
这是我的目录结构:
-- src
--- main
-- java
--- <servlet related classes in package folder>
-- webapp
-- WEB-INF
-- web.xml
-- assets
-- js
-- css
-- fonts
-- img
-- index.jsp
这是pom.xml的相关部分:
...
<plugins>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
<configuration>
<warSourceDirectory>${basedir}/src/main/webapp</warSourceDirectory>
<warName>${project.artifactId}</warName>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
...
。。。
以及它所指向的资源。对于以前遇到过同样问题的人,他就是我(暂时)解决问题的方式:
我已经从Servlet3.1迁移到2.5,这就解决了这个问题。我不明白为什么,但它现在起作用了
...
<plugins>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
<configuration>
<warSourceDirectory>${basedir}/src/main/webapp</warSourceDirectory>
<warName>${project.artifactId}</warName>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
...
<link type="text/css" href="${pageContext.request.contextPath}/assets/css/bootstrap.min.css" rel="stylesheet">
<!-- Another way -->
<link type="text/css" href="assets/css/bootstrap.min.css" rel="stylesheet">