【问题标题】:Accessing CSS JS resources in JSP in Mavens (Not using Spring MVC)在 Maven 中访问 JSP 中的 CSS JS 资源(不使用 Spring MVC)
【发布时间】:2015-07-14 10:38:05
【问题描述】:

我有一个基于 JSP/Servlet 的 Web 应用程序,它使用 Maven,但尚未使用 Spring MVC 实现。我正在尝试使用 webapp-runner 将其部署到嵌入式 tomcat 容器。

问题是来自 JSP 的 css/js 和其他资产引用不加载这些资源。当我使用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

当我打包这个应用程序时,&lt;project-dir&gt;/target 中的 WAR 看起来像这样。

            -- META-INF
            -- 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>
      ...

这就是我在 JSP 页面中访问资源的方式。我尝试了几种样式,但似乎没有任何效果:

 <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">

我已经提到了How to link a web resource file from /main/resources in JSP? 及其指向的资源。

【问题讨论】:

    标签: java jsp maven embedded-tomcat-8


    【解决方案1】:

    对于以前遇到过同样问题的任何人,他就是我解决问题的方法(暂时): 我已经从 Servlet 3.1 转移到 2.5 并解决了它。我不明白为什么,但现在可以了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-02
      • 1970-01-01
      • 2016-04-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-02
      • 1970-01-01
      相关资源
      最近更新 更多