2016-06-14 3 views
0

私はhtml、javascript、javaを使用して簡単なWebアプリケーションを試しています。 HTMLとjavascriptはフロントエンドの一部であり、javaはバックエンドを形成します。私はアプレットを使用しています。現在の要件では、HTMLとJavaScriptのみを使用する必要があるため、JSPまたはJSFを使用したくありません。次のエラーが表示されます。バックエンドとしてJavaを使用してJavaにJavaを接続する

enter image description here

私はオンラインソースから、このコードを得ました。私のコードは以下の通りです:

HTML:

<script type="text/javascript" src="liveconnect.js"> </script> 
</head> 
<body onload="showProgrammer()"> 
    <applet id="app" code="LauncherApplet" height="1" width="1" MAYSCRIPT></applet> 
    <table> 
    <tr> 
    <td>Name</td> 
    <td>:</td> 
    <td><input type="text" id="name"/></td> 
    </tr> 
    <td>Age</td> 
    <td>:</td> 
    <td><input type="text" id="age"/></td> 
    </tr> 
    <td>Programming Language(PHP,Java or Python)</td> 
    <td>:</td> 
    <td><input type="text" id="language"/></td> 
    </tr> 
</table> 
<input type="button" onclick="processProgrammer()" value="click"/> 
</body> 

JS:

function Programmer(name,age,language){ 
    this.name=name; 
    this.age=age; 
    this.language=language; 
} 
function showProgrammer(){ 
try{ 
    var programmer=app.getProgrammer(); //app is the id of applet tag which refers to the applet instance. 
    var data="Name= "+programmer.name+",Age= "+programmer.age+",Language= "+programmer.language; 
    alert(data); 
} 
catch(e){ 
    alert(e); 
    } 
} 
function processProgrammer(){ 
try{ 
    var name=document.getElementById("name").value; 
    var age=document.getElementById("age").value; 
    var language=document.getElementById("language").value; 
    var programmer=app.getProgrammer(); 
    var myprog=new Programmer(name,age,language); 
    programmer.setData(myprog); 
    var advice=programmer.getAdvice(); 
    alert(advice); 
    } 
    catch(e){ 
    alert(e); 
    } 
} 

アプレット:

import java.applet.*; 
import java.awt.*; 
public class LauncherApplet extends Applet{ 
    public Programmer getProgrammer(){ 
    return new Programmer(); 
} 

}

メインjavaファイル:

import netscape.javascript.*; 
public class Programmer { 
    public String name="Programmer1"; 
    public String age="20"; 
    public String language="Java"; 
    public void setData(JSObject js){ 
    try{ 
    this.name=((String)js.getMember("name")).toLowerCase(); 
    this.age=((String)js.getMember("age")).toLowerCase(); 
    this.language=((String)js.getMember("language")).toLowerCase(); 
    System.out.println("Name= "+name+",Age= "+age+",language= "+language); 
} 
catch(JSException e){System.out.println(e);} 
} 
public String getAdvice(){ 
    String advice=""; 
    switch(language){ 
    case "php": 
    advice=name+", you should definitely try out CodeIgniter."; 
    break; 
    case "java": 
    advice=name+", you should definitely try out JavaServer Faces."; 
    break; 
    case "python": 
    advice=name+", you should definitely try out Django."; 
    break; 
    default: 
    advice="You language of choice is not any one of PHP, Java or Python"; 
    } 
    return advice; 
} 
} 

Javaファイルが正常にコンパイルされました。エラーはありません。私が間違っていることを教えてください。

ありがとうございます。

+1

*「HTMLとJavaScriptはフロントエンドの一部であり、Javaはバックエンドを形成します。私はアプレットを使用しています。」*これは意味をなさない。アプレットはUIです。バックエンドでのみJavaを使用している場合は、アプレットを使用したくありません。 –

+0

HTML、Javascript(またはjquery)を使用して、ajaxコマンドをサーブレットまたはWebサービスに送信します。 –

+1

さらに、アプレットは死んでいます。 Chromeは、Javaプラグインがブラウザで動作する必要があるNPAPIをサポートしなくなりました.Firefoxもサポートを中止しています。また、Edgeもアプレットをサポートしていません。 –

答えて

-1

DWR(Direct Web Routing)テクノロジを使用できます。これは、単純にAjaxの機能..です

http://directwebremoting.org/dwr/introduction/getting-started.html

これはおそらくあなたを助けるでしょう。

+0

私の良さDWRはまだ存在しています - 私はそれを使用してから10年でなければなりません。 –

+0

DWRはまだ存在していますが、それでもうまくいきます。 –

+0

うーん、Ajaxの前の世界に属しているようだ –

関連する問題