繁体   English   中英

网址在localhost中有效,但在服务器中无效

[英]The url works in localhost but not in server

我使用getServletContext().getRequestDispatcher("/message.jsp").forward(request, response); 从servlet转发到jsp,但这在服务器中不起作用。 我使用了response.sendRedirect(request.getContextPath() + "/message.jsp"); 但是,jsp不会显示我从servlet发送的消息。 怎么解决呢?

如果执行sendRedirect而不是Forward,则将创建一个新请求,这将导致请求属性消失。 一些框架使用“闪存”作用域(基本上是请求的2倍)来代替请求或会话作用域。 但是,就您而言,由于使用的是普通的Servlets / JSP,因此没有闪存范围。

相反,您可以执行以下操作:

ServletContext context = getServletContext().getContext(request.getContextPath());
RequestDispatcher dispatcher = context.getRequestDispatcher("/message.jsp");
dispatcher.forward(request, response);

哪个应将当前请求转发到message.jsp。

你可以这样

 request.setAttribute("PARAM1", "VALUE1");
RequestDispatcher dispatcher = request.getRequestDispatcher("message.jsp");
dispatcher.forward(request, response);

并在Message.jsp检索您的设置值。

request.getAttribute("PARAM1");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM