JSP и апплет связи - PullRequest
       5

JSP и апплет связи

0 голосов
/ 31 января 2011

Я хочу получить доступ к выходному потоку апплета со страницы JSP, где встроен апплет. Но это дает NullPointerException. Я дал код ниже.

public class CheckJavaVersion extends Applet 
{
   private static final long serialVersionUID = 1L;
 private static Label versionCheck;
    public static String javaVersion;
    public static URLConnection connection;

    public void init() 
    {
        try
        {
            Color colFrameBackground = new Color(198, 0, 0);
            this.setBackground(colFrameBackground);
            versionCheck = new Label("Java Version:"+System.getProperty("java.version"));
            this.add(versionCheck);
            javaVersion = versionCheck.getText();
            javaVersion="testversion";

            String javaVersion1= URLEncoder.encode(javaVersion);
            URL currentPage=getDocumentBase();
            String protocol=currentPage.getProtocol();
            String host=currentPage.getHost();
            int port=currentPage.getPort();
            String urlSuffix=currentPage.toString();
            URL dataurl=new URL(protocol,host,port,urlSuffix);
            connection=dataurl.openConnection();
            connection.setUseCaches(false);
            connection.setDoOutput(true);
            connection.setDoInput(true);
            ByteArrayOutputStream byteStream=new ByteArrayOutputStream(512);
            PrintWriter out=new PrintWriter(byteStream,true);
            out.print(javaVersion1);
            out.flush();
            System.out.println(byteStream.toString());
            connection.setRequestProperty("Content-Length",String.valueOf(byteStream.size()));
            connection.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
            byteStream.writeTo(connection.getOutputStream());
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
     }
 }

JSP Page

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Communication</title>
</head>
<body>
<jsp:plugin code="com.applets.CheckJavaVersion" codebase="/AppletURLComm" type="applet">
</jsp:plugin>

<%
try
{
    BufferedReader bufferedReader= new BufferedReader(new InputStreamReader(CheckJavaVersion.connection.getInputStream()));
    String data;
    while((data=bufferedReader.readLine())!=null)
    {
        out.print(data);
    }
}
catch (Exception e)
{
    e.printStackTrace();
}
%>
</body>
</html>

1 Ответ

0 голосов
/ 31 января 2011

Вы не можете прочитать переменную из апплета в скриптлете страницы JSP. Апплет - это Java-приложение, которое будет запускаться в клиентском браузере после отправки клиенту HTML-кода, поэтому это никогда не будет работать.

Поиск немного здесь на SO, вы найдете это: связь апплета с использованием метода post

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...