2016-04-13 1 views
0

Мои журналы Tomcat не показывает никаких ошибок, и от того, что я могу сказать, проект настроен правильно, а также кот 9.весна-загрузки приложение работает на IDE, но не на Tomcat при развертывании

<properties> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
     <java.version>1.8</java.version> 
     <tomcat.version>9.0.0.M4</tomcat.version> 
     <main.basedir>${basedir}/../..</main.basedir> 
    </properties> 

Больше для tomcat:

<!-- Provided (for embedded war support) --> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-tomcat</artifactId> 
      <scope>provided</scope> 
     </dependency> 

     <dependency> 
      <groupId>org.apache.tomcat.embed</groupId> 
      <artifactId>tomcat-embed-core</artifactId> 
      <version>${tomcat.version}</version> 
     </dependency> 

     <dependency> 
      <groupId>org.apache.tomcat.embed</groupId> 
      <artifactId>tomcat-embed-el</artifactId> 
      <version>${tomcat.version}</version> 
     </dependency> 

     <dependency> 
      <groupId>org.apache.tomcat.embed</groupId> 
      <artifactId>tomcat-embed-logging-juli</artifactId> 
      <version>${tomcat.version}</version> 
     </dependency> 

     <dependency> 
      <groupId>org.apache.tomcat.embed</groupId> 
      <artifactId>tomcat-embed-jasper</artifactId> 
      <version>${tomcat.version}</version> 
     </dependency> 

     <dependency> 
      <groupId>org.apache.tomcat.embed</groupId> 
      <artifactId>tomcat-embed-websocket</artifactId> 
      <version>${tomcat.version}</version> 
     </dependency> 

     <dependency> 
      <groupId>org.apache.tomcat</groupId> 
      <artifactId>tomcat-jdbc</artifactId> 
      <version>${tomcat.version}</version> 
     </dependency> 

     <dependency> 
      <groupId>org.apache.tomcat</groupId> 
      <artifactId>tomcat-jsp-api</artifactId> 
      <version>${tomcat.version}</version> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-test</artifactId> 
      <scope>test</scope> 
     </dependency> 

    </dependencies> 

Также страница index.jsp отображает пустую страницу. Я использую AngularJS и <ng-view> на странице. Это где я получаю ошибки:

enter image description here

Это то, что загружается:

enter image description here

Это просто загружаются некоторые таблицы стилей и мою страницу индекса.

I карта страниц в проекте так:

@Configuration 
public class WebConfig extends WebMvcConfigurerAdapter { 

    private static final Logger LOGGER = Logger.getLogger(WebConfig.class); 

    public void addResourceHandlers(ResourceHandlerRegistry registry) { 

     registry.setOrder(Ordered.HIGHEST_PRECEDENCE); 

     registry 
      .addResourceHandler("/javascripts/**") 
      .addResourceLocations("/resources/javascripts/"); 

     registry 
      .addResourceHandler("/libs/**") 
      .addResourceLocations("/resources/libs/"); 

     registry 
      .addResourceHandler("/stylesheets/img/**") 
      .addResourceLocations("/resources/images/"); 

     registry 
      .addResourceHandler("/stylesheets/**") 
      .addResourceLocations("/resources/stylesheets/"); 

     registry 
      .addResourceHandler("/images/**") 
      .addResourceLocations("/resources/images/"); 

     registry 
      .addResourceHandler("/views/**", "/templates/**") 
      .addResourceLocations("/resources/templates/"); 


    }; 

application.properties

spring.mvc.view.prefix=/WEB-INF/ 
spring.mvc.view.suffix=.jsp 
spring.mvc.static-path-pattern=/resources/* 
server.contextPath=/ 

карту index.jsp здесь:

@Controller 
public class ApplicationController { 

    @RequestMapping(value = {"/**", "*" }, method = RequestMethod.GET) 
    public String index() { 
     return "index"; 
    } 

} 

Как только он попадает в индекс .jsp. Угловые маршруты должны взять на себя:

app.config(function($routeProvider, $locationProvider){ 
    $routeProvider.when('/',{ 
     templateUrl: "/templates/misc/home.tpl.html", 
     controller: "HomeController" 
    }) 
    .when('/features/blog',{ 
     templateUrl: "/templates/features/blog.tpl.html", 
     controller: "BlogController" 
    }) 
    .when('/features/blogpost',{ 
     templateUrl: "/templates/features/blog-post.tpl.html", 
     controller: "BlogPostController" 
    }) 
    .when('/features/portfolio',{ 
     templateUrl: "/templates/features/portfolio.tpl.html", 
     controller: "PortfolioController" 
    }) 

index.jsp

<body> 

     <ng-include src="'/templates/structure/navigation.tpl.html'"></ng-include> 
     This is just a test... 
     <ng-view autoscroll="true"></ng-view> 

     <ng-include src="'/templates/structure/footer.tpl.html'"></ng-include > 

     <!--Scripts--> 
     <!--<script src="bower_components/masonry/dist/masonry.pkgd.min.js"></script>--> 
     <script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
     <script src="/libs/flexslider/jquery.flexslider.js"></script> 
     <script src="/libs/masonry/masonry.pkgd.min.js"></script> 
     <script src="/libs/imagesloaded/imagesloaded.pkgd.min.js"></script> 
     <script src="/libs/angular/angular.min.js"></script> 
     <script src="/libs/angular/angular-route.min.js"></script> 
     <script src="/libs/angular/angular-sanitize.min.js"></script> 
     <script src="/libs/angular/ui-bootstrap-tpls-0.13.0.min.js"></script> 
     <script src="/libs/angular-flexslider/angular-flexslider.js"></script> 
     <script src="/libs/angular-backstretch/ng-backstretch.min.js"></script> 
     <script src="/libs/angular-parallax/angular-parallax.js"></script> 
     <script src="/libs/angular-fitvids/angular-fitvids.js"></script> 
     <script src="/libs/angular-masonry/angular-masonry.min.js"></script> 
     <script src="/libs/momentjs/moment-with-locales.min.js"></script> 
     <script src="/libs/humanize-duration/humanize-duration.js"></script> 
     <script src="/libs/angular-timer/angular-timer.min.js"></script> 
     <script src="/libs/ng-progress/js/ngprogress.min.js"></script> 
     <script src="/libs/angular-gmaps/angular-google-maps.min.js"></script> 
     <script src="/libs/lodash/lodash.min.js"></script> 
     <script src='//maps.googleapis.com/maps/api/js?sensor=false'></script> 
     <script src="/javascripts/app.module.js"></script> 
     <script src="/javascripts/app.directives.js"></script> 
     <script src="/javascripts/app.routes.js"></script> 
     <script src="/javascripts/app.controllers.js"></script> 
     <script src="/javascripts/app.service.js"></script> 

    </body> 
</html> 

На пустой странице это вынести «Это просто тест», но я получаю ошибку 404 для всех моих угловых и других зависимостей, некоторые из которых можно увидеть на первая фотография, которую я опубликовал.

Мой Каталог:

enter image description here

------------------- Обновление 1 ------------- -----

context.xml

!-- The contents of this file will be loaded for each web application --> 
<Context> 

    <!-- Default set of monitored resources. If one of these changes, the --> 
    <!-- web application will be reloaded.         --> 
    <WatchedResource>WEB-INF/web.xml</WatchedResource> 
    <WatchedResource>${catalina.base}/conf/web.xml</WatchedResource> 

    <!-- Uncomment this to disable session persistence across Tomcat restarts --> 
    <!-- 
    <Manager pathname="" /> 
    --> 
</Context> 

-------------------- Обновление 2 --------- ----------

Мне пришлось добавить тег JSTL s и затем смог загрузить скрипты. Однако сейчас что-то действительно странно происходит:

<ng-include src="<c:url value="'/templates/structure/navigation.tpl.html'" />"></ng-include> 

     <ng-view autoscroll="true"></ng-view> 

     <ng-include src="<c:url value="'/templates/structure/footer.tpl.html'" />" ></ng-include> 

Все вышеперечисленное показывает 404 ошибок в консоли, и это делает пустую страницу.

+0

Что контекст, с которым вы развернули войну? –

+0

@ AndyWilkinson см. Обновление 1 – Drew1208

+0

Это не отвечает на мой вопрос. Самый простой способ установить контекстный путь - это имя войны, скопированной в каталог webapps. Существуют и другие способы (см. Http://stackoverflow.com/questions/7276989/howto-set-the-context-path-of-a-web-application-in-tomcat-7-0, например). –

ответ

0

Ваши URL-адреса в index.jsp неверны, поскольку ни один из них не начинается с /personalsite. Вам необходимо обновить JSP, чтобы указать путь к контексту в URL-адресе. Чтобы избежать жесткого кодирования, вы можете использовать тег <c:url>.

Во-первых, зарегистрировать тег LIB в верхней части JSP:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 

Затем вы можете использовать его, чтобы получить URL, что это относительно пути контекста, например:

<script src="<c:url value="/libs/flexslider/jquery.flexslider.js"/>"></script> 
+0

Я добавил выше, и теперь я могу загрузить скрипты. Однако я получаю ошибку 404 для ' ">' и еще два. – Drew1208

+0

См. Обновление 2 – Drew1208

+0

Получил это сейчас, спасибо! – Drew1208

Смежные вопросы