spring与freemarker集成,顺带spring mvc的helloword部署
来源:互联网 发布:linux软件在哪里下载 编辑:程序博客网 时间:2024/04/29 17:00
spring与freemarker集成的文章在网上有很多,我就是照着做的,不过按照惯例,我每次搞这种玩意都会出现问题,这次也一样,出现了下面这个错误(请允许我先说错误,再说怎么部署):
严重: Servlet.service() for servlet hello threw exception
javax.servlet.ServletException: Could not resolve view with name '
hellouser.ftl ' in servlet with name 'hello'
at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1029)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:817)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
at java.lang.Thread.run(Thread.java:595)
这个问题遇到的人应该不会很多,所以网上相关的解决方案也不多,很多很不靠谱啊,靠人不如靠自己,咱有源码,自己查问题呗,其实也就是debug啦。
通过源码发现,报出这个错误的地方的代码是
view为null就报这样的错误,那为什么view为null呢?靠呗,你好歹也把freemaker的错误给我打出来么,这样一个错误让人怎么查呢?好吧,只有查看view为什么会null了,这里甚至要看freemaker的代码了。
中间省略几百字,知道源头了
查找过程如下:
1.org.springframework.web.servlet.DispatcherServlet.render的1027
2.org.springframework.web.servlet.DispatcherServlet.resolveViewName的1078
View view = viewResolver.resolveViewName(viewName, locale);
3.org.springframework.web.servlet.view.AbstractCachingViewResolver.resolveViewName的77行
view = createView(viewName, locale);
4.org.springframework.web.servlet.view.UrlBasedViewResolver.createView的384行
return super.createView(viewName, locale);
7.结束了,应该可以了吧。上述也就是做个参考而已嘿嘿。用http://localhost:2012/springbase/hellouser.do?user=ben访问成功,必须要传递user这个参数呢,不传,出错,为啥?问你自己诺~
---------------------------------------------------分割线--------------------------------------------------------------------------
这里再加个题外话,hello-servlet.xml里的viewResolver的配置中我们配置的是freemarker,spring以AOP注入属性值,
org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver这个类中有个属性值是suffix,网上关于spring与freemarker的集成的时候,经常会有人配置这个属性值为.ftl,比如:
从属性值上看是指后缀名,我一开始还以为是只解析以.ftl为后缀的文件,后来调试的时候发现它是给原来的url路径再加个后最,比如我的url路径是hellouser.ftl,结果到后面获取模板的时候就变成了hellouser.ftl.ftl,不知道有没有人深受这个祸害,我还没有自己看源码,所以有可能会出现这个问题,还需要多加注意那。
- spring与freemarker集成,顺带spring mvc的helloword部署
- spring mvc 集成freemarker
- spring mvc 集成freemarker模板
- spring mvc与Freemarker的整合
- Spring MVC的多视图解析器配置及与Freemarker的集成
- Spring MVC的多视图解析器配置及与Freemarker的集成
- Spring MVC的多视图解析器配置及与Freemarker的集成
- Spring MVC的多视图解析器配置及与Freemarker的集成
- Spring MVC的多视图解析器配置及与Freemarker的集成
- Spring MVC的多视图解析器配置及与Freemarker的集成
- Spring MVC的多视图解析器配置及与Freemarker的集成
- ***Spring MVC的多视图解析器配置及与Freemarker的集成
- Spring MVC的多视图解析器配置及与Freemarker的集成
- Spring MVC的多视图解析器配置及与Freemarker的集成
- Spring MVC的多视图解析器配置及与Freemarker的集成
- Spring MVC的多视图解析器配置及与Freemarker的集成
- Spring MVC的多视图解析器配置及与Freemarker的集成
- Spring MVC的多视图解析器配置及与Freemarker的集成
- 关于IT结合测试,事前DB与事后DB的问题(之一:如何能更好的看出更新效果)。
- 深入理解Android消息处理系统——Looper、Handler、Thread
- 查看C++数据类型的字节数
- uBuntu Linux系统下面的常用命令
- Android开发手记
- spring与freemarker集成,顺带spring mvc的helloword部署
- 也
- poj 3653 bfs上的dp
- 用JFreeChart 生成报表
- 日版 iphone 3gs 4.3.2 搞定
- 大端,小端问题
- Windows 2003 PHP环境搭建教程
- 监控系统解围企业应用集成平台困境
- 位运算优化