最近在做工程实践,想实现这么一个效果:
按照网上说的,进行了一些配置,然后运行项目,出现了错误:javax.servlet.ServletException: org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.StackOverflowError;
去网上各种查阅资料,都没找到与该问题相关的文章(这也是我发博客的原因),可能是遇到这类问题的人只有少部分。事实上,确实也只有“机缘巧合”的人会遇到这个问题。
1.在webapp/目录下存2个html文件:isearch.html,view.html,目录如下:
2.配置spring-mvc.xml,视图解析器:
<!-- 配置视图解析器 --> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/"/> <property name="suffix" value=".html"/> </bean>
3.编写HtmlController,如下:
/** * 静态页面请求处理Controller * @author southday * @date 2019/3/4 */ @Controller public class HtmlController { @RequestMapping(value = "/search", method = RequestMethod.GET) public String searchHtml() { System.out.println("search html"); return "isearch"; } @RequestMapping(value = "/view", method = RequestMethod.GET) public String viewHtml() { System.out.println("view html"); return "view"; } }
注意看这两个请求的处理:
当你运行项目,发送请求时,只有/search可以成功返回html页面,/view则会报异常(StackOverflowError)。具体原因我没去深入了解,但觉得是:
转载请说明出处!have a good time :-)
SSM 返回静态页面HTML Controller 被递归调用引起的StackOverflowError
原文:https://www.cnblogs.com/southday/p/10472727.html