30898


### 前提・実現したいこと

cloud9でコンテキストファイルを設定したいです。

【表示したいファイル】  
**learning_groovegear/Java/programing_base1/programing_base1_1.jsp**

### 発生している問題・エラーメッセージ

【ブラウザで表示されています】

[code]

    HTTPステータス 404 - /hellojsp/programing_base1_1.jsp
    
[/code]

### 該当のソースコード

【ディレクトリ】  
[![画像の説明をここに入力](https://i.stack.imgur.com/igaqO.png)](https://i.stack.imgur.com/igaqO.png)

【コンテキストファイル( **learning_groovegear/Java/apache-
tomcat-9.0.0.M13/conf/Catalina/programing_base1.xml** )】

[code]

    <Context path="/hellojsp" docBase="~/workspace/Java/programing_base1"/>
    <script/>
    </Context>
    
[/code]

### 補足情報(言語/FW/ツール等のバージョンなど)

ローカルホストは起動しています。  
あらゆるURLを試したので、ファイルが表示されないのは、  
コンテキストファイルのdocBaseが正しく設定されていないためだと思われます。

cloud9のディレクトリ構造がよくわからず躓いてしまいました。  
ネットに情報も落ちていなく困っています。

もし、わかる方がいらっしゃれば、どうぞよろしくお願いします。

マルチポスト  
<https://teratail.com/questions/55650?modal=q-comp>


CC BY-SA 3.0
2016-11-18T05:25:27.750
30497
2016-12-04T17:52:49.793
2016-12-04T17:52:49.793
3974
19459
question
java tomcat jsp
cloud9でのコンテキストファイルにおけるディレクトリがわかりません。


自分がやった手順を書いたほうが早いと思うので、そうします。

フォルダ構造:

[code]

    ~/workspace (左UIではワークスペースの名前になる)
    |-apache-tomcat-8.5.8
    | |-bin
    | |-config
    | | |-Catalina
    | | | |-localhost
    | | |   |-helloZZZ.xml <- コンテキストファイル
    | | |-localhostフォルダ以外いろいろ
    | |-lib,logsなど動かすだけには関係無いもの
    |
    |-helloAAA <- コンテキストで指定したフォルダ
      |-index.html
      |-index.jsp
    
[/code]

  1. まずCloud9のJavaはJava7なのでTomcat9のサポート対象ではありません。Tomcat8を落として、解凍。
  2. `$JAVA_HOME`ならびに`$CATALINA_HOME`環境変数を指定（`$JAVA_HOME`のフォルダは今後変わるかもしれないです。その際は`/bin/java`からリンクを辿って見つけてください。`$CATALINA_HOME`は解凍したTomcatフォルダ。）
[code]     $ export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64

    $ export CATALINA_HOME=~/workspace/apache-tomcat-8.5.8
    
[/code]

  3. この段階でTomcatは動くはずなので、起動させる。
[code]     $ $CATALINA_HOME/bin/catalina.sh start

    
[/code]

  4. 上の「Preview」を押すか、タブで`https://<ワークスペース名>-<ユーザー名>.c9users.io/`にアクセスでTomcatのそれっぽいページが表示されるはず。  
[![Tomcat
test](https://i.stack.imgur.com/OevmA.png)](https://i.stack.imgur.com/OevmA.png)

  5. コンテキストを書き、`~/workspace/tomcat/config/Catalina/localhost/`内に置く。`docBase=`はなぜか`~/workspace`ではダメなので絶対パスを。  
`helloZZZ.xml`の中身(ファイル名と`path=`は同じに。):

[code]     <Context path="/helloZZZ"
docBase="/home/ubuntu/workspace/helloAAA"/>

    
[/code]

  6. 適当にhtmlやjspファイルを作って`docBase=`で指定したフォルダに入れる。`https://<ワークスペース名>-<ユーザー名>.c9users.io/helloZZZ`のような感じでアクセスできるはずです。  
jspの例:

[code]     <html>

    <head>
    <title>Hello World!</title>
    </head>
    <body>
    <h1>Hello World!</h1>
    
    <%
    out.println(new java.util.Date());
    %>
    
    </body>
    </html>
    
[/code]

[![hello.jsp](https://i.stack.imgur.com/ofB7p.png)](https://i.stack.imgur.com/ofB7p.png)

  7. Tomcatを止める(放置でも多分2時間くらいでCloud9が強制的に止めたと思います)。
[code]     $ $CATALINA_HOME/bin/catalina.sh stop

    
[/code]


CC BY-SA 3.0
2016-12-04T17:52:20.973
30898
2016-12-04T17:52:20.973
3974
30497
answer