欢迎来到天天文库
浏览记录
ID:39121277
大小:345.63 KB
页数:5页
时间:2019-06-25
《学习Spring MVC过程中踩过的坑》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、学习SpringMVC过程中踩file:///C:/Users/PunCha/Documents/My%20Knowledge/temp/a7050b75-04a9-430a-92b7-be5f62cf9365_4.htm过的坑.md使用SpringBoot和web.xmlStringBoot的理念就是消除web.xml,而我参考的书本使用的是web.xml,所以这根本是不相容的。鱼与熊掌只能取其一。需要一个tomcat的容器默认情况下,通过IntelliJ创建的SpringMVC项目是没有应用服务器给你运行的,所以创建完项目,只能编译,无法运行,要运行的话,需要配置应用服
2、务器。方法是:1.添加一个Run/DebugConfiguration,选择”TomcatServer”。2.在创建完后,你可以在右下角有一个”FIX”的按钮,这个是因为你没有配置Deployment(什么意思?你的项目编译完后会生成一个war文件,你要告诉Tomcat,把这个war文件部署到应用服务器上)web.xml里面配置让dispatchServlet处理所有请求注意,IntelliJ会把patter默认设置成*.form,但是要让他处理所有的请求,正确的做法如下:1.2.dispatcher3、let-name>3./4.mvc:resources要正确使用标签,要做到:让dispatchServlet处理所有请求。(具体做法,参见上面)。在dispatchServlet里面假如标签的location元素别忘了加2个斜杠/:1.index.jsp要删除如果你对服务器的Root路径(即/)有了自己的Controller,不把index.jsp删除的话,是不会
3、let-name>3./4.
4、生效的,所以要记得删了它。相关代码:1.@RequestMapping({"/","/home"})2.publicStringshowHomePage(Mapmodel){3.Listitems=todoService.getAllItems();4.model.put("items",items);5.return"home";6.}Page1of5学习SpringMVC过程中踩file:///C:/Users/PunCha/Documents/My%20Knowledge/temp/a7050b75-04a9-430a
5、-92b7-be5f62cf9365_4.htm过的坑.mdJSTL如果在渲染页面的时候,服务器报”java.lang.NoClassDefFoundError:javax/servlet/jsp/jstl/core/Config”的错误,那么一定是JSTL的包没有装的缘故。而且,你一定使用了Tomcat或者Jetty做应用服务器。看下面的说明:JSTLisnormallyalreadyprovidedouttheboxbyafullfledgedJavaEEcontainersuchasTomEE,JBossAS/EAP/WildFly,Payara/GlassFish,
6、WebLogic,etcbutnotbybarebonesJSP/ServletcontainerssuchasTomcatandJetty.Forthem,you’dneedtosupplyJSTLalongwiththewebapplicationyourself,exactlylikeasyou’ddoforJSF(whichisalsoalreadyprovidedouttheboxbyfullfledgedJavaEEcontainers).就是说,用了这两个应用服务器的话,你需要自己把JSTL的库(javax.servlet:jstl:1.2,注意,别用错了,有
7、个api的版本不要用)打包在你的war里面,因为他们默认不提供。假如,你用的是IntelliJ,别忘了还要多做一步,那就是在Artifical里面设置一下,确保JSTL库文件被包含了,截图如下:@Valid,@Patter,@Size找不到怎么办?引用javax.validation:validation-api:1.1.0.Final@Valid不起作用这是我的约束类:Page2of5学习SpringMVC过程中踩file:///C:/Users/PunCha/Documents/My%20Knowledge/t
此文档下载收益归作者所有