Le pagine JSP sono servite da un servlet, quindi la frase "una pagina JSP riceverà i dati di input, quindi la invierà a un servlet" mi sembra un approccio strano (forse non l'ho capito bene). Normalmente, per prima cosa vedi i tuoi dati nel "servlet", quindi esegui il rendering di un documento (cioè JSP) che viene inviato al browser client.
Se non vuoi utilizzare un framework web, finirai per scrivere molte cose comuni da te (analizzando i parametri, convertendoli dalle stringhe ai tipi necessari, convalidandoli, rendi i risultati disponibili al tuo JSP. ..), e sì, che ha bisogno di molto se / poi / else.
In termini molto generali, quello che vuoi fare è usare un singolo servlet che fornisce le tue richieste:
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
// Parse the request and select an aproppriate POJO that services this action
// Your service POJOS should have a common interface (i.e. validate(),
// service()...)
// Call a binding method that reads parameters from GET/POST and maps them
// to properties of your POJO
// Call the POJO "validate()" so you know that input is ok
// Call the POJO "service()" so it runs the appropriate process:
// This should return all needed data and the name of the "JSP" you will use
// Generate and send JSP to client
}
Ma in realtà, hai bisogno di molta più flessibilità: devi essere in grado di usare i reindirizzamenti dalla tua azione, dovrai gestire le eccezioni in modo ragionevole, dovresti considerare la codifica dei contenuti ... in breve, Vi consiglio caldamente di riconsiderare l'uso di un framework (Struts 2, Spring MVC, Tapestry .... ce ne sono così tanti), o in alternativa postare il codice che serve una delle vostre richieste in modo che le persone possano suggerire miglioramenti.
Spero che aiuti.