我的第一个 JSP (SSH) 个人网站【开源】
唠叨两句背景
相当长时间没上来发帖了,最近几个月除了完成产品经理一个又一个重复又重复的app开发任务之外,最大的工作莫过于充分利用上笔主的业余时间,系统性地跟李刚同志学习JavaEE的SSH框架开发技术,独立开发出一个完整的JSP个人网站了 XD
毕业以来两年多的Android开发之路,虽然是一路摸黑走了下来,应用开发也越来越得心应手,但是渐渐的清晰的意识到,Android虽然有自己的数据库,有自己的界面部分和逻辑处理部分,作为一个完整的系统而存在,但如果放到互联网之中也只不过跟HTML一样,只是充当着一个View的角色,大概也就是一个重量级的CS模式吧,要开发一个手机应用app,脱离服务器的支持不进行网络访问是非常不实际的,只能是闭关锁国自己跟自己玩,就像癌症末期患者,一旦发布就只剩下死路一条..
笔主从来就不是一个缺乏创意的人 :P 偶尔灵光一现积累下来的创意记录,细数也有几十条了(现在看来一半以上是垃圾呵呵),当然也不乏是针对Android的app创意,但是要实现出来除了时间和勇气之外,另一个不可回避的问题就是服务器后台支持了,也许笔主是一个没人缘的家伙,悲观的想了下,大概没有懂服务器开发的盆友愿意为了笔主的一堆垃圾创意而卖笔主这么一个人情帐(本来就没认识多少懂这块的,也舍不得花钱请人弄)。穷逼的笔主痛定思痛,决定割弃数月找女盆友的娱乐时间,亲自把服务器开发技能get√下来!
当初因为机缘巧合之下投身于Android开发事业,对Java的感情日益深厚,要弄服务器的话自然就是JavaEE了,曾经做过几个BS平台的项目,用的正是JavaEE+SSH框架,多少积累了一些印象,在百度搜刮了一段时间后,毅然选择了李刚大湿的轻量级JavaEE,钱不多,书很厚道,800页挤了140万字,后来深刻的认识到自己为了这个选择付出了多么沉重的代价..
书是从今年春节前后看完的,耗了1个月左右,总结了1.4W多字的word笔记,相当的自豪,后来因为一些原因(好吧,其实是去准备了几个月考日语证)和要完成公司领导的大Project,搁置了大半年时间,直到9月份终于又恢复自由身,感觉已经忘了差不多了,打算把笔记翻出来辅助自己把深藏不露的记忆寻找回来,看了笔记开头顿然感慨,妈的这鸟玩意写的是天书啊谁看得懂!!草花头!!!
无奈之下又花了整整一个月时间(从9月1日持续到30日,时间拿捏的很准呵呵),重新把李刚的长篇大论口水书看完了,一边看一边重新整理修葺笔记(以看完书之后又忘光回到白痴状态的笔主都能瞬间爆发小宇宙的标准来写),终于修成正果写出了3.4W汉字的巨型笔记,放个截图出来自豪一下呵呵
完事之后打算写个试验性网站,发现怎么着也得有个GUI界面吧,又懒懒的花了一个月时间在W3SCHOOL把HTML和CSS部分知识系统性的补充回来,这块不详细说了。
然后一切准备就绪,笔主正式向JavaEE网站宣战!目标当然是,笔主一直盼望已久的个人网站撸哈哈哈!
网站结构图
MySQL5.5数据库脚本
-- --------------------------------------------------------
-- 主机: 10.66.120.118
-- 服务器版本: 5.5.24-CDB-3.0.0-log - MySQL Community Server (GPL)
-- 服务器操作系统: Linux
-- HeidiSQL 版本: 9.1.0.4876
-- -------------------------------------------------------- /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET NAMES utf8mb4 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; -- 导出 wavky 的数据库结构
CREATE DATABASE IF NOT EXISTS `wavky` /*!40100 DEFAULT CHARACTER SET utf8 */;
USE `wavky`; -- 导出 表 wavky.interface 结构
CREATE TABLE IF NOT EXISTS `interface` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`description` varchar(2048) NOT NULL,
`url` varchar(4096) NOT NULL,
`request` text,
`response` text,
`addTime` bigint(20) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC; -- 数据导出被取消选择。 -- 导出 表 wavky.project 结构
CREATE TABLE IF NOT EXISTS `project` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(100) DEFAULT NULL,
`type` char(7) DEFAULT NULL,
`snapshotAddr` varchar(1024) DEFAULT NULL,
`sourceLinkAddr` varchar(1024) DEFAULT NULL,
`projectFileAddr` varchar(1024) DEFAULT NULL,
`download` int(11) DEFAULT '',
`version` varchar(30) DEFAULT NULL,
`price` float DEFAULT NULL,
`introduction` mediumtext,
`releaseDate` bigint(30) DEFAULT NULL,
`updateTime` bigint(30) NOT NULL,
`addTime` bigint(30) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC; -- 数据导出被取消选择。 -- 导出 表 wavky.user 结构
CREATE TABLE IF NOT EXISTS `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(100) NOT NULL,
`password` varchar(100) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `UK_syftr7gx86fwf7ox7bgvnnta7` (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC; -- 数据导出被取消选择。
/*!40101 SET SQL_MODE=IFNULL(@OLD_SQL_MODE, '') */;
/*!40014 SET FOREIGN_KEY_CHECKS=IF(@OLD_FOREIGN_KEY_CHECKS IS NULL, 1, @OLD_FOREIGN_KEY_CHECKS) */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
写在最后
因为笔主之前项目的一些经历导致心理阴影,网站中并未使用多少JS脚本(笔主也不太懂这块),JS部分知识来年再去补充一下吧。
鉴于笔主前端能力和兴趣有限,只能勉强兼容到IE7了,IE9的效果是最好的,还在用IE6的同学请接受笔主双手奉上的膝盖 Orz
网站代码已经开源到GitHub了,采用 NEW BSD 协议发布并追加了一些条件(看下面一段),希望得到 源码 的同学们戳这里->[doge]
网站中使用到的logo图标和笔主的wavky名字受协议保护的,不要沿用发布哇!
网站已经实际上线了,用的服务器是利用工作职务之便申请到的腾讯云大主机(扶持计划,免费用半年~咔咔咔 XD),欢迎随时参观-> http://wavky.com
关于缺少的包
由于当前网站项目是用Maven管理依赖包的,GitHub上的代码搞下来后,Maven会提示缺少ueditor和json两个包,ueditor是百度的富文本编辑器,json是org.json的编译包,可以自行分别到百度及org.json作者的GitHub里下载[doge],也可以到笔主的 官方发布帖 [doge] 里面下载现成的包(网站暂停运营期间,请从下面的追加后记文段中的链接获取)解压到自己的Maven本地仓库里
另外,网站中的百度统计JS代码(在common.js文件中)和IP访问统计代码(在每个JSP页面的<div id="visitor">里面)需要替换成自己的版本,想得到相同效果的话可以自行申请专用代码进行替换
因为网站需求比较简单,就没有单独设立service事务层了,希望能给仍在挣扎中的各位同学们带来一些参考价值 : )
最后感谢前任高班长鼎力提供 master页面 的英文翻译技术支援
本年度的目标计划算是顺利完成了,2015年继续努力!!加油吧,骚年!!!
2015.5.24追加后记
该JSP个人网站自2014年11月起至今已在线运行半年,在此感谢各位看客的支持和厚爱,由于该网站肩负的使命已经完成,并且缺乏维持服务器正常运行的资金支持,从本月27日起该网站将自动停止服务并暂时无限期下线。。
关于缺少的包
由于该网站项目使用Maven进行依赖包管理,从GitHub导入项目后会报出找不到ueditor和json两个包,下载下面的附件解压到Maven本地仓库中即可:
网站效果图(遗照,含PS成分)
2015年目标已顺利完成一半,资料汇总后发到博客文章,2016年目标待定。
END
我的第一个 JSP (SSH) 个人网站【开源】的更多相关文章
- JAVA WEB快速入门之从编写一个JSP WEB网站了解JSP WEB网站的基本结构、调试、部署
接上篇<JAVA WEB快速入门之环境搭建>,在完成了环境搭建后(JDK.Tomcat.IDE),现在是万事具备,就差写代码了,今天就来从编写一个JSP WEB网站了解JSP WEB网站的 ...
- JAVA通过poi对Excel数据在(jsp+ssh)环境下导入导出
POI的下载与安装 请到网站http://www.apache.org/dyn/closer.cgi/poi/右击超链接2.5.1.zip下载压缩包poi-bin-2.5.1-final-20040 ...
- java web(一) 使用sql标签库+tomcat+mysql手动创建一个jsp练习总结
2016-09-0111:06:53 使用sql标签库+tomcat+mysql手动创建一个jsp 1. 1.1安装tomcat ...
- 第一个JSP程序
本文介绍如何写出第一个JSP程序 1.配置服务器 (1)在eclipse中选择Server视图,(ps:很多童鞋说找不到Server,那是因为eclipse的版本问题,请下载JEE版本的eclipse ...
- JSP+SSH+Mysql+C3P0实现的传智播客网上商城
项目简介 项目来源于:https://gitee.com/2121/shop 本系统是传智播客授课时的开发案例,基于JSP+SSH+Mysql的简单网上商城.在当代开发中,SSH的使用已经逐渐被SSM ...
- 第一章 开始编写第一个jsp
第一章 搭好框架,需要tomcat服务器和jdk. JSP是Java Server Page的缩写,现在先让我们编写一个简单的jsp页面,看看jsp究竟能干什么? <%=new java.uti ...
- 在JSP页面中调用另一个JSP页面中的变量
在jsp学习中,经常需要在一个jsp页面中调用另一个jsp页面中的变量,下面就这几天的学习,总结一下. jsp页面之间的变量调用有多种方法: 1.通过jsp的内置对象—request对象获取参数: ( ...
- 推荐一个CMMI认证查询网站
随着软件企业的增多和意识的增强,越来越多公司开始做CMMI的认证评估,由于国内网速和CMMI官网的网站综合原因,打开速度超级慢. 所以本文推荐一个CMMI认证查询网站,认证后的结果查询可以点这里查询: ...
- eclipse建立一个jsp项目遇到的问题及解决
打开eclipse 在workplace 区域空白处,右键 填写好Project name,之后,点击finished 即可. 选中webcontent,新建一个文件夹,并新建一个jsp 文件 新建 ...
随机推荐
- 文件件监听器,android系统拍照功能调用后删除系统生成的照片
先说说要实现的功能: android调用系统拍照功能实时 预览 删除 上传 保存 (用户不能再本地文件夹中看到拍的照片) 再说说遇到的问题: 1.调用系统拍照在系统自带的拍照文件夹中生成一张随机命名图 ...
- [Linux 存储管理] LVM结构
linux的LVM灵活且功能强大,当然越强大的就越难理解.lvm和硬盘大致关系应该如下,如果有误请大家左证. lvm中快照功能强大到,很多db的备份都依赖于这个功能,所以不能不理解和熟悉. <鸟 ...
- 第三题 有如下Student 对象, private String name; private int age; private int score; private String classNum; 其中,classNum 表示学生的班号,例如“class05”。 有如下List List list = new ArrayList();
list.add(new Student("Tom", 18, 100, "class05")); list.add(new Student("Jer ...
- java:comp/env/jdbc/ 的两种配置方法
1. 在 META-INF 下建立文件: context.xml <?xml version="1.0" encoding="UTF-8"?> &l ...
- InnoDB源码分析--缓冲池(三)
转载请附原文链接:http://www.cnblogs.com/wingsless/p/5582063.html 昨天写到了InnoDB缓冲池的预读:<InnoDB源码分析--缓冲池(二)> ...
- 怎么使PUTTY一直连接
如何才能保证PUTTY一直连接,即使我们好长时间不去敲命令,也让它一直连接着? PuTTY的设置方法是:在Connection里面有个Seconds between keepaliaves.这里就是每 ...
- 初涉Linux ----------> 打造自己的 Vim IDE
一. 开篇前言 (图片显示越界的话,请刷新) 装好Ubuntu15.04系统之后呢,玩了玩 Ubuntu,感觉还是很不错的.比windows快,一开机就可以打开你想要的程序,但是在windows下你 ...
- hdu Dylans loves tree [LCA] (树链剖分)
Dylans loves tree view code#pragma comment(linker, "/STACK:1024000000,1024000000") #includ ...
- stm32之NVIC
非本人原创,转载自http://blog.csdn.net/denghuanhuandeng/article/details/8350392 STM32的NVIC理解 例程: /* Configur ...
- 自定义评分器Similarity,提高搜索体验(转)
文章转自:http://blog.csdn.net/duck_genuine/article/details/6257540 首先说一下lucene对文档的评分规则: score(q,d) = ...