Добрый день. Задача — ипользуя JSP и Servlrt правильно обработать форму. Вот что набросал:
form.jsp
| Код | <html> <body> <form action="/formprocessing/fps" method=post> <table> <tr> <td>Name</td> <td><input type="text" name="name" value="" size=15 maxlength=20></td> </tr> <tr> <td>Surename</td> <td><input type="text" name="surname" value="" size=15 maxlength=20></td> </tr> <tr> <td colspan="2"><input type="submit" value="Submit"></td> </tr> </table> </form> </body> </html>
|
FormProcessingServlet.java
| Код | import javax.servlet.*; import javax.servlet.http.*; import java.io.*;
public class FormProcessingServlet extends HttpServlet { public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { FormBean formBean = new FormBean(); formBean.setName(request.getParameter("name")); formBean.setSurname(request.getParameter("surname")); PrintWriter out = response.getWriter(); try { formBean.validation(); out.println("Your name is " + formBean.getName()); out.println("Surname is " + formBean.getSurname()); } catch(Exception e) { out.println(e); } out.close(); } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } }
|
FormBean.java
| Код |
public class FormBean { private String name; private String surname; public void setName(String name) { this.name = name; } public String getName() { return name; } public void setSurname(String surname) { this.surname = surname; } public String getSurname() { return surname; } public void validation() throws IllegalStateException { String err = ""; if (name == "") err = err + "Name must be set; "; if (surname == "") err = err + "Surname must be set; "; if (err != "") throw new IllegalStateException(err); } }
|
Нужна консультация относительно использования бина (он нужен? Предполагаю вернуть его в form.jsp при возникновении ошибки валидности) и его метода валидности (правильно ли порождение исключения в случае провала? Что с ним делать дальше?). В общем, то как красиво построить обработку форм на этих технологиях. |