My perspective on the servlet/JSP thing:
A servlet is a
java class that provides 'extended behaviour' for a web server. It's like the cgi programs people used to write (and still do) in C or Perl. Among many other uses, servlets can be used to process form submissions on websites, generate 'plain HTML' pages (with dynamic content) or in the JSP world, they are sometimes used as a 'controller'.
Before JSP, if you wanted dynamic data in a HTML page, you'd need to write a servlet that contained a whole bunch of 'out.println()' statements that would print out the HTML tags required. But with JSP, you can instead, write the HTML plainly, and embed the Java code between <% %> tags for the dynamic data. JSP's are then compiled into a servlet for you, and in fact,
you should write a simple Hello world JSP, and view the java source file for the generated servlet. It really helped me get a grip on how JSP works. I'd also highly recommend the book "Professional JSP 2nd Edition" by WROX.
In your example, (page 2 that has no output), it makes sense to write this as a servlet, as JSP is primarily meant to make the process of writing dynamic pages easier. But all you really need is a form processor, so a servlet makes more sense. The action target of the form would be the servlet's aliased name.
However, if you don't want to get into writing servlets and fooling around with aliases, writing a JSP that is nothing but Java code between <% %> tags, is an acceptable solution for now.
Finally,
sendRedirect() is the solution you'd want, because it literally sends the browser a redirect command.. sort of like if you go to pages that say "you will be automatically redirected, click here if you aren't"
When the browser performs the redirect, it replaces the address bar's URL with the URL to which it is redirecting. So it 'looks' right as well as working right.
I haven't used redirect in a JSP page, but within the code of a servlet, it looks like: