나는 HTML, 자바 스크립트 및 자바를 사용하여 간단한 웹 응용 프로그램을 테스트하고있다. HTML과 자바 스크립트는 프론트 엔드의 일부이고 자바는 백엔드를 형성합니다. 애플릿을 사용하고 있습니다. 현재 요구 사항이 HTML과 자바 스크립트 만 사용해야한다고 JSP 또는 JSF를 사용하고 싶지 않습니다. 다음과 같은 오류가 발생합니다. 백엔드로 자바와 자바에 자바 스크립트 연결
나는 온라인 소스에서이 코드를 얻었다. 내 코드는 다음과 같습니다 :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();
}
}
주요 자바 파일 :
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 파일이 성공적으로 컴파일되었습니다. 오류 없음. 내가 어떤 실수를하고 있는지 말해줘.
미리 감사드립니다.
* "HTML과 javascript는 프론트 엔드의 일부이며 자바는 백엔드를 형성합니다. 애플릿을 사용하고 있습니다."* 의미가 없습니다. 애플릿은 UI입니다. 백엔드에서만 Java를 사용한다면 애플릿을 사용하고 싶지 않을 것입니다. –
HTML, Javascript (또는 jquery)를 사용하여 ajax 명령을 서블릿 또는 webservice에 보냅니다. –
또한 애플릿이 종료되었습니다. Chrome은 더 이상 Java 플러그인이 브라우저에서 작동해야하는 NPAPI를 지원하지 않으며 Firefox는 지원을 중단하고 Edge는 애플릿을 지원하지 않습니다. –