Listing 1: SSLServerSide.java (location: C:\j2sse\server\)
import java.net.*;
import java.io.*;
import javax.net.*;
import javax.net.ssl.*;

class reply extends Thread{

Socket ClientSocket=null;     //client socket
PrintWriter out=null;         //out stream
BufferedReader in=null;       //in stream
InputStreamReader ISR=null;

String in_str=null;          
String out_str=null;

public reply(Socket s)
     {
     ClientSocket=s;        
     }

public void run()
{
try{
   out=new PrintWriter(ClientSocket.getOutputStream(),true);
   ISR=new InputStreamReader(ClientSocket.getInputStream());
   in=new BufferedReader(ISR);
      
   out.println("Hello, I'm a secure server...");

    while((in_str=in.readLine())!=null)
      {
      if(in_str.equals("Bye!"))break;        
      System.out.println("Recive:"+in_str);
      out_str=in_str;
                 
      if(out_str!=null)out.println(out_str);
      }
     
    out.close();     
    in.close(); 
    ClientSocket.close();
    
    }catch(IOException e)
       {       
       System.out.println("Erorr"+e.getMessage());   
       try{
          out.close();     
          in.close(); 
          ClientSocket.close();
          }catch(IOException ex)
             {System.out.println("Error:"+ex.getMessage());}
       }
   }
}

public class SSLServerSide{
     public static void main(String[] args)
     {     
     ServerSocket SSL_server_soclu=null;
     try{
        System.setProperty("javax.net.ssl.keyStore","SSLcert");
        System.setProperty("javax.net.ssl.keyStorePassword","e1002qa2");
        ServerSocketFactory SSL_server_fabrica=SSLServerSocketFactory.getDefault();
        SSL_server_soclu=SSL_server_fabrica.createServerSocket(443);  

  	  System.out.println("SSL Server ...");
	  while(true){ 
                   Socket SSLsocket=SSL_server_soclu.accept(); 
			 Thread t=new reply(SSLsocket);
			 t.start(); 
			 }
	   }catch(IOException e)
            {System.out.println("Error:"+e.getMessage());}  
     }
}

How to Add Java Applets to Your Site

New on the Java Boutique:

New Review:

Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling API boasts simplicity, ease-of-integration, a well-rounded feature set, and it's free!

New Applet:

Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA sequences into three useful formats.

Elsewhere on internet.com:

WebDeveloper Java
Lots of Java information on webdeveloper.com

WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.

ScriptSearch Java
Hundreds of free Java code files to download.

jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.