目标:创建一个名为“女神说”的网站,网站主要初始功能就是能在后台发布图文结合的资讯
第一步:购买域名和云服务器,我们选择阿里云,这样备案时间比在官方渠道缩短很多,大概20天左右就可以备案成功,网站如果再国内上线必须要备案,不然无法解析,同时要提前备,不然影响进度。域名定为:www.91photo.cc
第二步:把产品设计出来,网站页面采用二级,首页是网站资讯列表页,二级页面是文章详情页面,后台能够上传文章,文章包括标题、图片和内容;
第三步:数据库设计,采用比较简单的设计,就两个表,给数据库取名“nvshenshuo”
第四步:整合SSM,开发网站
整合SSM框架之前,我需要先知道,一个web网站的诉求就是将mysql里面的数据传递到前端页面展示出来或者将页面获得的数据传递到数据库存储起来。而这个整个数据的传递过程在SSM框架中,都是通过对象传递的,在这里一般称之为bean。
把controller类,mapper接口,service类,action类,dao类等等都交给spring管理,前台发送请求,控制层接收请求,根据url在IOC容器中找到相应的controller类和方法,controller类中又依赖注入了service类,controller再调用service类,service类中又依赖注入了dao类,dao类通过自动映射封装了从数据库中查询来的数据结构,Spring通过属性注入将操作结果返回给service类,service类返回给controller类,controller类再返回给浏览器。这样前后台交互就完成了,然而,在这期间我们并没有new 任何的controller类,service类,dao类,通通是spring创建的,我们只是被动的使用它就行了。这大大降低了程序的耦合度。其实整合SSM框架就是整合Spring和MyBatis,而整合过程就是导入MyBatis的jar包和mybatis-spring jar包。
1、工程结构
2、配置MyBatis、Spring、SpringMVC
(1)编写MyBatis的配置文件,主要是将数据库的信息配置好
(2)编写Spring的配置文件ApplicationContext.xml,我们使用注解开发,首先要启用注解,启用组件扫描
2、根据数据库创建POJO,配合数据库表,两个POJO文件
3、创建Mapper,主要就是查询文章列表,文章详情,更新文章列表和文章详情;
Mapper文件内容就是mysql语句,但是有两点需要注意,字段名称最好和POJO属性名一致,方便自动映射,另外namespace名和select、update、insert的id名和service层关联紧密。
4、编写业务逻辑层
(1)编写Dao,将增、改、查的操作编写好,这里面是Java和数据的crud操作对应的
(2)编写Service,调用Dao的方法,使用mapper文件中的namespace.id将数据从数据库拿到Service层。
(3)在ApplicationContext.xml中配置MyBatis的信息,将上面mapper文件和dao文件联系起来
5、编写Controller,编写SpringMVC配置文件ApplicationContext-mvc.xml,编写web.xml中关于SpringMVC的配置信息。Controller通过浏览器请求信息和Service的方法将存入service层的数据取出来并存入request域,同时返回URL,这个URL也就是jsp的名称。ApplicationContext-mvc.xml文件需要配置注解开发,组件扫描以及视图解析器。web.xml文件要配置SpringMVC配置文件的路径以及URL格式。
6、编写视图层jsp,配置web.xml中关于视图相关信息
7、编写拦截器,主要拦截后台页面,并在ApplicationContext-mvc.xml文件中配置拦截器信息
第五步:测试,解决bug
第六步:上线:www.91photo.cc
本项目在2017年上线,当时尝试了一种新的组织模式,整个运营、开发、商务团队都是流动的,同时我们制定了合理的激励机制和股权机制,目前项目已经更新了10余个版本,早也不是原来的样子了,让这个项目一直在进行下去,也是觉得很有意思,如果你有更好的想法,欢迎交流
整个系列也算是完成了,因为时间仓促,有很多不完善的地方。