1- sì ma ha lo stesso effetto di mettere il codice in cima alla jsp
2- certo ma vedi 1

la jsp è una servlet, il codice java che si trova nella jsp viene eseguito al momento della richiesta, dunque genera la pagina html che viene mandata al client, se devi eseguire del codice sul server dopo il caricamento della pagina devi per forza mandare una nuova richiesta