【问题标题】:sendRedirect not working发送重定向不起作用
【发布时间】:2013-08-13 01:06:34
【问题描述】:

我正在尝试重定向到其他页面。我已经在我的机器上使用码头进行了本地尝试,并且重定向工作正常。现在,如果我将 war 文件部署到 tomcat 并尝试重定向页面,我会收到此错误。

HTTP Status 500 - File "/WEB-INF/jsp/.jsp" not found
javax.servlet.ServletException: File "/WEB-INF/jsp/.jsp" not found
org.apache.jasper.servlet.JspServlet.handleMissingResource(JspServlet.java:412)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:379)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:229)
org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250)
org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1047)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:817)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:669)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:585)
javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)

我不确定为什么它不将文件名放在“WEB-INF/jsp/.jsp”中。

这是发送重定向的 java 代码。

@RequestMapping(value="/surescriptstart", method=RequestMethod.POST)
public ModelAndView surescriptTes2t(SureScripts pro,HttpServletResponse response , HttpServletRequest request) throws IOException, ServletException{
if(verifySureScripts){
     ....
 Message = "You are done!";
 response.sendRedirect("done.html");
 }else{     
 response.sendRedirect("surescriptstart.html");
 }
     ....

这里是servlet.xml的一部分

<bean id="viewResolver"
    class="org.springframework.web.servlet.view.UrlBasedViewResolver">
    <property name="viewClass"
        value="org.springframework.web.servlet.view.JstlView" />
    <property name="prefix" value="/WEB-INF/jsp/" />
    <property name="suffix" value=".jsp" />
</bean>

【问题讨论】:

  • 重定向动作完成了吗?响应状态 302 和带有“/controller/done.html”的标头位置?

标签: tomcat spring-mvc tomcat7


【解决方案1】:

你从 surescriptTes2t 方法返回什么?您一定返回了一个空视图名称,因此 spring mvc 尝试使用 /WEB-INF/jsp/.jsp 处的 jsp 解决它,而不是发送 302 重定向。

如果您只需要重定向,请尝试将其设置为 void

public void surescriptTes2t

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-28
    • 2017-10-08
    相关资源
    最近更新 更多