前言:
身为一名程序员小白,多的练习才可以促进学习。这里讲解的是旅游网项目,当然,身为后端开发者,前端知识也是要学滴,页面可以随便找,信息时代百度一大把。找到一个属于自己的,不要多想,马上练习。
项目介绍:
后端框架技术:springmvc,spring,mybatis。
前端主要使用:jQuery。
数据库使用:mysql
jdk环境:1.8,Maven项目
下载地址:
下载
https://gitee.com/lv_wenguo/ssm_travel
整体思路介绍:
使用的是mvc架构模式,项目结构也是非常简单的:
一点一点来介绍:(不要急哦!)
注册页面:
页面简简单单,输入信息点击注册,后端实现重复信息查询,如果存在重复就会返回错误数据给前端,前端判断错误信息,实现错误信息回显。没有重复信息则添加用户信息。
注册成功后去登陆页面。
登录页面:
登录页面和注册差不多,判断用户输入信息数据库是否存在,存在则进入主页,否者回显错误信息。
成功进入主页。
主页页面:
主页一开始实现数据初始化,通过jQuery异步请求,调用接口实现数据。数据过来以后,会有一个小问题,怎样实现点击进入详情页面。这个一会介绍,当用户登录成功时,后端session会存入用户信息,用于后面功能使用。这里没有什么很难的东西,渲染数据时,每个都会存在一个对应的id,使用的是超链接,跳转详情页面。
超链接代码:
' <a href="indexController/jump?rid='+data[i].rid+'">'+
点击进入详情页面。
路线详情页面:
前后端分离,这里会有一个小问题,你怎样知道用户点击的哪一条数据呢?这时一个小问题,这里通过地址栏实现数据初始化:
http://localhost:8080/SSM_travel/route_detail.html?rid=228
这样的话就可以用jq实现异步交互了。
jq取出地址栏id:
//获取地址栏请求信息
var rid;
var vars = [], hash;
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for (var i = 0; i < hashes.length; i++) {
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
/*赋值*/
rid = vars["rid"];
然后利用异步就可以实现数据初始化了。
后端这里利用id查询出数据,进行json格式转换。
这里会发现有一个收藏按钮,这个功能也实现了。
用户点击收藏后,因为后端需要多表操作,实现了AOP事务管理。
增强数据正确。
这里用户如果想看自己的收藏,就必须登录才可以看,如果用户没有登录就没有办法查看。
然后是进入收藏页面。
收藏页面:
实现了分页功能,我的分页功能可能不太一样,因为是利用接口实现,数据交互量大,往往会有很多问题。练习还是可以的。
这里和主页差不多,每个也可实现进入详情页面。
收藏排行榜:
这里会有一个收藏排行榜,也实现了分页功能,做到这里发现分页功能可以实现工具类的方法。我没有使用,主要是练习。这里可以自己拓展一下。
这里除了收藏排行榜实现功能,其他的还未实现。不过差不多的思想。
总结:
整体功能还是实现了,不过细想起来,其实实现的功能很少,安全性也不是很高,优点不说了,总结缺点吧。首先是用户登录功能,这里实现session储存用户信息,没有实现cookie功能,实现了如果用户禁用了cookie怎么办,出现异常。其实就完成了CRUD操作。功能还没有完全实现,当然后续会继续完成!更加完美。