终于放假了(`・ω・´)
祝大家新的一年里过的愉快,不过在这里文章还是要水一篇的,集中总结一下学习SSM框架(spirng,springmvc,mybatis)的心得
首先是新手都会遇到的问题
1.IDE和服务器的问题
俗话说得好,工欲善其事,必先利其器。用好的IDE写好的代码,是非常符合逻辑的事情(滑稽)
不过说到IDE,写一个比较正规的web项目用记事本是行不通的,eclipse~太老,myeclipse~差不多老,想来想去还是掏出了jetbrains家的IntelliJ IDEA,什么叫国际智能化IDE啊(开花)
不过尴尬的是就算用了idea还是不会搭建项目,maven怎么用呀,卧槽?俺的tomcat怎么全都是乱码Σ(゚д゚;)
这年头计算机小白太tm难当了(/TДT)/
针对以上问题,俺经过面向Google编程总算找到了各种各样的解决方法(主要是csdn大神多)
idea入门ssm框架学习:
2018超直白入门demo:IDEA+Maven+MyBatis - 掘金
IDEA 整合 SSM 框架学习 - 我没有三颗心脏 - 博客园
tomcat:
Tomcat(一) Tomcat是什么:Tomcat与Java技术 Tomcat与Web应用 以及 Tomcat基本框架及相关配置 - tjiyu的博客 - CSDN博客
(1条消息)Tomcat部署时war和war exploded区别以及平时踩得坑 - 徐刘根的博客 - CSDN博客
IDEA使用总结-tomcat应用重部署(redeploy)_好好学习,天天向上-CSDN博客
IntelliJ IDEA 使用 TOMCAT 中文乱码的各种问题_不很正派的专栏-CSDN博客
maven:
Maven 教程 | 菜鸟教程
2.xml文件
好不容易跨过搭建项目的坎,就会发现这个xml文件是干啥的?xml文件是学习SSM中很重要的一种文件,担任数据和配置信息载体的作用。
XML是什么,它可以做什么?——写给XML入门者_liheao123456的博客-CSDN博客
XML之命名空间的作用(xmlns) - zhch152的专栏
IntelliJ IDEA中创建xml文件 - nba_linshuhao的博客 - CSDN博客
Spring配置文件beans.xml头部配置解释 - EasonJim - 博客园
SSM_config配置springmvc.xml模板_weiyuanzhuo的博客-CSDN博客
IDEA新建mybatis-config.xml配置文件_啊林博客-CSDN博客
把前两种情况搞明白,就差不多可以开始学习了,下面着重总结一下学习中需要注意的小细节和比较蛋疼的坑╮( ̄▽ ̄)╭
文件结构问题
![671ccc9b01eca69212460d21d4a96653.png](https://i-blog.csdnimg.cn/blog_migrate/d20c2a0f90535d9ddbf8d99f6b9ab940.png)
最好把java文件和xml文件分开放,也就是设置java和resources文件夹分别管理文件,这样在学习初期能清楚地明白映射关系。此外,系统架构设计就不多说了,dao层也好service层也罢,刚开始可能理解不了,学到后面需要明白每一层次的上下级关系。还有就是把jsp和文件编译输出位置放到WEB-INF下,这是个好习惯。
web.xml文件
可以说学jsp/servlet的时候我就没怎么把这个文件学明白,这回真是栽了,小伙伴们一定要把servlet先学明白呀,不然就会像俺一样明明代码写的没问题,就是因为服务器配置问题bug卡半天,这里着重注意两个点
![b6971ee3fa64d25824ad17d1534ca38c.png](https://i-blog.csdnimg.cn/blog_migrate/2664cd1417304540f609e7317a4b674f.png)
监听器一定要设置好,不设置的话会报错,设置的不好启动不了
![31a76113d458ee211f79fc453105acff.png](https://i-blog.csdnimg.cn/blog_migrate/1e1958e9a14ab602e7aa986e611bfbf0.png)
注意servlet-name一只和映射路径,避免和tomcat配置路径重复,不然又要卡半天
还有就是注意标签顺序问题,不要乱排列呀,一是不好找二是会报错
jdbc连接问题
呜呜呜,当初年少无知下的是mysql8,好多配置都和旧版不一样,所以更容易出bug
如果你也不小心用的是MySQL8,那么注意了
![876653303baf9f42fcf9fdaf85c9f395.png](https://i-blog.csdnimg.cn/blog_migrate/f9ecf775ee21d13875e245bf1ff72f50.png)
mysql8的driver名称会多一个.cj.
连接url需要时间校准(就是后面servertime那一些)
此外mysql8还有诸多不便例如SSL证书之类的,小伙伴还是用MySQL5左右的把,也可以像我一样用两个(一个端口3306,一个端口3307)
好的,主要就是以上那么多,其实还有很多地方俺没有说,小伙伴们学习过程中遇到问题还是要多查资料,说不定就把bug解决了呢(主要还是看天(。・ω・。)),俺最近会把完成的项目加以改进,到时候再分享出来