从Servlet发送消息 - > Servlet和Servlet-> JSP

时间:2015-04-02 06:27:45

标签: java jsp servlets httpresponse

我正在使用Web应用程序,我必须将消息从一个servlet发送到另一个servlet,并将servlet发送到JSP。默认的方法是使用RequestDispatcher并调用request.setAttribute("name",message);

是的,但我有一些地方需要使用response.sendRedirect()才能停止在手工提交上多次提交表单。

在这种情况下,最常见的发送消息的方法是使用Session并将消息添加到会话中。

然而,使用会话传递消息并不是一个好主意,因为消息实际上是一个属于request scope的项目。那么,还有其他任何将它传递给servlet和Jsp的好方法吗?在JSP中我使用JSTL所以请告诉我如何使用它来获取传递的对象。

2 个答案:

答案 0 :(得分:1)

您可以使用cookiesQuery Stringurl re-writing等。

查询字符串:

String path = 'next.jsp';
path += '?name=' + messge;

您可以使用:

response.sendRedirect(path);

OR

request.getRequestDispatcher(path).forward(request, response);

在着陆页上,您可以通过request.getParameter("name")

获取消息

答案 1 :(得分:0)

如果您使用任何类似Struts 2的框架,可以将其存储到application scope https://struts.apache.org/docs/accessing-application-session-request-objects.html

如果您使用的是简单的Servlet并且session不能用于存储您想要的空间,您可以考虑将其存储到文件磁盘或DB中,然后从您想要的任何Servlet中读取它

如果您的情况属实,则此问题相关:What is the best place to store a configuration file in a Java web application (WAR)?