国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

10分鐘用Play!在GAE上實現(xiàn)一個Blog

開發(fā) 后端
做這個,是因為在JavaEye上看到看到一篇文章《Play!跑在GAE上,小試GAE》,里面討論了一個新的Java On Rails式框架,來自法國的Play!

做這個,是因為在JavaEye上看到看到一篇文章《Play!跑在GAE上,小試GAE》,里面討論了一個新的Java On Rails式框架,來自法國的Play!(http://www.playframework.org/ )。大概看了下這個框架的介紹,的確很優(yōu)秀,舉點比較cool的特點:

  • Bind an HTTP parameter to a Java method parameter: 就是說,可以在URL上直接調用Controller里面的方法;
  • Redirect to an action by simply calling the corresponding Java method:這個不用解析了;
  • Don't Repeat Yourself when passing Java objects to templates: 也就是說,從controller往View傳數(shù)據(jù),不需要把object放在map里面,可以類似:render(titile, article, user);這樣做,就是Java5里面的動態(tài)參數(shù)的使用啦;
  • Straightforward file upload management;
  • Distribute an application to several JVMs without configuring anything;
  • Fix the bug and hit Reload: 這個無敵,大概就是說,修改程序后,直接reload程序就好,框架自動編譯程序,因為這個框架內部帶了個Container,所以可以做到這個。這個有點像把Java給動態(tài)化了,調試起來省不少事;
  • 另外就是多個plugin可以使用等等。

大概看了下這個框架,感覺蠻好的,但那篇文章里面討論的主要是,Play!集成在GAE里面的一些問題,這個框架帶了個非常非常簡單的Blog程序,就沒法部署到GAE上面成功。很容易理解,GAE閹割過JDK和對JPA的支持是不完善的。我申請GAE賬號很長時間了,但沒有玩過,剛好兩個一起研究一下。

其實GAE的局限主要是:

  1. 底層是基于Big Table的,完全不是關系型的結構,讓他完全支持JPA的復雜關聯(lián)關系,太吃力了,所以GAE是不能支持Owned relationship和Many to many owned relationship的,也就是一對多,多對多關系不能支持,官方建議自己建立key,程序里面維護關聯(lián)關系。Blog這個sample程序,因為存在這Post和Comment兩個實體,兩者之間是一對多的關系,所以GAE是不能支持的,解決方法很簡單,把原來的JPA定義方法去掉,Comment 里面加個postId的屬性,添加comment時,把這個填上就okay了。
  2. GAE限制了java.net.Inet.*這些class,所以Play!自帶的ehcache1.5版本是用不了的;ehcache1.6聲稱支持GAE了,那就下個ehcache-1.6.0.jar替代掉原來Play!自帶的那個。
  3. GAE里面規(guī)定,選取出來的entity不能修改,所以Blog的那個sample里面那種:
  1. posts.remove(post);  
  2. Collections.reverse(posts); 

是不能用的,需要拿出來自己用其他collection里面做,或者在Query的時候排序和過濾。這個限制其實也不麻煩,只是這種設計不適合xxx on rails思想而已,如果是比較早期接觸J2EE的話,這個不會陌生。Model定義那幾個東西,是直接操作數(shù)據(jù)庫的,也就是我們說的PO,傳統(tǒng)的J2EE上面,PO是不可以在Contrioller層操作的,在下面上來的數(shù)據(jù)需要轉為VO才能操作,才能扔給View~這就是DTO模式。Apache的beanutil可以做這個事情,但是這只是個例子,直接setter,getter就可以了。。。 這里給出一個解決方法:在Play!里面建個vo的包,建一個PostVo,然后用以下代碼替代上面那兩句,

  1. List<Post> posts = Post.findAll();  
  2. Iterator<Post> postIt = posts.iterator();  
  3. List<PostVo> otherPosts = new ArrayList<PostVo>();  
  4. while (postIt.hasNext()) {  
  5.       Post postItem = postIt.next();  
  6.       if (postItem.id.longValue() != id.longValue()) {  
  7.           PostVo postVo = new PostVo();  
  8.           postVo.setId(postItem.id);  
  9.           postVo.setTitle(postItem.title);  
  10.           postVo.setContent(postItem.content);  
  11.           postVo.setDate(postItem.date);  
  12.           otherPosts.add(postVo);  
  13.      }  
  14. }  
  15.       Collections.reverse(otherPosts); 

當然在view里面要用otherPosts來替代posts,迭代otherPosts就可以了~

經過測試,Blog那個例程已經可以跑起來,可以通過這個網(wǎng)址測試:http://laynezone.appspot.com

 

總  結:

 

Play!這個框架我是蠻喜歡的,難得看到Java有類似的快捷框架出現(xiàn),如果場合合適的話,值得考慮使用。另外,GAE,在持久化那部份限制蠻多的,但是可以理解,畢竟Google底層的持久化結構并不是關系模型。能夠把JPA實現(xiàn)到這個程度,已經很好了~

 

既然客觀原因不能改變,我們就自己改變去適應它,畢竟withod RMDB已經喊了很長時間,其實只要觀念稍變下,就好了~

 

由于,我看GAE和Play!兩個東西的時間,就是今天(周五)下班到八佰伴吃完個飯回家到現(xiàn)在,不足1個小時,也沒研究Play!的源代碼,所說之處,難免有錯,請大家互相交流~

原文鏈接:http://blog.csdn.net/laynepeng/article/details/4338873

【編輯推薦】

  1. Play Framework 2.0 RC1發(fā)布 Java Web框架
  2. Java容器類分析之List ArrayList Vector
  3. 有可能挑戰(zhàn)Java優(yōu)勢的四種技術
  4. Think in Java之斐波那契數(shù)列
  5. Java的poi技術讀取和導入Excel
責任編輯:林師授 來源: laynepeng的博客
相關推薦

2011-01-21 10:30:46

2023-05-27 21:13:34

FlaskURL裝飾器

2022-06-28 12:35:21

DockerPython

2024-09-02 00:03:00

tabs組件CSS

2025-03-26 01:35:00

tabs開發(fā)組件

2021-08-09 10:36:49

Python搜索引擎命令

2021-07-29 23:29:55

web服務器開發(fā)

2021-07-15 06:43:11

Bash調試腳本

2020-10-30 15:04:16

開發(fā)技能代碼

2022-01-06 18:20:20

Scarlet AndroidWebSocket

2020-07-25 19:40:33

Java開發(fā)代碼

2013-09-13 14:08:01

2015-09-18 19:38:01

BlackHatSQLChop

2023-10-12 11:48:18

SkyWalking工具

2020-08-07 15:43:03

Python表格代碼

2020-10-13 18:22:58

DevOps工具開發(fā)

2014-08-08 09:30:04

android scrollview

2021-04-23 09:50:41

topLinux命令

2025-07-21 06:20:00

編程開發(fā)Kubernetes

2022-01-17 09:01:23

NodeJS數(shù)據(jù)服務器Mock
點贊
收藏

51CTO技術棧公眾號

欧美日韩激情视频| 亚洲欧美日韩国产成人精品影院 | 97视频在线免费| 68国产成人综合久久精品| 欧美日韩福利电影| sis001欧美| 欧美色综合影院| 99精品老司机免费视频| 色偷偷久久人人79超碰人人澡| 免费观看又污又黄在线观看国产| 亚洲视频免费在线观看| 国产1区2区视频| 亚洲综合免费观看高清完整版在线| 69国产精品| 一区二区三区国产豹纹内裤在线| 国产视频一二三| 亚洲午夜激情网站| 免费黄色在线视频网站| 欧美亚洲尤物久久| 黄色免费网站在线观看| 欧美成人精品二区三区99精品| 国产激情在线视频| 精品久久久久久久久久久院品网| 中文在线观看免费| 精品三级在线观看| 久草免费在线视频| 在线看欧美日韩| 国产免费区一区二区三视频免费| 97色在线观看| 99久久精品费精品国产| 国产综合欧美在线看| 捆绑紧缚一区二区三区视频| 妞干网视频在线观看| 久久久久久久网| julia中文字幕久久亚洲蜜臀 | 免费成人高清| 91久久久免费一区二区| 羞羞网站在线免费观看| 国产一区二区三区在线看| 久久麻豆视频| 国产精品高清在线| 在线观看亚洲| 国内少妇毛片视频| 伊人开心综合网| 免费看美女视频在线网站| 亚洲人成电影网站色…| 久久1电影院| 国产福利一区二区三区在线观看| 蜜臀av亚洲一区中文字幕| 东京热加勒比无码少妇| 亚洲成人激情综合网| 日本不卡影院| 国模精品视频一区二区| 好看的av在线不卡观看| 国产精品三级一区二区| 国产精品国产三级国产普通话99| 日本午夜在线| 亚洲精品国精品久久99热| aaa国产精品视频| 69堂成人精品视频免费| 高清shemale亚洲人妖| 污污免费网站| 亚洲风情亚aⅴ在线发布| 久久影院一区二区三区| av在线不卡观看| 久久综合网色—综合色88| 深夜福利在线观看直播| 国产一区二区三区在线观看网站| 欧美黄色大片在线观看| 韩日视频在线观看| 欧美性感一类影片在线播放| 国产麻豆精品| 国产一区精品视频| 国产精品久久久久久久久免费樱桃| 日本不卡三区| 91超碰caoporn97人人| 性欧美长视频| 女人高潮特级毛片| 国产亚洲成精品久久| 9191国语精品高清在线| 国产精品欧美激情在线观看| 91精品一区二区三区久久久久久 | 欧美精品18videos性欧| 老色鬼久久亚洲一区二区| 香港日本韩国三级网站| 日韩欧美国产综合一区| 日本精品三区| av免费播放网址| 精品久久久久久久一区二区蜜臀| 日韩电影一区| mm1313亚洲国产精品无码试看| 日韩欧美一二三区| 99精品在线免费在线观看| 欧美午夜aaaaaa免费视频| 亚洲三级 欧美三级| 国产精品久久久久9999高清| 最新精品视频在线| 久久久久久久久久久人体| 国产成a人亚洲| 精精国产xxxx视频在线中文版| 成人精品久久一区二区三区| 国产精品电影一区二区三区| 台湾天天综合人成在线| 26uuu成人| 亚洲二区中文字幕| 久久精品日韩欧美| 最新av网站在线观看| 国产狼人综合免费视频| 亚洲色图20p| 国产精品一级在线观看| www.av91| 亚洲人成在线播放| 久久www免费人成看片高清| 最新真实国产在线视频| 成人黄色片在线| 一区二区在线观看视频| 久久动漫网址| 免费羞羞视频| 欧美专区第一页| √…a在线天堂一区| 精品国产导航| 香蕉521av成人网| 91禁外国网站| 亚洲欧洲www| 林ゆな中文字幕一区二区| 无人在线观看的免费高清视频| 久久精品国产欧美激情| 成人av免费在线观看| 九九九精品视频| 18禁男女爽爽爽午夜网站免费| 久久亚洲精品网站| 国产精品麻豆一区二区| 久久精品凹凸全集| 777视频在线| 日本在线精品视频| 亚洲视频网在线直播| 精品国精品国产自在久国产应用| 97影视大全免费追剧大全在线观看| 国产精品美腿一区在线看| 天天综合色天天综合| 国产综合婷婷| 怡红院在线观看| 亚洲高潮无码久久| 在线视频日本亚洲性| 久久天天做天天爱综合色| 精品av导航| 亚洲kkk444kkk在线观看| 99视频在线播放| 欧美一级二级在线观看| 国产一区视频网站| 国产精品久久久久久久久久辛辛| 亚洲污视频在线观看| 国产精品扒开腿做爽爽爽男男 | 免费人成在线不卡| 蜜桃视频动漫在线播放| 蜜桃传媒一区二区三区| 久久久久久久久久久人体| 亚洲成人中文在线| 99伊人成综合| 欧美123区| 浪潮av在线| 欧美日韩高清在线一区| 日韩在线不卡视频| 亚洲不卡在线观看| 久久99日本精品| 欧美日日夜夜| 在线中文免费视频| 五月婷婷狠狠操| 成人综合电影| 国产中文欧美日韩在线| 精品中文字幕一区二区小辣椒| 一二三中文字幕在线| 日本福利一区二区三区| 色偷偷9999www| 一区二区三区毛片| 久久久久91| 免费精品一区| 国产毛片在线看| 欧美在线一区视频| 国产日韩精品在线观看| 精品国产髙清在线看国产毛片| 久久久噜噜噜久久人人看 | 91国语精品自产拍在线观看性色 | 久久综合电影一区| 五月天丁香久久| 久久久久久色| 99re热精品视频| 成人在线免费观看| 黄色动漫在线免费看| 97netav| 久久精品福利视频| 欧美日免费三级在线| 日本一区二区三区四区| 久久字幕精品一区| 国产91久久精品一区二区| 国产黄色大片在线观看| 992tv在线观看免费进| 欧美日韩成人免费视频| 精品国产一区二区三区免费 | 日韩欧美激情|