个人网站建设(适合Java初学者)(一)
概述
作为一个在八本学校在校生,没有实验室,也没有项目可做。一直想做一个个人博客,一年前学完javaweb之后做了一个简单的博客,ui惨不忍睹就算了,还有各种bug。酝酿了很久,寒假用了将近一个月时间做出了现在这个网站,本项目致力于打造一个高并发,高可用,高性能的网站,由于本人实力有限,目前还是初期阶段,不过我会一直更新。。。
首页
UI是基于欲思主题改造的。在页面上花费了很多时间,为了增强用户体验,引用了很多花里胡哨的插件,同时有专门的文件服务器用来存储图片和js/css文件,大大提高了网站的响应速度度。同时后台也采用了Tomcat集群与Redis分布式来提高网站的性能。当然好的项目都不是一蹴而就的,本项目仍然有很多问题,我会继续努力完善。源码地址 https://github.com/liqianggh/blog
引用的插件:
①wowslider-----PPT似的轮播图效果
下载wow slider软件只需添加图片 选定模版和切换效果就可以生成一个炫酷的首页轮播图。同时,如果想更换特效,重新生成一个复制其中script.js到项目中替换旧版本即可。
②3D效果标签云
忘记在哪里找的了,不过github上和百度搜索中都能找到。
③Editor.md一款开源的、可嵌入的 Markdown 在线编辑器(组件)(用户后台管理系统)
支持实时预览,图片上传,html代码生成等一系列功能...
④readingTime.js计算阅读时间的插件
原项目不支持中文,然后手动进行了优化,加上了中文选项,对空格,换行等进行了计算。虽然计算结果还不够准确,但是用起来感觉还挺有意思。
④畅言社会化评论系统
告别手写评论模块的尴尬局面,畅言的留言版,打赏。。。用这都还可以,唯一缺点就是影响页面加载速度。
二、技术选型与系统架构
*后端技术:
技术 | 名称 | 版本 | 官网 |
---|---|---|---|
Spring Framework | web容器 | 4.0.3Release | http://projects.spring.io/spring-framework/ |
SpringMVC | MVC框架 | 4.0.0 | http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#mvc |
SpringSession | 分布式Session管理 | 4.0.0 |
http://projects.spring.io/spring-session/ |
MyBatis | ORM框架 | 3.4.1 | http://www.mybatis.org/mybatis-3/zh/index.html |
MyBatis-Generator | mapper.xml以及pojo代码生成 | 1.3.2 | http://www.mybatis.org/generator/index.html |
PageHelper | MyBatis分页插件 | 4.1.0 | http://git.oschina.net/free/Mybatis_PageHelper |
Redis | 分布式数据缓存 | 2.8 | https://redis.io/ |
MySql | 数据库 | 5.1/5.5 | https://www.mysql.com/ |
Maven | 项目构建管理 | 3.0.5 | http://maven.apache.org/ |
Logback | 日志系统 | 1.1.2 | https://logback.qos.ch/ |
Nginx | 反向代理 | 1.10.2 | http://nginx.org/ |
lombok | 代码简化工具 | 1.16.18 | https://projectlombok.org/ |
Vsftpd | 文件服务器 | 2.2.2 | http://www.rpmfind.net/ |
Git | 版本控制工具 | 2.8 | https://git-scm.com/ |
*前端技术:
技术 | 名称 | 官网 |
---|---|---|
jQuery | 函数库 | http://jquery.com |
Font-awesome | 字体图标 | http://fontawesome.io/ |
Editor.md | 在线Markdown文本编辑器 | https://github.com/pandao/editor.md |
*环境配置
CentOS6.8 + JDK1.7+MySQL5.1+Maven3.0.5+Nginx1.10.2+Git2.8+Tomcat7+Redis2.8+Vsftpd2.2.2
三、系统架构
个人网站建设(适合Java初学者)(一)的更多相关文章
- java客房管理小项目,适合java小白练手的项目!
java客房管理小项目 这个客房管理小项目,适合java初学者练手.功能虽然不多,但是内容很齐全! 喜欢这样文章的可以关注我,我会持续更新,你们的关注是我更新的动力!需要更多java学习资料的也可以私 ...
- 大型网站系统与Java中间件实践
大型网站系统与Java中间件实践(贯通分布式高并发高数据高访问量网站架构与实现之权威著作,九大一线互联网公司CTO联合推荐) 曾宪杰 著 ISBN 978-7-121-22761-5 2014年4 ...
- 21天网站建设实录 (雨辰资讯) 高清pdf扫描版
<21天网站建设实录>以网页设计师的项目开发为背景,以“阿里里在线购物”商业网站的开发过程为流程,通过21天的任务期限,以一天一项任务.一天掌握一项技能项目实战的学习模式,全面讲解了一个网 ...
- 对Java初学者的忠告
1) 适合自己的图书才是最好的,最好的书并不一定适合你,看自己的情况. 如果你是一个Java初学者一上手就捧一本Thinking in Java在手里,我想你的日子是不会好过的,那样的书给有一定基础的 ...
- 一位资深程序员大牛给予Java初学者的学习路线建议
java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议?今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈 ...
- 网站建设底层知识Socket与Http解析
在进行网站建设的时候,常常遇到不同的协议,Socket和http协议都可以实现数据传输,但两种传输方式在网站建设中有什么各自的特点,和缺点,如何选择合适的传输方式. 1 数据传输方式 1.1 Soc ...
- 新书:《Liferay Portal 6.1最佳实践门户网站建设》
新书:<Liferay Portal 6.1最佳实践门户网站建设> <Liferay Portal 6.1门户站点建设最佳实践>是国内第一本全面介绍Liferay Port ...
- 一位资深程序员给予Java初学者的学习路线建议
一位资深程序员给予Java初学者的学习路线建议 java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议?今天我是打算来点干 ...
- 转载:一位资深程序员大牛给予Java初学者的学习路线建议
一位资深程序员大牛给予Java初学者的学习路线建议 java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议?今天我是打 ...
随机推荐
- Java中调用文件中所有bat脚本
//调用外部脚本String fileips=null;//所有的路径String[] files=null;String fileip=null;//单个路径try { InputStream is ...
- ASP.NET MVC上传图片的奇怪问题
本文来源于博客园-钱智慧,转载请注明出处 表现:客户说就华为的手机有问题,而且是在QQ里打开有问题,如果在手机的浏览器上,则可以正常上传图片. 有问题的代码如下: private ResultMode ...
- generator生成器iterator遍历器和yield
generator方法()返回一个iterator 使用generator时永远先去调用generator()方法 for of对iterator的调用过程(babel参照) 1,_iterator. ...
- X509证书认证流程介绍
X509证书介绍X.509 是由国际电信联盟(ITU-T)制定的数字证书标准,相信这是人尽皆知的了,目前X.509证书据我所知有三个版本,.net中使用的是x.509-2,X.509-2 版引入了主体 ...
- 【漏洞】PHPCMS_V9.6.0 前台注册GETSHELL
首先准备一台公网服务器,在上面新建一个一句话的txt文件.如下: 接着打开目标网站,点击注册,填写信息后点击提交,拦截该数据包. 将其中post提交的数据替换成我们的poc,poc如下: siteid ...
- js先后对某个js对象内的两个属性排序
需求 列表中先根据某id进行排序,然后id相同的再按某属性进行排序.最终显示效果如图所示: 实现代码 var data.items = [ {'brand_id':1,'farm_id':2}, {' ...
- JS时间处理由CST格式转成GMT格式时间
问题描述:js接收java后台的时间数据时,时间格式的CST时间,而js默认的是GMT时间格式,js 需要对这个时间进行处理才能使用,具体处理方法如function dateToGMT(sDate){ ...
- 深入理解Java对象的创建过程:类的初始化与实例化
摘要: 在Java中,一个对象在可以被使用之前必须要被正确地初始化,这一点是Java规范规定的.在实例化一个对象时,JVM首先会检查相关类型是否已经加载并初始化,如果没有,则JVM立即进行加载并调用类 ...
- Vue 知识复习(上)
Vue Vue实例 创建实例: var vm = new Vue({ //code }) 数据与方法: 只有当实例被创建时 data 中存在的属性才是响应式的; Vm.b = 'h1' 是不会触发视图 ...
- 微信app支付详细教程
微信支付作为三大支付之一,越来越多的客户要求产品中添加微信支付 但是网上能找到可用的demo很少 所以写一篇自己写微信支付的过程,希望能给有需要的开发者一点帮助. 下面让我们来进入正题 1准备工作 ...