

環境は  
java8  
Tomcat8  
SpringMVC  
です。

WEBアプリケーションを作成したさい、VIEWのスタイルシート、JavaScriptの相対パスがずれる対策についてです。

コンテキストパスを、"/"にし、  
[http://ドメイン/](http://%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3/)  
でTOPページにアクセスするようにしたいのですが、  
server.xmlにDocBaseを書かないと、

[code]

    http://ドメイン/コンテキストパス/
    
[/code]

にしないとつながらないと思います。  
そのため、apacheのAJPプロキシをつかって、

[code]

    http://ドメイン/
    
[/code]

を

[code]

    http://ドメイン:8080/コンテキストパス
    
[/code]

に転送するようにしましたが、  
取り込むjs, cssのパスが

[code]

    http://ドメイン/js/~~~.js
    
[/code]

とか、

[code]

    http://ドメイン/css/~~~.css
    
[/code]

になってしまい、うまく取り込めません。

しぶしぶserver.xmlにDocBaseを追記し、  
コンテキストパスを/にしました。  
ほかに稼働サーバーに依存しないいい設定方法はないのでしょうか？


CC BY-SA 3.0
2015-09-12T22:42:31.467
16554
2015-12-13T16:35:08.957
8396
question
java apache spring tomcat
AJPProxyを使用しコンテキストパスを/にすると、css/js等の相対パスがうまく読み込めない


Apacheのhttpd.confないしはproxy_ajpの設定にて

[code]

    <IfModule proxy_ajp_module>
      <Location / >
        ProxyPass ajp://localhost:8009/warのコンテキストパス/
      </Location>
    </IfModule>
    
[/code]

を記載すれば大丈夫かと存じます。  
ポイントはLocationがルートパス(/)→Tomcatのwarのコンテキストパスを指定しているところです。

もちろん、Webアプリケーション側のcss/jsのパスの記述にコンテキストパスなど記載しているとマズいですが。

参考になれば幸いです


CC BY-SA 3.0
2015-09-14T13:50:47.570
16602
2015-09-14T13:50:47.570
5778
16554
answer