有没有新一点的SSM项目教程？
简单地不能再简单的，自己写的要不要？   这个项目是我自己手写的第一个SSM项目(毕竟学了当然得搞点事情，对吧)，是上年写的小东西。当然了，现在回过头去看这个项目是有很多的不足的，仅供参考。用的也不是新技术，只是把我之前当时所学的一些东西做一个总结…如果想学新知识的同学看到这里就可以留步啦～ 所以说，你可能会看到比较旧的技术，写得不好的地方都会有～如果是写过项目的同学而言，这个仅仅是一个Demo。对于没写过项目的同学可以适当的参考一下，因为用的是非常简单的技术，都是耳熟能详的技术，不会有什么难懂的地方～ PS:希望各位大佬不要攻击它，我没有做任何的安全措施。即使留了评论的功能，XSS攻击防范也没做，请手下留情啊～ 地址： 巴巴拉拉地说了一大堆东西，我们来看一下这个项目有什么功能～ 这是首页，会根据当地给出三天的天气预报： 很简单的注册页面，通过邮箱来进行注册～ 2018年3月30日15:51:23，好吧，写这篇博文的时候也出错了….. 我怀疑是授权发送邮箱的密码错了(过时),于是我去更新了一下，果然就行了～ 此时点击注册，就会要邮箱校验了～ 去自己的邮箱查看一下邮件： 点击校验它即可完成注册(如果不校验的话，那么是不允许登陆的)： 该项目用Shiro做了权限认证的，如果没在登陆的状态下点击以下的菜单都会跳转到登陆页面～： 网站说明： 这个网站的功能并不复杂，开发的功能都是为了方便使用而已。 发送邮件好像会有点延迟～～～～ 接下来是个人收藏夹了，添加一些常用的网址进去，并给它命名，当输入命名部分的字符时，即会提示： 用键盘上下键选中按回车即可跳转到对应的页面了～ 网站用到的技术： 总概要： 可以看到的是，网站的功能并不多，就几个小模块，我就创建了三张表而已: 其实所有的初学者都一样：怎么使用Java编写一个网站？数据库设计感觉好难，设计错了就很麻烦了。Web前端好烦啊，自己写的页面不好看。这个功能感觉好难实现哦，应该是挺高深的技术吧。我的基础还不够扎实，等我学好了再写吧，等等等..就一直有想写网站的念头，但一直没开始动手。 上面的问题我都有想过，不过我还是写了这么一个小东西…. 当时写的练手项目都是视频教程给出的题目，比如我之前发过的：移动商城项目总结和纳税服务系统总结，jar包或者maven的坐标都是有给出来的，项目的前台页面和数据库标也大都是设计好的，我只需要补补填填写Java代码。而这一次，前端页面，数据库设计，Maven坐标等等全由自己包办 从开始到编写结束大概花了我一个月的时间，期间要去上课呀，回家呀，一些琐事呀等等才拖了那么久。如果自己从来没写过项目的同学建议自己折腾一下搞一个，期间能学到很多很多东西的。也不要怕自己写得不好(只要像我一样不要脸，不也将这么一个小东西发到公众号上来，发到其他的博客平台了么) 那么我自己折腾这么一个小玩意能学到什么了呢？ 当时我在图书馆撘了一个晚上，得出的教训： 登陆与注册这个功能只要学过JavaWeb基础的同学，肯定做过。反正我是做了很多很多次的了，学Servlet做一次，学JSP做一次，学AJAX做一次，学xxx系统做一次，学XXX商城做一次。反正每次都会有新的东西补充上去 一开始我本来想做的是可以使用微信登陆，也可以使用账户(邮箱)登陆，也可以使用短信登陆的。 后来发现微信登陆要企业认证，做不了。短信登陆要钱，不想给。 所以最后就只有用邮箱登陆了~~~当然了，该有的基本功能是有的： 由于之前是简单学过Shiro的，当时觉得Shiro做权限很方便，于是自己也想体验一把～实际上用起来并没有我当时学的时候那么简单！ 在Shiro这一块也耽误了不少时间，因为我当时想的是使用AJAX来提交，如果正确则跳转到首页，如果密码(参数..)等错误就返回JSON给用户一个友好的提示。可是，Shiro的表单认证起默认返回的是一个页面，在这里就卡住了挺久的(有的时候没bug，有的时候又有bug)，百思不得其解…最后查阅了很多资料才将FormAuthenticationFilter改写好，Shiro很多东西都是要自己重写来进行控制的，当时理解后画的流程图： Shiro的“记住我”功能本来以为是很好用的，实则也挺鸡肋的..当时我做的记录： 反正Shiro给我的感觉就是很多东西都要自己来重写，控制，而如果是小范围使用我觉得自己写url控制会方便。也可能是我的学习姿势不对～ 在登陆注册模块期间也自己去找了不少资料。 所以说，未必要使用自己熟悉的东西，只要想实现一些普通、你见过的功能，总会有方案可以参考。 这个自动补全功能是我一开始想要做自己网站的时候想做的。因为我习惯了使用键盘去找文件，去找东西。 比如，在windows下，我下了一个rolan，将常用的软件丢进去，输入一些关键字即提示我，然后我通过键盘上下选择就可以打开软件了，十分方便 在编写之前，我学过Lucene的相关知识，知道Lucene是全文搜索索引的始祖(没做过相关案例)【参考博文：Lucene就是这么简单】，后来知道Solr和Elasticsearch在企业上是用得挺火的，而Elasticsearch又是各种火热，各种吹(哈哈哈，无贬义，是挺好用的)。 于是我就花了几天从零开始学Elasticsearch，当时参考的博主给出的是2.3.3版本，我也觉得没什么，就使用了。那是最新是5.x～就有了后来的博文：【Elasticsearch就是这么简单】 Elasticsearch遇到很多的问题都得去翻英文的，所以可以访问外网也挺重要的～ 我英语也不咋地，就慢慢看看，弄个Chrome插件翻译呗，事情总得解决，也就这么成长的～ 在之前只会Linux一些非常简单的命令，ls  cd vi这些，用得少就忘记了，于是又得重新去回顾一下Linux(这个学期也开了Linux的课，我打算过一阵再总结Linux的常用命令和相关要点，敬请期待～) 花了点点钱买了台云服务器(学生有优惠就10块一个月)，我也建议是在校的学生也可以买来自己玩玩，熟悉一下Linux命令，还有很多软件都在Linux下才更好地支持(例如：Elasticsearch，Nginx)，尤其Elasticsearch在windows下装它简直麻烦！ 到了Linux阶段，我也去学了下Nginx了。在没学Nginx时我就经常听说过这个HTTP服务器了，但一直不知道它是干嘛用的。它的最常见作用就两个： 学学Nginx的配置文件相关知识，是如何配置的，配置有什么用～就可以使用了 评论功能在数据库设计上也有好几种： 我做的只是一个留言的功能，就直接使用第一种了～ 对于备忘录就得用到Quartz时间调度框架，之前接触过，但用的使用还是出现了Bug 如果业务简单的话，下次也想玩玩Spring自带的任务调度～ 上面简要地介绍了我的小项目的功能和编写过程，更详细的业务得去看我下面的博文和源码了～也希望大家能够有所收获，自己动手做一个小项目～ 现在看来很多没有写成规范(返回JSON、JavaScript模块化)等等，但毕竟是自己学编程的成长经历，看回以前的代码总会有这种感觉。我短时间内也不做重构了，学Java基础去～  如果大家想要实时关注我更新的文章以及分享的干货的话，微信搜索Java3y PDF文档的内容均为手打，有任何的不懂都可以直接来问我（公众号有我的联系方式）。 