

[Create a Java Web Application using Embedded
Tomcat](https://github.com/heroku/devcenter-embedded-tomcat)
を利用してJavaによるWebアプリ開発をしたいと思っております。

まず、自分で作ったクラスをindex.jspにインポートして使う、ということをしたいのですが、  
例えばTestというクラスをつくり、Test.javaというファイルをindex.jspと同じディレクトリにおいたのですが、index.jspを開くと、

「Test cannot be resolved to a type」と出てきます。`<%@page
import="Test"%>`と一応宣言もしています。

[code]

    An error occurred at line: 7 in the jsp file: /index.jsp
    Tes cannot be resolved to a type
    4: 
    5: <%
    6: 
    7: Test t = new Test();
    
[/code]

mvn --versionを叩いたところ、

[code]

    mvn --version
    Apache Maven 3.0.5 (XXXX; 2013-02-19 22:51:28+0900)
    Maven home: /usr/local/apache-maven-3.0.5
    Java version: 1.6.0_65, vendor: Apple Inc.
    Java home: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
    Default locale: ja_JP, platform encoding: SJIS
    OS name: "mac os x", version: "10.9.5", arch: "x86_64", family: "mac"
    
[/code]

大まかな質問として、

  1. classのファイルはどこにおけばよいか
  2. servletのように.javaファイルをコンパイルしなければならないか
  3. classの側ではやはりpackageなどの宣言をしなければならないか

その他、上記に対するご指摘など、みなさまのご教授、よろしくお願いします。


CC BY-SA 3.0
2015-11-03T15:09:25.707
18375
2016-10-19T18:33:51.300
2015-11-03T16:06:15.697
7290
13095
question
java heroku tomcat
HerokuにおけるJavaサーバ（Tomcat）上のクラスファイルについて


ビルド環境などを含めて開発環境に何をお使いなのかが不明瞭なので、明確な答えにならないかもしれません。

使おうとされているembeddedTomcatSampleは、mavenプロジェクトになっておりましたので、私の場合は開発環境としてEclipse4.5.1を選び、Eclipseにてmavenプロジェクトとしてインポートしました。

Eclipseではmavenの自動ビルドを行いますので、アプリケーションのビルドや開発中のコンパイルなどは自動的に行われ、特に意識することもなく、またclassファイルの配置先なども気にする必要はありませんでした。

手順としては、以下のとおりです。

  * embededdedTomcatSampleをmavenプロジェクトとしてインポートする
  * src/main/java を開き、Main.javaを実行する
  * embeddedTomcatがポート8080で実行されるので、<http://localhost:8080/> でアクセスする

また、JSPからクラス参照できないとのことでしたが、おそらくJavaクラスがコンパイルされていないか、正しく配置されていないかでしょうか。

私の方で検証用に別パッケージのクラスを作り、Servlet→JSPへのフォワードから読み込むこともできました。

参考になれば幸いです。


CC BY-SA 3.0
2015-11-03T16:00:06.660
18377
2015-11-03T16:00:06.660
5778
18375
answer