Возникла следующая проблема: На клиенте создается объект, -> пересылается на сервер [JBoss]. Для примера сервер немного модифицирует данные и отправляет обратно клиенту. Проблема в том, что на клиенте данных не видно Код сервлета: | Код | import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class test extends HttpServlet{ private String mystr; private ObjectInputStream get_data; public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{ get_data = new ObjectInputStream(request.getInputStream()); data[] m_data=new data[50]; data[] c_data=new data[50]; try{ m_data = (data[]) get_data.readObject(); } catch(ClassNotFoundException e){}; int i; String aaa,bbb; for (i=1;i<50;i++){ aaa=m_data[i].get_name(); out.println(aaa); c_data[i]=new data("answer_form_server"+aaa,m_data[i].get_id()+10); } ObjectOutputStream oos; oos=new ObjectOutputStream(response.getOutputStream()); oos.writeObject(c_data); } public void doPut(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{ doGet(request,response); } }
class data implements Serializable{ String m_name; int m_id; public data(String name,int id){ m_name=name; m_id=id; } public String get_name(){ return m_name; } public int get_id(){ return m_id; } }
|
Код апплета [клиент]: | Код | import java.applet.*; import java.awt.*; import java.io.*; import java.net.*; import java.util.*;
public class post extends Applet{ private URL murl; private URLConnection myurl; public void init(){ int i; data[] n1 = new data[50]; Random r = new Random(); ObjectOutputStream out; TextArea ta= new TextArea(); add(ta); TextArea ta1=new TextArea(); add(ta1); String aaa; for(i=1;i<50;i++){ n1[i] = new data ("client #- "+String.valueOf(i)+" id = ",r.nextInt()); aaa=n1[i].get_name(); System.out.println(aaa); ta.append("\n"); ta.append(aaa); aaa=String.valueOf(n1[i].m_id); System.out.println(aaa); ta.append(aaa); ta.append("\n"); } try{ murl = new URL("http://localhost:8080/test/hello"); }catch(MalformedURLException e){} try{ myurl=murl.openConnection(); myurl.setDoInput(true); myurl.setDoOutput(true); }catch(IOException e){} try{ myurl.connect(); }catch(IOException e){} try{ out=new ObjectOutputStream(myurl.getOutputStream()); out.writeObject(n1); //ByteArrayInputStream is =new ByteArrayInputStream(baos); out.flush(); out.close(); } catch(Exception e){}; /* try{ BufferedReader bis = new BufferedReader(new InputStreamReader(myurl.getInputStream())); ta1.setEditable(false); char[] buffer=new char[4096]; int byte_read; try{ while((byte_read = bis.read(buffer))!=-1){ String zzz=new String(buffer,0,byte_read); ta1.append(zzz); } }catch(IOException e){} }catch(IOException e){}*/ } public void start(){ TextArea ta2=new TextArea(); add(ta2); data[] n2=new data[50]; int i; String zz; try{ murl = new URL("http://localhost:8080/test/hello"); }catch(MalformedURLException e){} try{ myurl=murl.openConnection(); myurl.setDoInput(true); myurl.setDoOutput(true); }catch(IOException e){} try{ myurl.connect(); }catch(IOException e){} try{ ObjectInputStream in=new ObjectInputStream(myurl.getInputStream()); n2=(data[])in.readObject(); for(i=1;i<50;i++){ zz=n2[i].get_name(); ta2.append(zz); ta2.append("\n"); zz=String.valueOf(n2[i].get_id()); ta2.append(zz); ta2.append("\n"); } in.close(); } catch(Exception e){}; } }
class data implements Serializable{ String m_name; int m_id; public data(String name,int id){ m_name=name; m_id=id; } public String get_name(){ return m_name; } public int get_id(){ return m_id; } }
|
По идее, на клиенте в TextArea - ta2 должен отобразится ответ сервера, но ничего нет... Это сообщение отредактировал(а) eXcile - 27.2.2007, 12:21
--------------------
Не становитесь рабом шаблона [Винсент Ван Гог]
|