- PR -

インターフェースについて

1
投稿者投稿内容
soccer
ベテラン
会議室デビュー日: 2003/09/17
投稿数: 99
投稿日時: 2003-09-17 17:31
Javaの初心者です。
インターフェース(interface)は、メソッドを定義するテンプレートみたいなものですが、そのメソッドの実装内容をみたい時には、
何をキーワードにして見たら良いのでしょうか?
例えば、HttpServletRequest.javaのgetSessionの実装内容を見るには、どのクラスを見たら良いのでしょうか?
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2003-09-17 17:43
J2EE関連のインターフェースの実装はコンテナのベンダに任されています。
一般の開発者はその実装内容を気にすることなく、APIの仕様のみを見て自分のアプリケーションを開発すればよいことになります。
で、それでも実装内容が気になるようでしたら、オープンソースの製品をみることになるでしょうか。WebLogicや iPlanetは商用の製品ですので恐らくソースは公開されていません。
たとえば Tomcat4.0 であればここですね。
http://cvs.apache.org/viewcvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/connector/HttpRequestBase.java?rev=1.39&content-type=text/vnd.viewcvs-markup

でも、実際にこれを見る必要はないかもしれません。インターフェースをみてサーブレットを実装して、期待する挙動にならなければサポートに問い合わせればOKです。
もちろん Tomcat や Jetty などを使っているのであれば自分で確かめる必要がありますが。
soccer
ベテラン
会議室デビュー日: 2003/09/17
投稿数: 99
投稿日時: 2003-09-18 10:10
インギさん変な質問をして申し訳ありません。
HttpServletRequest.javaは、インターフェースなのでHTTP関係のクラスの中で、多重継承していると考えてよいのでしょうか?
私自身がその中で最も知りたかったのは、The Ja-Jakarta Site - 日本語訳のダウンロード(http://www.jajakarta.org/site/translation.html)からHTTP関係ソースをダウンロードしたのですが、HttpServletRequest.javaの
getSessionメソッドの中が実装されてなかったので、それを何処で実装しているのかを教えてほしかったのです。
米山@クロノス
大ベテラン
会議室デビュー日: 2003/06/10
投稿数: 103
お住まい・勤務地: 大阪市淀川区西中島4-13-22 新大阪淀川ビル5F
投稿日時: 2003-09-18 10:41
こんにちは。米山@クロノスです。

引用:

HttpServletRequest.javaは、インターフェースなのでHTTP関係のクラスの中で、多重継承していると考えてよいのでしょうか?



Javaでは多重継承はできません。また、インターフェイスはサブ・インターフェイスに対して継承することはできますが、クラスに対して継承することはできません。(implementsは「継承」ではなく「実装」になります)

引用:

The Ja-Jakarta Site - 日本語訳のダウンロード(http://www.jajakarta.org/site/translation.html)からHTTP関係ソースをダウンロードしたのですが、HttpServletRequest.javaの
getSessionメソッドの中が実装されてなかったので、それを何処で実装しているのかを教えてほしかったのです。



Ja-JakartaでダウンロードされたのはServlet APIのソースコードでしょうか?
Servlet APIのHttpServletRequest.java はあくまでもインターフェイスのコードなので、実装は一切されていません。実装はインギさんがおっしゃるように各ベンダーのコンテナに任されます。


1

スキルアップ/キャリアアップ(JOB@IT)