- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有 2 个 Controller 参与一个相当简单的流程。其中一个进行一些处理并向另一个进行 POSTS,然后重定向到呈现的页面。重定向失败,但没有错误。为了简化我的用例并确定问题,我将其分解为这 3 种方法 -
@RequestMapping(value="/provider/g1", method=RequestMethod.GET)
public void g1(HttpServletRequest request, HttpServletResponse response) {
logger.debug("In g1. posting to pr1");
try {
URI location = restTemplate.postForLocation("http://localhost:8082/provider/pr1", null);
logger.debug("post response=" + location.toString());
} catch (RestClientException re) {
logger.error("Unable to post to pr1.");
}
}
@RequestMapping(value="/provider/pr1", method=RequestMethod.POST)
public void pr1(HttpServletRequest request, HttpServletResponse response) {
logger.debug("In pr1. sending redirect to rd1");
// return "redirect:/provider/rd1";
try {
String rd1Path = "http://localhost:8082/provider/rd1";
response.sendRedirect(response.encodeRedirectURL(rd1Path));
} catch (IOException e) {
logger.error("Error redirecting to rd1");
e.printStackTrace();
}
}
@RequestMapping(value="/provider/rd1", method=RequestMethod.GET)
public void rd1(HttpServletRequest request, HttpServletResponse response) {
logger.debug("In rd1");
}
我尝试了相对路径和完全限定路径,结果相同。
输出是-
In g1. posting to pr1.
In pr1. sending redirect to rd1
post response=http://localhost:8082/provider/rd1
我想知道我做错了什么以及如何才能完成这项工作。
谢谢您,
SR
最佳答案
阅读javadoc of RestTemplate#postForLocation(..)
。它指出
Create a new resource by POSTing the given object to the URI template, and returns the value of the Location header.
请记住,POST-REDIRECT-GET 是 Web 应用程序中非常常见的模式。
因此,您向 http://localhost:8082/provider/pr1
发出 HTTP POST 请求,该请求返回 302 响应,其中 Location
header 设置为 http://localhost:8082/provider/rd1
,这是打印的内容。
您的 rd1
永远不会被调用,因为没有发送与其映射匹配的请求。
您可能希望使用 RestTemplate
的另一个 postXxx
方法。
关于java - sendRedirect 未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20615983/
考虑以下层次结构: 当我像这样发送重定向时: response.sendRedirect("error404.jsp"); // no path here !!! 我到达页面 error
我正在创建一个网络界面,用户可以在公式中输入一些内容:但是当我按下“确定”按钮时,我收到以下错误代码: java.lang.IllegalStateException: Cannot call sen
我有这个 Register.jsp 页面,在页面加载时,我想检查用户是否已经登录。所以我有这段代码, 它在用户登录时起作用(如果 usertype 等于 student 则重定向到 studenth
我很好奇 sendRedirect() 在重定向后如何工作。 MaintenanceController.java @RequestMapping(produces = "text/html") pu
我有 2 个 Controller 参与一个相当简单的流程。其中一个进行一些处理并向另一个进行 POSTS,然后重定向到呈现的页面。重定向失败,但没有错误。为了简化我的用例并确定问题,我将其分解为这
这个问题在这里已经有了答案: java.lang.IllegalStateException: Cannot (forward | sendRedirect | create session) af
我的 JSP 的位置是 src/webcontent/WEB-INF/jsp/sessionTimeout.jsp。 在我从过滤器执行如下 sendRedirect 后,找不到它。我已经尝试过这些组合
我无法解释 sendRedirect 函数的这个奇怪问题。我有一个 header page 作为 Header.jsp 作为: Online Exam Portal body{
我在这个论坛上寻找解决方案,但没有找到适合我的问题的解决方案。 我有一个非常简单的代码 一个jsp页面 和一个servlet @WebServlet("/servletName") publ
方法 response.sendRedirect() 在我的程序中不起作用。 代码通过并成功打印out.println("wrong user"); ,但重定向到谷歌分页不起作用。 String id
我有一个应用程序,我必须从登录页面重定向到另一个页面,我在登录页面中输入的用户名和密码将转到另一个 servlet。如果我发现登录值匹配,那么从 servlet将重定向到另一个页面,但是这不起作用..
我创建了两组 servlet: View 和 Controller /处理程序 View :执行简单的读取并将数据转发到 JSP Controller :执行数据库更新或插入并向 JSP 或 View
我只想从 JSP 重定向到另一个页面... 我可以检查 google.com 是否已启动,然后重定向(或写一条消息)... 类似的东西: 或者 它只是一个 JSP 页面,我没有任何可用的库(比如
只是一个简短的问题 - sendRedirect 使用什么方法(例如 GET、POST 等)?它是否从请求中继承它?而且,如果是这样,是否可以将其更改为另一个?谢谢! 最佳答案 sendRedirec
我正在编写一个客户端服务器程序。我正在从 Android 手机发送一个数组列表,并且我也能够接收该列表。之后,我希望 servlet 使用 response.sendRedirect() 重定向到 d
我在 if 语句中有一个 response.sendRedirect(),链接到 string.format 生成的链接: String redirect = String.format("booki
我正在使用带有 JSF2 框架的 Glassfish 4 服务器。 我的问题 当调用response.sendRedirect方法时,我遇到了IllegalStateException。 我不知道为什
只是一个简短的问题 - sendRedirect 使用什么方法(例如 GET、POST 等)?它是否从请求中继承它?而且,如果是这样,是否可以将其更改为另一个?谢谢! 最佳答案 sendRedirec
我正在尝试从我的 servlet 重定向到 jsp 页面。当我将页面直接放在 WebContent 文件夹中时,重定向起作用,但我需要将其放在子文件夹中,即; WebContent/Web-INF/v
在 servlet 中,我希望客户端浏览器重定向到新的 URL,response 对象已通过 lib 将带有 Location 的 header 设置为新的 url,但是我无法在代码中获取重定向网址(
我是一名优秀的程序员,十分优秀!