2016-02-11 19 views
2

這是我的第一個問題,因此,任何幫助將不勝感激。 我正在嘗試角色教程,並且當我部署來測試它不能找到的腳本(HTTP 404)時。 我一直在尋找類似的問題,並嘗試像以下解決方案:this 然而,沒有似乎工作。 對我來說是一個路徑問題,因爲它的角源指向一個外部源(https),它的工作正常,但本地源,而不是。 我正在使用eclipse,tomcat 8和默認的servlet,只有這一點。 我真的很想理解爲什麼會發生這種情況,並感謝您的幫助。 這是我的網絡結構。tomcat的斜面訪問的JavaScript文件夾

web structure

的web.xml

<servlet> 
<servlet-name>default</servlet-name> 
    <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class> 
     <init-param> 
      <param-name>debug</param-name> 
      <param-value>0</param-value> 
     </init-param> 
     <init-param> 
      <param-name>listings</param-name> 
      <param-value>false</param-value> 
     </init-param> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 

    <servlet> 
     <servlet-name>jsp</servlet-name> 
     <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class> 
     <init-param> 
      <param-name>fork</param-name> 
      <param-value>false</param-value> 
     </init-param> 
     <load-on-startup>3</load-on-startup> 
    </servlet> 

<servlet-mapping> 
    <servlet-name>default</servlet-name> 
    <url-pattern>/js/*</url-pattern> 
</servlet-mapping> 

<welcome-file-list> 
<welcome-file>index.html</welcome-file> 
</welcome-file-list> 

我的HTML:

<!DOCTYPE html> 
<html> 
    <head> 
    <title>AngularJS Controllers</title> 
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.0-beta.5/angular.min.js"></script> 
    <script type="text/javascript" src="/js/app.js"></script> 
    </head> 
    <body> 
    <div ng-app="app"> 
     <h1>Controllers</h1> 
     <div ng-controller="MainCtrl"> 
     <p> {{ message }} </p> 
     </div> 
    </div> 
    </body> 
</html> 

而且我的.js

angular.module('app', []); 

angular.module('app').controller('MainCtrl', function ($scope){ 
     $scope.message = 'hello'; 
}); 

回答

2

根據您的意見,最有可能發生的事這裏是您的web應用程序在非ROOT上下文路徑中運行。例如。 http://localhost:8080/myapp/。如果是這樣,則上下文路徑應該被預置爲/js/app.js,例如, /myapp/js/app.js。或者,您可以使用相對網址從索引頁面引用它。即。 js/app.js(刪除前導斜槓)。

此外,我建議從web.xml刪除問題中顯示的所有<servlet><servlet-mapping>元素。 Tomcat已經爲您提供了所有您需要的默認servlet配置,而無需您付出額外的努力。

+0

你好,謝謝你的時間。 我這樣做,所以我的web.xml它只是歡迎文件,並且我得到這個 「無法加載資源:服務器的狀態爲迴應404(未找到)」,當它看起來app.js – DiegoC

+0

是否使用相對路徑的幫助?即......'src =「js/app.js」'。 – Asaph

+0

thx!那一個工作。 唯一我不能得到工作告訴tomcat哪裏尋找靜態資源。但有了這個我想我可以完成教程,謝謝! – DiegoC