Nel tuo codice ci sono 2 errori importanti.

1. Il confronto si fa con 2 uguali (==), un uguale si usa per l'assegnamento dei valori alle variabili.

2. Solo i tipi primitivi si confrontano con ==. Gli oggetti (quindi anche le stringhe) si confrontano con il metodo equals. Il codice di Kamui è perfetto anche se io avrei usato un paio di graffe in più.
codice:
<%
out.print("Funziona?");
if ( francesco.equals( "Ciao" ) ){
    out.println( " si`");
}else{
    out.println( " no");
}
%>