- ベストアンサー
J2EEとJ2SEについて
いつもお世話になっています。 現在、windows2000 + J2SE1.4.1 + TOMCAT4.06 + Apacheで JAVAを学習しています。 現在作成している画面で、 ページに遷移してきた時刻が午前9時半以降だと エラーページに遷移する仕組みをつくろうと考え、 エラーページに飛ばす処理として、 response.sendRedirectを使おうと思ったのですが、 sendRedirectを使うためには、J2EEに含まれる パッケージjavax.servlet.httpをimportしておく 必要があることがわかりました。 現在J2SEをつかっているため、 J2EEの最新バージョンの1.3.1をインストールして TOMCATの再起動、APACHEの再起動の順に行ったのですが やはりjavax.servlet.httpを認識せず、 エラーになってしまいます。 J2SE1.4.1のうえから、J2EE1.3.1をインストールすると 認識されないのでしょうか(バージョンがJ2EEの方が古いため?) それともJ2EEを追加したら TOMCATやAPACHEを再インストールしなければいけないのでしょうか? なにかお気づきの方が居られましたら ご教授ください。 宜しくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
sendRedirect使うには、javax.servlet.httpが必要ですが、 それはtomcatにすでに入っています。 JSPから使うのであればすでに使用可能です。 <% response.sendRedirect("/~~"); %> と書いてもらえれば使えるはずです。 responseはJSPの中では暗黙のオブジェクトとして、宣言しなくても 使えます。 余談ですが、J2EEではサーブレット技術が含まれていますが、 sendRedirectを使用したいがために、J2EEを入れるのは大げさです。 たとえて言うならば、ラジオ放送を聞きたいがために車を購入するみたいな。
その他の回答 (2)
- kamkamkam3
- ベストアンサー率42% (216/514)
クラスパスの設定方法は以下のURLに載っています。 サーブレットのコンパイルというのは、普通のjavaファイルをコマンドプロンプトでコンパイルするのと同じです。普通のJavaのコンパイルの仕方が分からないのであれば、http://www.yk.rim.or.jp/~kosu/kouza/kouza.html を参考にして下さい。サーブレットだけでなく、Beanも全く同じです。 なお、サーブレットをコンパイルした後、Tomcatのディレクトリ\アプリケーションディレクトリ\WEB-INF\classesにサーブレットのクラスファイルを置くのですが、そこにも前述したクラスパスの設定が必要になります。 以下のサイトにJavaのfaqが載っているので、参考にして下さい。 http://www.gimlay.org/~javafaq/javafaq.html http://java-house.jp/ml/
お礼
返信が送れて申し訳ございません。 大変詳しい説明ありがとうございます。 紹介していただいたサイトも大変参考になります。 本当にありがとうございます。
- a-kuma
- ベストアンサー率50% (1122/2211)
> response.sendRedirectを使おうと思ったのですが、 > sendRedirectを使うためには、J2EEに含まれる > パッケージjavax.servlet.httpをimportしておく > 必要があることがわかりました。 Tomcat を入れてあるのでしたら、J2EE なんて入れる必要はありませんよ。 servlet をコンパイルする際に、CLASSPATH に [Tomcat のインストールディレクトリ]\common\lib\servlet.jar を追加してください。
補足
早速のご回答ありがとうございます。 a-kumaさんの回答で分からない点がありますので 補足とさらなる質問をさせてください。(初心者ですいません) 現在JSPをつかって(これしかつかったことがない)JAVAを 学習しています。 そのため 「パッケージjavax.servlet.httpをimportしておく 必要があることがわかりました。 」とかいたのは JSPファイルのはじめにかく、 <%@ page contentType="text/html;charset=Shift_JIS" import="●●"%> の部分で●●のところに パッケージを指定しなければならないと思ってました(ここまではあってますよね?)からです。 >servlet をコンパイルする際に、CLASSPATH に >[Tomcat のインストールディレクトリ]\common\lib\servlet.jar >を追加してください。 classpathというのはどの部分のことなのでしょうか? servlet をコンパイルする際というのはいつのタイミングなのですか? 大変申し訳ございませんが、 ご教授いただけたらうれしいです。
お礼
返信が遅くなり申し訳ございません。 いろいろと参考になる情報ありがとうございます。 結局J2EEもインストールしてみたのですが、 下のようなエラーが出てしまいます。 ==================================== org.apache.jasper.JasperException: JSPのクラスをコンパイルできません注: sun.tools.javac.Main は推奨されません。 C:\Program Files\Apache Tomcat 4.0\work\Apache\localhost\bento\login$jsp.java:7: クラス javax.servlet.http が import に見つかりません。 import javax.servlet.http; ^ エラー 1 個, 警告 1 個 ==================================== import部分のjavax.servlet.httpを記述するのをやめて もう一度実行すると今度はうまくいきました。 なぜエラーが出たのかは分かりませんが、うまくいきました。 本当にありがとうございます。