Traveller,翻译为旅行家,是我用来实践最佳web技术的项目,主题是一个给旅行爱好者提供旅行信息的网站。
目标是组合现最流行的web技术,实现符合中国用户使用习惯的网站。
相关网址
Git:https://github.com/mingziday/Traveller_Spring-Data-Rest_Angularjs
Blog:http://www.cnblogs.com/mingziday/category/712097.html
技术规划要点
1、数据库:
Mysql5
Navicat11:一款可视化操作Mysql的工具
2、编辑工具:
STS:Spring基于Eclipse封装的Spring集成开发工具
SubLime:一款非常酷的文本编辑工具
3、服务容器:
Tomcat:动态服务器
Nginx:静态文件服务器
4、后端框架
MVC:Spring MVC
持久层:Hibernate/Spring Data JPA
后端校验:Hibernate JSR303
安全:Spring Security
配置方法:全Java无xml配置
后端Restful转换:Spring Data REST(转换为json格式的数据对象)
数据库链接池:c3p0
5、前端MVC框架
(1)Angularjs:2009年出生的前端MVC神器
(2)restangular,用于处理Restful服务的第三方插件
(3)angular-ui-router,用于处理导航路由的插件
(4)ueditor,在线文本编辑器
6、前端样式框架
bootstrap
7、工程管理
Maven
webjar: 一种将前端资源文件进行打包整体发布的方法;采用nginx后,webjar应该作为静态资源被访问才对,但是jar文件无法被nginx解析,于是将webjar包解压缩,部署到单独的static目录
8、版本发布工具
git
9、缓存
spring cache/spring ehcache对象缓存
spring ehcache页面缓存
后续计划
hibernate+coherence缓存
静态文件缓存varnish
动态内容静态化(Node.js)
测试框架SpirngTest+JUnit
安装手册
1、下载工程代码
2、安装Eclipse或者STS
3、安装Maven
4、安装Tomcat
5、安装Nginx,并配置静态文件目录
6、安装Mysql5,并导入输入看脚本sql/traveller.sql
7、更改数据库连接字串
com.huawei.traveller.config.AppConfig
ds.setDriverClass("com.mysql.jdbc.Driver");
ds.setJdbcUrl(
"jdbc:mysql://localhost:3306/happycardata?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull");
ds.setUser("root");
ds.setPassword("123456");
8、编译运行发布到本地Tomcat
9、访问http://localhost/index.html