は、spring-boot-starter-web-mvcを初期開発に使用していました。サーバーにwarファイルをデプロイすると、しかし、私は春のブートを使用して同じコードを実行すると、正常に動作しています。以下は、jsおよびcssファイルをロードするディレクトリ構造と設定です。誰も私にどのように問題があるか教えてもらえますか?プロジェクトにはJavaベースの設定のみを使用します。私はプロジェクトを展開する前にdocの8.1.1を参照し、以下のように同じpomファイル構成を使用しました。ApacheとTomcatのwarファイルをデプロイ中にCSSとJSファイルがロードされない
構成ファイル -
public class ViewWebAppConfig extends WebMvcConfigurerAdapter {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
// configuration for assets/ static files
registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");
}
@Bean
public InternalResourceViewResolver viewResolver() {
InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
viewResolver.setViewClass(JstlView.class);
viewResolver.setPrefix("/WEB-INF/jsp/");
viewResolver.setSuffix(".jsp");
return viewResolver;
}
@Bean
public ResourceBundleMessageSource messageSource() {
ResourceBundleMessageSource rb = new ResourceBundleMessageSource();
rb.setBasenames(new String[] { "validation" });
return rb;
}
}
pom.xmlファイル
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.4.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<log4j.version>2.7</log4j.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
</dependency>
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
<!-- Dependency for rendering jsp pages -->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>tomcat</groupId>
<artifactId>jasper-compiler</artifactId>
<version>5.5.23</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>tomcat</groupId>
<artifactId>jasper-runtime</artifactId>
<version>5.5.23</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>tomcat</groupId>
<artifactId>jasper-compiler-jdt</artifactId>
<version>5.5.23</version>
<scope>provided</scope>
</dependency>
<!-- Dependency for rendering jsp pages -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>${log4j.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>${log4j.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
</dependency>
</dependencies>
以下のように、ばねタグを使用して、JSとCSSをロード -
<%@taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<spring:url value="/resources/assets/js/custom.min.js" var="customJS" />
<script src="${customJS}"></script>
<link href="${customFieldAgent}" rel="stylesheet"/>
<spring:url value="/resources/assets/css/customfieldAgent.css" var="customFieldAgent" />
以下は、サーバーのログです -
17:03:10.014 [HTTP-NIO-8080-EXEC-7] DEBUG org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping - ませんでしたWARN org.springframework.web.servlet.PageNotFound - のマッピングが見つかりませんでした。[/ $ {starrrJS} の名前「ディスパッチャ」17:03:10.014 [http-nio-8080-exec-7]を持つDispatcherServletのui/$%7BstarrrJS%7D] DEBUG org.springframework.web.servlet.DispatcherServlet - 成功 完了リクエスト17: 03:10.018 [http-nio-8080-exec-4] DEBUG org.springframework.web.servlet.DispatcherServlet - [/ ui/$%7BcustomJS%7D] 17:03:10.018 [http-nio-8080-exec-4]のGET要求を処理する名前 'ディスパッチャ'を持つ DEBUG org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping - パス/ $ {customJS}のハンドラメソッドを検索する17:03:10.019 [http-nio-8080-exec-4] DEBUG org.springframework .web.servlet.mvc.method.annotation.RequestMappingHandlerMapping - [/ $ {customJS}]のハンドラメソッドが見つかりませんでした17:03:10.019 [http-nio-8080-exec-4] WARN org.springframework.web .servlet.PageNotFound - のマッピングが見つかりませんでした。 名前 'dispatcher' 17:03:10.019のDispatcherServletのURI [/ui/ $%7BcustomJS%7D]のHTTPリクエスト[HTTP-NIO-8080-EXEC-4] DEBUG org.springframework.web.servlet.DispatcherServlet - 成功し 完了した要求
https://github.com/MFaisalHyder/REST_APIこのプロジェクトを親切にチェックして、これが役立つかどうかを確認してください。私はソートされていないと答えを投稿します。 –
あなたは場所に(/ resources /)を提供しています。/assets /は、実際のリソースフォルダの上にあります。registry.addResourceHandler( "/ resources/**/*")。addResourceLocations( "/ resources/assets /");試してみて、それが動作するかどうかを教えてください –
いいえ動作していません。サーバーログで更新しました。 – Worker