Я отправляю строку из апплета в сервлет.Когда я иду, чтобы получить поток вывода от URLConnection, я получаю исключение java.net.UnknownServiceException: протокол не поддерживает вывод
Некоторая справочная информация;Я использую Eclipse, я протестировал апплет, запустив его в eclipse и на моей собственной html странице, и они выдают ту же ошибку.Я скачал правильный Java Web SDK.Может быть, мне нужно настроить сервер hxxp: // 8008 ...?
Почему это происходит и как я могу это исправить?Нужно ли подписывать мой апплет, чтобы он работал?
Вот мой код, и я прокомментировал, где выбрасывается исключение:
public String messageServlet()
{
try
{
URLConnection conn = connectToServlet();
conn.setDoOutput(true);
OutputStream out = conn.getOutputStream(); // Exception thrown here: UnknownServiceException: protocol doesn't support output
ObjectOutputStream objOut = new ObjectOutputStream( out );
objOut.writeObject( message );
objOut.flush();
objOut.close();
System.out.println( "1" );
// receive result from servlet
InputStream instr = conn.getInputStream();
ObjectInputStream inputFromServlet = new ObjectInputStream(instr);
String result = (String) inputFromServlet.readObject();
inputFromServlet.close();
instr.close();
System.out.println( "1" );
return result;
}
catch ( IOException e )
{
System.out.println( "In messageServlet(): " + e );
msgBox.setText( msgBox.getText() + "\nIn messageServlet(): " + e );
}
catch ( Exception e )
{
System.out.println( "In messageServlet(): " + e );
msgBox.setText( msgBox.getText() + "\nIn messageServlet(): " + e );
}
return null;
}
public URLConnection connectToServlet()
{
try
{
URL servletUrl = new URL( getCodeBase(), "echo" );
URLConnection conn = servletUrl.openConnection();
conn.setDoInput( true );
conn.setDoOutput( true );
conn.setUseCaches( false );
conn.setRequestProperty( "Content-Type", "application/x-java-serialized-object" );
return conn;
}
catch ( IOException e )
{
System.out.println( "In connectToServlet(): " + e );
}
return null;
}