该系统目前只兼容新版本浏览器,如果你要使用本系统,请使用chrome全系,firefox全系,IE10+,Safari全系,Opera全系等;
欢迎来Q - Q群讨论:431040030(请注明Java等字样),可在群里下载整个项目源码
技术路线
小小系统的背后,它可蕴藏着诸多好玩的技术哦:)
- 基于JSPTagEx框架全程功能点探索的项目:缓存,AOP,Rewrite,高可读URI等;
- SPA:真正全程Ajax,相比MPA网页应用,他的开发难度不是大了一点点哦:)
- Restful API:Get,Put,Post,Delete请求标准化,只有现代浏览器才全支持哦:)
- HTML5:有好玩的HTML5特有技术哦,你发现了么:)
- Web推送
- 一次登录,永久使用;
源码分享
伦理片 http://www.dotdy.com/
首先需要一个能支持SPA开发的js框架,我们选用了Backbone,在后台方面,需要将所有请求转发到一个servlet来处理,代码如下:
这里用到了框架的***,表示所有teams前缀的请求都拦截到这个servlet处理,在js方面定义route:
- $.webApp.AppRouter = Backbone.Router.extend({
- routes: {
- '': 'root',
- 'teams/auth/logout': 'logout',
- 'teams(/:pageid)': 'goPage',
- 'teams/project/edit(/:id)':'goProjectEdit',
- 'teams/project/create':'goProjectCreate',
- 'teams/project(/:id)':'goProject',
- },
- initialize: function() {
- },
- logout:function(){
- $.get("/restful/api/user/logout",function(json){
- location.reload();
- });
- },
- root: function() {
- Backbone.history.navigate("teams/myindex", { trigger: true });
- },
- goPage: function(pageid) {
- if(pageid == "myindex"){
- if($.webApp.teamList == undefined || $.webApp.teamList.length == 0){
- $("h3[action=showmyteam]").text("尚未加入Team");
- var html = _.templateFromUrl('/restful/teams/template?pagename=belong_zero_team');
- $("#container").html(html());
- }
- else{
- $("#container").html(new $.webApp.TemplateView(pageid).render().$el.html());
- }
- }
- else{
- $("#container").html(new $.webApp.TemplateView(pageid).render().$el.html());
- }
- $.webApp.initMenu(function(){
- if(pageid == "sql_execute"){
- pageid = "sql";
- }
- if(pageid == "weekly"){
- pageid = "log";
- }
- $.webApp.openMenu(pageid);
- });
- },
- goProject:function(id){
- $("#container").html(new $.webApp.TemplateView("project", {prjid:id}).render().$el.html());
- $.webApp.initMenu(function(){
- $.webApp.openMenu("index");
- });
- },
- goProjectCreate:function(){
- $("#container").html(new $.webApp.TemplateView("new_project",{prjid:""}).render().$el.html());
- $.webApp.initMenu(function(){
- $.webApp.openMenu("index");
- });
- },
- goProjectEdit:function(id){
- $("#container").html(new $.webApp.TemplateView("new_project",{prjid:id}).render().$el.html());
- $("#psuhBtn").html("保存项目");
- $.webApp.initMenu(function(){
- $.webApp.openMenu("index");
- });
- }
- });
影音先锋电影 http://www.iskdy.com/