Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tomcat 发送重定向不工作_Tomcat_Spring Mvc_Tomcat7 - Fatal编程技术网

Tomcat 发送重定向不工作

Tomcat 发送重定向不工作,tomcat,spring-mvc,tomcat7,Tomcat,Spring Mvc,Tomcat7,我正在尝试重定向到另一个页面。我已经使用jetty在我的机器上进行了本地尝试,重定向工作正常。现在,如果我将war文件部署到tomcat,并尝试重定向页面,我会得到这个错误 HTTP Status 500 - File "/WEB-INF/jsp/.jsp" not found javax.servlet.ServletException: File "/WEB-INF/jsp/.jsp" not found org.apa

我正在尝试重定向到另一个页面。我已经使用jetty在我的机器上进行了本地尝试,重定向工作正常。现在,如果我将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>

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

@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");
 }
     ....
如果您只需要重定向,请尝试使其无效:

public void surescriptTes2t

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

@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");
 }
     ....
如果您只需要重定向,请尝试使其无效:

public void surescriptTes2t

重定向操作是否已完成?响应状态302和标题位置为“/controller/done.html”?重定向操作是否已完成?响应状态302和带有“/controller/done.html”的标题位置?