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

Traveller项目介绍的更多相关文章

  1. Hadoop学习笔记—20.网站日志分析项目案例(一)项目介绍

    网站日志分析项目案例(一)项目介绍:当前页面 网站日志分析项目案例(二)数据清洗:http://www.cnblogs.com/edisonchou/p/4458219.html 网站日志分析项目案例 ...

  2. 10年C#历程的MVP之路与MVP项目介绍

            本博客所有文章分类的总目录:http://www.cnblogs.com/asxinyu/p/4288836.html  1.意外的惊喜 10月份收到微软总部寄来的荣誉证书,非常激动, ...

  3. Openlayers+Geoserver(一):项目介绍以及地图加载

           项目验收完,趁着事情不是很多,对这个项目进行梳理.我主要负责地图模块,网站其他模块主要有两个,一个是报表,主要是100多张报表,技术没有难度,主要是工作量的问题.另一个是数据的校验,就是 ...

  4. CoinPunk项目介绍

           CoinPunk是一个bitcoin比特币钱夹服务web应用程序,你可以自己构建钱夹服务.开源,免费. 轻量级,高效 响应式设计 轻易创建新账户 详细的交易记录 构建于Node.js与H ...

  5. Android Hotpatch系列之-项目介绍

    给现实Android apk打补丁,不用强迫客户升级客户端,悄悄的就把bug修复了,程序猿再也不用被老大骂娘了. 客户端例子实现:https://github.com/fengcunhan/Hotpa ...

  6. xcode新建项目介绍

    xcode新建项目介绍 1.打开xcode选择“create a new xcode project 2.product name 工程名称 campany identifter 公司id 一般都写公 ...

  7. 斗地主算法的设计与实现--项目介绍&如何定义和构造一张牌

    本篇主要讲解斗地主中如何比较两手牌的大小. 友情提示:本篇是接着以下两篇文章就讲解的,建议先看看下面这2篇. 斗地主算法的设计与实现--如何判断一手牌的类型(单,对子,三不带,三带一,四代二等) 斗地 ...

  8. Oschat IM 开源即时通讯项目介绍 - FengJ的个人页面 - 开源中国社区

    Oschat IM 开源即时通讯项目介绍 - FengJ的个人页面 - 开源中国社区 Oschat IM 开源即时通讯项目介绍    255人收藏此文章, 我要收藏 发表于5天前(2013-08-28 ...

  9. NiftyNet项目介绍

    NiftyNet项目介绍  简述  NiftyNet是一款开源的卷积神经网络平台,旨在通过实现医学图像分析的深度学习方法和模块,支持快速原型和再现性,由WEISS (Wellcome EPSRC Ce ...

随机推荐

  1. NSRange类详解

    NSRange的定义 { NSUInteger location; NSUInteger length; } NSRange; NSRange是一个结构体,其中location是一个以0为开始的ind ...

  2. int *(*a[5])(int, char*)

    int* 表示是一个int型指针;(*a[5])(int, char*)中的a[5]表示是一个有5个元素的数组,而(*)(int, char*)则表示指向一个函数的指针,该函数有两个参数,第一个参数为 ...

  3. MYSQL之HANDLER_READ_*详细讲解

    http://www.databaseclub.com/category/performance/

  4. 第2章 数字之魅——寻找最大的K个数

    寻找最大的K个数 问题描述 在面试中,有下面的问答: 问:有很多个无序的数,我们姑且假定它们各不相等,怎么选出其中最大的若干个数呢? 答:可以这样写:int array[100] …… 问:好,如果有 ...

  5. 最新cocoapods安装流程,安装过程中遇到的问题及解决方法

    最近重新安装了一次cocoapods,参考的安装流程:http://blog.csdn.net/showhilllee/article/details/38398119/ 但是现在的cocoapods ...

  6. 深入理解 GCD

    前言 首先提出一些问题: dispatch_async 函数如何实现,分发到主队列和全局队列有什么区别,一定会新建线程执行任务么? dispatch_sync 函数如何实现,为什么说 GCD 死锁是队 ...

  7. Android进阶笔记05:View、SurfaceView 和GLSurfaceView 的关系和区别

    1.  Android游戏当中主要的除了控制类外就是显示类View.SurfaceView是从View基类中派生出来的显示类.android游戏开发中常用的三种视图是:    (1) view.Sur ...

  8. struts2.1笔记04:struts2优点

  9. 采用虚拟命名管道的字符设备和阻塞型I/O实现进程间的通信实现KWIC程序

    采用虚拟命名管道的字符设备和阻塞型I/O实现进程间的通信实现KWIC程序专业程序代写c++程序代写

  10. 【模拟,时针分针秒针两两夹角】【没有跳坑好兴奋】hdu - 5387 (多校#8 1008)

    算是最好写的一道题了吧,最近模拟没手感,一次过也是很鸡冻o(* ̄▽ ̄*)o 注意事项都在代码里,没有跳坑也不清楚坑点在哪~ #include<cstdio> #include<cst ...