桌子与灯
2017-05-22 11:25:58
精
s2sh开发的java源代码分享网(源码已开源)
具体效果可看网址(是我自己拿来练手的项目,可不是和最代码相比的
代码托管git地址
https://git.oschina.net/wisdomfei/admintwo
项目预览地址
http://www.admintwo.com/
lib包下载地址
http://pan.baidu.com/s/1bpAJxrL
项目截图:
运行截图
网站功能介绍: 1、邮件注册(采用阿里云企业邮箱),为了让大家体验一下邮箱注册功能。我已经在分享的源码中,为大家配置好了测试账户,大家可以在自己电脑上进行测试。 2、md5加密,注册用户,所有密码会以密文保存在数据库,可以保证安全。 3、代码分享功能(核心功能),该功能的主要特色是集成了优秀的文本编辑器,支持插入代码、插入链接、插入表情、插入图片、支持在线预览。同时也实现了文件上传(基于struts2的文件上传功能)。 4、代码下载,下载功能会判断用户是否下载过该代码,若下载过则不扣积分。下载功能也是基于struts2的下载模块实现的。 5、代码评论,该功能是我仿照qq空间评论功能实现的,在本站中,我是以时间倒叙方式显示的(也支持正序)。 6、代码收藏,用户可以收藏代码。 7、消息中心,分为了0系统消息、1评论消息、2兑换消息、3上传图片消息、4上传文件消息、5下载消息(用户扣除积分)、6下载消息。 8、代码中心,分为了分享代码、下载代码、评论代码、收藏代码。 9、设置功能,支持修改昵称、城市、性别、座右铭、密码、头像。 10、赞助兑换功能,支持1个赞助兑换10个积分,也支持用赞助升级称号。 11、其他功能包括:图片压缩处理功能(即使是几M的图片,压缩后也只有几十kb)。通用json处理功能(向方法中传递任何参数,int、string等,都会返回json数据,而且速度很快)。分词功能(点击某一个分享,进入详情页的时候,会对该分享名称进行分词,并且加入到head中,利于网站seo)。 可能还有一些其他功能,通过查看源码可了解。
网站技术介绍: 1、采用语言,java 2、后台框架,struts2+spring+spring JDBC 3、前台技术,layui+jquery+ajax
网站设计思路: 前台渲染是采用的jsp技术,为了保证网站的速度,我使用了几种方法: 1、我将重复的代码保存成单独的jsp文件然后引入(这样的好处就是重复的jsp文件只会加载一次,然后浏览器缓存,下次加载速度会提升)。比如,我将link和header单独提取出来,然后在其他页面进行引入: <!DOCTYPE html> <html> <%@ include file="link.jsp"%> <body> <%@ include file="header.jsp"%> 2、所有的业务功能,我都放在了html加载完成之后,利用jquery+ajax获取数据后再渲染界面(这样的好处就是给用户的感觉是网站速度很快。因为用户打开后,立马渲染html代码,此时网站结构已经出现,接着用jqury+ajx去后台获取数据。由于我的sql语句严格控制在ms级别,所以只需要几百ms,数据即可拿到,此时渲染在页面上给用户的感觉很快) 3、sql语句的控制,本站的所有sql语句,均控制在1s以下。这块我花了很长时间进行sql优化,我举个例子:为了减少数据库的访问次数,我会想方设法通过一条语句获取所有信息,并且严格控制它的执行速度,绝对不可以超过1s。首页的下载榜、评论榜、收藏榜,这三个功能的数据就是通过一条sql语句获取的:
#优化联合查询用户评论、下载、收藏的资源列表 select a.sort,a.id,r.name,a.nowtime,r.isjing,r.isyuan, ifnull(c.res_comments_num,0) as res_comments_num, ifnull(d.res_download_num,0) as res_download_num, ifnull(kp.res_keep_num,0) as res_keep_num from #sort为1代表用户评论的代码列表 (select 1 as sort,c.resources_id as id,c.nowtime as nowtime from comments c #需要指定用户 where c.user1_id = 1 group by c.resources_id union all #sort为2代表用户下载的代码列表 select 2 as sort,d.resources_id as id,d.nowtime as nowtime from download d #需要指定用户 where d.user_id = 1 group by d.resources_id union all #sort为3代表用户收藏的代码列表 select 3 as sort,k.resources_id as id,k.nowtime as nowtime from keep k #需要指定用户 where k.user_id = 1 group by k.resources_id)as a left join resources r on a.id = r.id #查询收藏数 left join (select kp.resources_id,count(kp.resources_id) as res_keep_num from resources r,keep kp where r.id=kp.resources_id group by kp.resources_id)kp on a.id=kp.resources_id #查询评论数 left join (select c.resources_id,count(c.resources_id) as res_comments_num from resources r,comments c where r.id=c.resources_id group by c.resources_id)c on a.id=c.resources_id #查询下载数 left join (select d.resources_id,count(d.resources_id) as res_download_num from resources r,download d where r.id=d.resources_id group by d.resources_id)d on a.id=d.resources_id order by sort,nowtime desc
这条sql语句我优化了很多次,目前它的平均执行时间为32ms,它所花费的时间几乎相当于简单的查询语句 select id from user。
4、为了保证代码的可读性,src下的业务功能,完全遵循面向接口开放。所有的sql语句,均放在daoimpl包下。所有的业务逻辑处理,均放在serviceimpl包下。调用规则均是:action--调用service接口--调用dao接口
5、由于使用了layui前端框架,为了保证代码清晰,每个html文件,均对应一个js文件处理,并且js文件名也和jsp文件名一一对应(非常利用修改)。
6、运行步骤:首先将代码导入到eclipse或者其他IDE,然后利用mysql数据库建一个名为admintwo的库,将admintwo.sql执行一遍。修改jdbc.properties和img.properties,其中jdbc.properties是数据库连接信息,img.properties是用户头像、分享介绍图片、分享代码压缩包文件存放路径设置文件。之后,部署运行tomcat服务器即可。
由最代码官方编辑于2017-5-22 12:19:00
猜你喜欢
- s2sh政府电子政务网站
- S2SH开发简易的购物网站源代码下载
- s2sh开发的java web开源电子商城系统,包括后台管理系统
- s2sh(struts2+spring+hibernate)框架搭建人力资源网站后台管理系统
- S2SH框架整合实现开源博客系统
- S2SH(spring+struts2+hibernate) 开发java学生信息管理网站源码下载
- s2sh+JSP开源论坛系统
- S2SH(spring+struts2+hibernate)整合开发java web开源个人博客系统源码
- s2sh框架开发的java web个人博客系统,基于maven搭建
- s2sh权限管理实例
- Spring+Struts2+Hibernate三大框架开发电子商务门户企业网站源代码下载
- 基于Struts2+Spring3+Hibernate4开发java Web企业应用开源框架s2jh源码分享
请下载代码后再发表评论
文件名:admintwo.rar,文件大小:5376.828K
下载
- /
- /admintwo
- /admintwo/src
- /admintwo/src/admintwo.sql
- /admintwo/src/applicationContext.xml
- /admintwo/src/com
- /admintwo/src/com/admintwo
- /admintwo/src/com/admintwo/action
- /admintwo/src/com/admintwo
- /admintwo/src
- /admintwo
相关代码
- 原精 S2SH(spring+struts2+hibernate)整合开发java web人事后台管理系统
- s2sh权限管理实例
- 原 s2sh政府电子政务网站
- 证精 S2SH(spring + struts2 + hibernate)整合开发java web进销存后台管理系统,前端extjs
- s2sh全注解实现的增删改查
- S2SH开发学生选课系统
- S2SH框架开发的简单demo实例
- 原 s2sh(Spring4&Struts2.3&Hibernate4)项目整合简单实例
- s2sh整合开发图书管理系统
- 寻求高质量S2SH的项目,具有标准的优化配置书写格式,用于提高学习。
- s2sh(struts2+spring+hibernate+oracle)开发java web车辆管理系统
- 精 S2SH(spring+struts2+hibernate) 开发java学生信息管理网站源码下载
最近下载
jlmarket LV22
2022年6月14日
buchifanqie LV2
2022年3月22日
陈王子 LV12
2021年10月25日
哎呀 LV1
2021年5月15日
取名字是的头疼事 LV2
2021年3月15日
xindong LV12
2021年3月2日
羞羞小子 LV13
2021年2月5日
德莱文 LV15
2021年1月24日
fbwieuhilkws LV1
2021年1月8日
今天的月白很菜 LV2
2020年12月24日
最近浏览
12345644
4月25日
暂无贡献等级
爱吃零食 LV1
2023年11月2日
2036495585 LV9
2023年9月18日
sdl924 LV1
2023年5月28日
微信网友_6494655433838592
2023年5月28日
暂无贡献等级
aobiym
2023年3月26日
暂无贡献等级
hesu2020 LV1
2023年3月18日
kevinkg LV12
2023年2月27日
xiaozhilei
2023年2月22日
暂无贡献等级
zhiwei0127 LV1
2022年12月14日