Ho provato a fare un client e un server normali(credo) senza collegamenti a database da nessuna parte.
Non mi funziona!!! Non capisco perchè!!!!

CLIENT:
codice:
import java.net.*;
import java.io.*;

public class Client {
	public static void main(String args[]){
		Socket s = null;
		String[] ingy = {"Ciliegine di Mozzarella (gr)","Pomodorini","Origano (pizzichi)"};		
		int[] qtyy = {30,3,1};
		System.out.println("Ingredienti e quantità ricetta: ");
		for (int i=0; i<ingy.length; i++){
			System.out.println(ingy[i]+","+qtyy[i])	
		}
		
        int y = ingy.length;        
        int n;
               
        String[] ingout;
        float[] qtyout;
             
	               try{	    	    
	     	     s= new Socket("localhost", 2222);
	             ObjectInputStream is1 = new ObjectInputStream(s.getInputStream());
	             ObjectOutputStream os1 = new ObjectOutputStream(s.getOutputStream());
	             DataInputStream is3 = new DataInputStream(s.getInputStream());
	             DataOutputStream os2 = new DataOutputStream(s.getOutputStream());
	             
	             os2.write(y);
	             
	             for (int j=0; j<y; j++)
	             {	       	
	       	      os1.writeObject(ingy[j]);
	       	      os2.writeFloat(qtyy[j]);	       	  	    	         	   
	    	      } 
				  n = (int)is3.read();
				
				  ingout = new String[n];				
				  qtyout = new float[n];
				
	    	      for (int j=0; j<n; j++)
	              {
	    	       ingout[j] = (String) is1.readObject();
	               qtyout[j] = is3.readFloat();
	        
	               }
	               
	          System.out.println("\nLista della spesa: ");    

	          for (int j=0; j<n; j++){	       
	                System.out.println("Ingredienti\n"+ingout[j]+":"+qtyout[j]); 
                }
                                 
               os1.close();
	    	   os2.close();
	    	   is1.close();
	    	   is3.close();
               s.close() ;
               
               }  // end-try di collegamento socket
               
               catch(UnknownHostException e){
               	System.err.println("Host Unknown");
               }
               
               catch(Exception e){
               	System.err.println(e);	
               }           
   }                         
}

SERVER:
codice:
import java.net.*;
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;

public class Server{
	public static void main(String args[]){
		Socket cs = null;
		ServerSocket ss = null;
	    int y;
	    String[] ingy;
	    float[] qtyy;
	    
	    String[] ingout;
	    float[] qtyout;
	    
		try{
			ss = new ServerSocket(2222);
			while(true){
				cs = ss.accept();
				ObjectOutputStream os1= new ObjectOutputStream(cs.getOutputStream());
				DataOutputStream os3 = new DataOutputStream(cs.getOutputStream());				
				ObjectInputStream is1= new ObjectInputStream(cs.getInputStream());
				DataInputStream is2= new DataInputStream(cs.getInputStream());

				y = (int)is2.read();
				
				ingy = new String[y];
				qtyy = new float[y];
							
				for (int j=0; j<y; j++){
				   ingy[j] = (String)is1.readObject(); //array ricetta
				   qtyy[j] = is2.readFloat();
				}

				String[] ingd = {"Ciliegine di Mozzarella (gr),Farina (gr),Mele,Pomodorini"}; //array dispensa
				float[] qtyd = {10,50,3,10};			    
			    
			    
			    int n=0;
			    ingout = new String[n]; //array output spesa
				qtyout = new float[n];

			    //ingy.lengh
				for(int j=0; j<y; j++){      //ingy
					for(int k=0; k<ingd.length; k++){  //ingd
						
						if (ingy[j]==ingd[k]){
							
							float q = qtyy[j] - qtyd[k];
							
						
							
							if (q>0){																							
								ingout[n] = ingy[j];
								qtyout[n] = q;																
								n++;
							}
						}	
					}
				}

				os3.write(n);
								
				for(int a=0; a<n; a++){
					os1.writeObject(ingout[a]);
					os3.writeFloat(qtyout[a]);
				}

			os1.close();
			os3.close();
			is1.close();
			is2.close();
	        cs.close();
			}
	
		}
		
		catch(UnknownHostException e){
			System.err.println("Host Unknown");
		}
		catch(Exception e){
			System.err.println(e);
		}
	}
}