• ベストアンサー

ASP.NETから Java classファイル

ASP.NETから、Java CLASSファイルを実行するやり方が わかりません。 このクラスファイルを使用し、引数として文字列を渡し、戻値を受け取って ページに結果を表示させることを考えています。 ご存じの方が居ればご教授いただきたく。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • shockatz
  • ベストアンサー率80% (153/191)
回答No.3

んー。両システムの間がどうなっているかによって選択肢が変わるかと。 インターネット越しならSOAP。jvm側をWebホストから動かせるのであれば、今どきならRESTfulが主流かな。 LAN内接続、あるいは仮想マシンで分散オブジェクト通信をしたいのであれば、.NETの立場でいえば、JNI(Java Native Interface)対応の実装であるjni4net使うのが理想かと思います。 jni4netは開発されたばかりでバージョンが浅いため、オブジェクトのシリアライズに問題があったり、Java側のの実装が面倒(インターフェースの仕様次第では)だと聞きますので、簡単な呼び出しからテストすべきかと思います。 jni4net http://jni4net.sourceforge.net/

TerzoBurton
質問者

お礼

ありがとうございます。 聞きなれない言葉がありますが参考にさせていただきます。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • hitomura
  • ベストアンサー率48% (325/664)
回答No.2

ASP.NETは.NET Framework, JavaはJava VMで動作するものです。この二つは全く別物で、そのままでは.NETからJava classファイルを使用する方法がありません。 結構大がかりなことをすれば可能ですが、はっきり言ってどちらかの環境に一本化したほうがいいと思います。 とりあえずどのような理由で何をしたいのかを具体的に補足いただければ対案が出せるかもしれませんのでよろしくお願いいたします。

TerzoBurton
質問者

お礼

平行して色々調べているうちに、ご説明の様な内容にたどり着きました。 一本化も含めて考えてみます。

全文を見る
すると、全ての回答が全文表示されます。
  • Picosoft
  • ベストアンサー率70% (274/391)
回答No.1

.NET FrameworkとJavaは仕組みが別物ですので、直接呼び出すことはできません。 ローカルループバックでSOAPのやりとりをする、jni4netを使う、 などなど、間にワンクッション置く形になります。 (考えただけで面倒そうですが……) http://ap.atmarkit.co.jp/bbs/core/fdotnet/28983 http://bbs.wankuma.com/index.cgi?mode=al2&namber=10033&KLOG=23

TerzoBurton
質問者

お礼

参考URLありがとうございます。 確かに面倒そうです。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ASPからexeプログラムへ引数

    ASPの超初心者です。 IIS上のASPから WWWから変数での文字列を test.exeに、引数を与えて実行することは可能ですか? また、それを実行した結果をASPでWWWに表示させたいの ですが、可能ですか? よろしければ、簡単な方法や関数等を教えてくだされば 幸いです。 よろしくお願いします。

  • java:サブクラスメソッドを呼び出したいです。

    java のプログラムで抽象クラスをオーバーライドしたサブクラスのメソッドをスーパークラスで呼び出したいのですが、どうしてもコンパイルが通りません。また通ったとしてもコマンドプロンプト画面で、 c:\File>javac UseSam.java c:\File>java UseSam 5 6 c:\File> となってしまい(この問題で求められている回答)5+6の結果 11 が返ってきません。 c:\File>java UseSam a a c:\File>型が違います c:\File>java UseSam 3 4 5 c:\File>引数の個数が不正です 上記のように打つとエラーメッセージだけは返ってきます。 つたない文章とはなってしまいましたが、ご教授のほどよろしくお願いいたします。 プログラムは下記のとおりとなります。(問題点などの指摘などしていただけたらありがたいです) 抽象クラスAbsSamは抽象メソッドadd含んでいる。 抽象メソッドaddは整数を返すメソッドで、整数型の引数aとbをとる。 abstract class AbsSam {     public abstract int add(int a, int b); } Samでは、抽象メソッドaddを実装し、addは引数a,bの和を返す。 public class Sam extends AbsSam {     public int add(int a,int b) {     return a + b ;     } } mainメソッドを含むUseSam。 プログラム実行時、引数として2つの整数を渡します。 c:\File>java UseSam 5 6 c:\File>11 と計算結果が返ってくる。 (条件) ・引数が2個でない場合、エラーメッセージを返す。 ・引数が数値でない場合、エラーメッセージを返す。 ・正しい引数が与えられた場合、addメソッドを実行し、addメソッドの続行結果を表示して終了とする。 public class UseSample { public static void main( String[] args ) { try { //引数が2個でない場合 if(args.length != 2){ System.out.println("エラーメッセージ:引数の個数が不正です"); //引数が2個の場合 } else if (args.length == 2) { int a = Integer.parseInt( args[0] ); int b = Integer.parseInt( args[1] ); AbsSam sum = new Sam(); sum.a = a; sum.b = b; System.out.println ("計算結果" + sum.add()); } else { System.out.println("エラー"); } //例外処理 } catch(NumberFormatException e) { System.out.println("エラーメッセージ:引数の型が不正です" ); } catch(Exception e) { System.out.println("エラー"); } } } 抽象クラスとサブクラスは問題ないのですが、UseSamがうまく動作しません。 ご教授のほどよろしく願いいたします。

    • ベストアンサー
    • Java
  • .aspファイルを見るには?

    はじめまして、どうかご教授願います。 先日知り合いからページを少し修正してほしいとのことで、拡張子.aspファイルのWEB情報の入ったCDを頂きました。 今までWEBつくるのに.htmlしか知らなかったのですが(苦笑)、そのファイルがなく、aspファイルと画像ファイル等しか入っておりませんでした。 .aspをブラウザで開いてみたところ画像が表示されないし、ページも上手く見れません。 インターネット上で公開しているWEBサイトは正常にみれるのに、自分のPCから(CDでもらった情報:ローカル)だと見れません。 ページを見るにはどうしたら言いのでしょうか? 以下ご教授願います。 初心者にもわかりやすいように説明していただければ大変助かります。 ・aspとはどんなファイル? ・何故見れないのか? ・どうすれば表示されるのか? ・正常に表示されるには何が必要か? 環境 ・Win2000 ・CD閲覧:ローカル ・ブラウザ:IE6 その他 ・ネット接続環境:光

  • コンパイルした後 java (classファイルの名前) が実行できない

    すみません。本当につまらない質問かもしれませんが コンパイルまではDOS窓でできるんですが。できたCLASS ファイルを java (できたclassファイル名) を実行しよう としても、 Exception in thread "main" java.lang.NoClassDefFoundError: (できたファイルの名前) と表示されてしまい、まったく実行できません。 これはどうしたら実行できるのでしょうか? なお、最新版のSDKとJava 2 Runtime Environmentはインストールしています。 どうかお願いします。

    • ベストアンサー
    • Java
  • java .classのファイル形式

    javaのファイルに.java .classがありますが .javaのファイル形式はテキストファイルだと思いますが .classのファイル形式は バイナリファイルでしょうか? または実行ファイルでしょうか? または別のファイル形式でしょうか?

    • ベストアンサー
    • Java
  • classファイルについて

    JAVAのクラスファイルを開いてみようと思ったのですが、 中身が文字化け?のようになり文字が読めません。 詳しい方ぜひ教えて下さい。

  • asp.netのクラスについて

    いつもお世話になっております。 asp.netの動作環境検証テストをしているのですが、クラスの動作で躓いております。 -------------------------------------------------- ≪テスト内容≫ visual web developer 2008にて作成したサイトのファイルをサーバ上へコピーしてテストしています。 App_Codeフォルダ内へclass1.vbファイル作成 フォームの'Dim test As New Class1'を記述 IISの仮想ディレクトリへサイトファイルを丸ごとコピー ブラウザで実行 -------------------------------------------------- ≪サーバ環境:≫ OS:windows server 2008 1. 以下をインストール asp.net .NET framework 2.0 2. IISマネージャのwebサービス拡張の画面で Active server pages ASP.NET 1.14… ASP.NET 2.0… を許可する 3. サイトのプロパティにてバージョンをASP.net2.0へ変更 -------------------------------------------------- ≪詳細≫ ローカル(開発環境)環境ではvisual web developerでのデバッグはエラーが出ないのですが、サーバへコピーすると以下のエラーが出てしまいます。 また、開発環境側では、他の開発環境(vb6等)が入っているため、'msgbox'が動作するなどサーバ環境へファイル移行した時と動作が違っている部分はあります。 ●ブラウザに表示されるエラー内容 説明: この要求を送信するために必要なリソースをコンパイル中に、エラーが発生しました。以下のエラーの詳細を確認して、ソース コードを修正してください。 コンパイル エラー メッセージ: BC30002: 型 'Class1' が定義されていません。 ソース エラー: 行 22: Dim test As New Class1 -------------------------------------------------- 今いち基本的なことを理解していないため、サイトの側の記述に問題があるのか、サーバ環境に問題があるのかの判断もつかない状況です。 見当違いな質問をしている可能性があるのですが、ご存知の方いらっしゃいましたらご教授頂けますようよろしくお願いいたします。

  • カスタムタグでclassという引数名を使用しちゃダメ?

    java開発で非常に困っております。 開発環境:Eclipse3.1、Tomcat 4.1、j2sdk1.4.0_01 訳あってjspのコンパイルはbuild.jspc.xmlなるものを用意して 自分でコンパイル実行などを行っております。(保存⇒コンパイルみたいな自動じゃないって事です。) ただ、その際にjava形式へコンパイル出来るものと、出来ないjspファイルが存在しました。 その違いを突き詰めていくとあるカスタムタグで異変が起きているようです。 以下のカスタムタグを書いたjspファイルがコンパイルできないようです。 カスタムタグ:<customTag:caption class="default"> 理由としては引数名に"class"という名称を使っているからだと思われるのです。 (ネット上で調査した結果を自分で思い込んで判断しているだけですが。。) コンパイル出来ないのは、「classという名称が悪い」というのは何パーセント程あるのでしょうか? また、引数名classをどうにかしてコンパイルできる方法などはあるのでしょうか? どうかご教授ください。 よろしくお願いいたします。

    • ベストアンサー
    • Java
  • ASP.NETで共通ファイルにまずアクセス?

    IISのASP.NETで複数のページがあり、 共通のメソッドを実行したい場合、 各ページにメソッドを記述しないといけません。 これをある特定のファイルに記述しておけば、 全部のアクセスは最初にそこを通るようにするような ことは可能でしょうか?

  • java の *$1.class ファイルについて

    最近、JDK を使っていて思ったのですが、javac でコンパイルしたときに 変わったクラスファイルがでてくるのですが・・・ たとえば、 MainFrame.class の他にMainFrame$1.class があったりします。 これがないと実行できません。 これはいったいなんなんでしょうか? どうか、教えてください。 お願いします。

    • ベストアンサー
    • Java