1

我想完成以下工作:

我有一个用 JSP 表示的表单——我们称之为input.jsp. 这个表单提交给一个 servlet,它将在 DB 中创建对象——我们称之为CreateServlet. 成功提交表单后,servlet 应引导用户返回input.jsp并显示成功消息。当验证失败时,它应该重定向回input.jsp,显示错误消息,保留输入值。

我能想到几个选择:

  1. 在验证失败时,我可以使用 aRequestDispatcher执行转发到input.jsp. 这将使我能够轻松地显示表单中的验证错误和输入参数。但是,我知道在执行编辑操作的情况下不应该使用转发,所以当请求成功时,我不应该做转发,而是应该做重定向。重定向的问题是我无法轻松设置属性,除非我在 URL 中传递它,例如input.jsp?success=true.

  2. 我可以在会话中存储验证消息、成功消息和输入值,并始终执行重定向。在 JSP 显示页面之后,它可以从会话中删除这些属性。

我使用的是普通的 servlet 和 JSP,而不是像 Struts 这样的任何框架。在这种情况下,推荐的做法是什么?

4

1 回答 1

0

如果我是你,我会选择第二个选项。我的原因 :

  • 使其成为以该形式封装所有输入的对象。如果我需要向表单添加属性,它会更容易维护。
  • 它更安全,因为您的网址将从属性中清除。

如果您使用像 struts 这样的框架,这将非常容易。一切都将由他们处理。

于 2013-06-28T06:59:19.557 回答