成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

拯救Java程序猿的神器:Play Framework

開發 后端
我們今天的主角就是Playframework~~像玩一樣編程, 傳說中有了它,放個猴子在電腦前都會編程了!先來看看他都有神馬本領吧。

自從選擇了做java程序猿啊!!!!!!!

于是走上了不歸路啊!!!!!!!!!!

一堆的框架要學啊!!!!!!!!!!!

一堆的配置要寫啊!!!!!!!!!!

啟動個WAS要半小時啊!!!!!!!

改個BUG還要重啟啊!!!!!!!!!

RAD、Eclipse動不動就卡得要死啊!!!!!

寫個增刪改也要一堆的接口實現設計模式啊!!!

看著人家Ruby程序猿羨慕嫉妒恨啊!!!!!

有木有!!!!!有木有!!!!!!!!

做java的程序猿你傷不起啊啊!!!!!!!

大神們終于看不下去了啊!!!!!!!

放出神器來拯救世界啊!!!!!!!!

咆哮完畢,就請我們的神器隆重登場吧~~~~~

我們今天的豬腳就是~~~~~

Playframework~~

像玩一樣編程, 傳說中有了它,放個猴子在電腦前都會編程了!

先來看看他都有神馬本領:

  • 實時編譯,不需重啟,寫好java代碼,F5刷新瀏覽器就能看到結果!
  • 完善的應用框架,從表現層到持久層完整的支持,忘記SSH吧!
  • 約定優于配置,讓繁瑣的配置文件見鬼去吧!
  • 依賴管理支持,直接使用maven倉庫里豐富的第三方組件!
  • 簡潔的HTTP數據綁定,終于可以扔掉FormBean這種惡心的東西了!
  • 強大的工具類庫,簡化一切繁瑣的傳統問題:XML、WebService、安全認證、定時任務、緩存、郵件、AJAX……
  • 組件支持,安裝新的模塊,只需要一個命令!
  • CRUD框架支持,不需代碼生成即可獲得增刪改查支持!
  • 豐富文檔,與應用一體化!
  • 還不夠?!那就自己安裝一個慢慢體會吧!

再來五個很酷的片段,展示一下play的哲學:

1.綁定HTTP參數到java方法參數

在Play框架中,獲取http參數是非常容易的事情。只需要將方法參數名與HTTP參數名一致就行了。

比如下面的HTTP請求:

/articles/archive?date=08/01/08&page=2

只需要在java方法中定義兩個名為date和page的參數就可以了

  1. public static void archive(Date date, Integer page) {  
  2.     List articles = Articles.fromArchive(date, page);  
  3.     render(articles);  

Play會自動將HTTP參數轉換為方法參數的類型

同樣,還可以綁定到java對象類型,比如這樣一個對象:

  1. public class Person {  
  2.     public String name;  
  3.     public Integer age;  

一個保存人員的方法只需要這樣寫:

  1. public static void add(Person p) {  
  2.     p.save();  

相應的HTML表單代碼:

  1. <form action="/Directory/add" method="POST">  
  2.     Name: <input name="p.name" type="text" />  
  3.     Age: <input name="p.age" type="text" />  
  4. </form> 

2.通過調用相應的java方法實現操作跳轉

在Play里面沒有JavaServlet的forward方法,但跳轉到其他的方法仍然是十分簡單。只需要調用相應的java方法,Play會自動生成HTTP跳轉的響應。

  1. public static void show(Long id) {  
  2.     Article article = Article.findById(id);  
  3.     render(article);  
  4. }  
  5.    
  6. public static void edit(Long id, String title) {  
  7.     Article article = Article.findById(id);  
  8.     article.title = title;  
  9.     article.save();  
  10.     show(id);  

在edit方法的最后,調用了show方法,這會產生一個HTTP 302跳轉,可有效的避免表單重復提交。

在任何模板文件中,可以使用相同的語法來生成這個鏈接:

  1. <a href="@{Article.show(article.id)}">${article.title}</a> 

生成的HTML代碼如下:

  1. <a href="/articles/15">My new article</a> 

3.傳遞java對象到模板中

在大多數的Java框架中,需要類似下面方法來傳遞Java對象到模板中:

  1. Article article = Article.findById(id);  
  2. User user = User.getConnected();  
  3. Map<String, Object> model = new HashMap<String,Object>();  
  4. model.put("article", article);  
  5. model.put("user", user);  
  6. render(model); 

使用Play框架,你只需要這樣寫:

  1. Article article = Article.findById(id);  
  2. User user = User.getConnected();  
  3. render(article, user); 

模板中可以直接使用變量名稱來獲取對象值,減少大量無用的代碼

4.增強的JPA支持

JPA可以說是Java里面最好的的對象-關系映射(ORM)API,Play更是將JPA的支持簡化到了極致。不需要任何的配置,Play就會自動啟動基于Hibernate的JPA實體管理器,而且在代碼重載的時候自動神奇的同步。

如果你使用框架提供的play.db.jpa.Model基類,將會使代碼更加簡潔:

  1. public void messages(int page) {  
  2.     User connectedUser = User.find("byEmail", connected()).first();  
  3.     List<Message> messages = Message.find(  
  4.         "user = ? and read = false order by date desc",  
  5.         connectedUser  
  6.     ).from(page * 10).fetch(10);  
  7.     render(connectedUser, messages);  

4.文件上傳

直接上代碼吧!

表單:

  1. #{form @uploadPhoto(), enctype:'multipart/form-data'}  
  2.     <input type="text" name="title" />  
  3.     <input type="file" id="photo" name="photo" />  
  4.     <input type="submit" value="Send it..." />  
  5. #{/} 

Java代碼

  1. public static void uploadPhoto(String title, File photo) {  
  2.    ...  

還能更簡單嗎?

原文鏈接:http://www.021128.net/2011/05/29/playframeworkintro/

【編輯推薦】

  1. Play Framework介紹:控制器層
  2. Play Framework介紹:HTTP路由
  3. Play Framework框架安裝指南
  4. Play Framework框架概述
  5. Play Framework hotswap及源碼分析
責任編輯:林師授 來源: popoer1982的博客
相關推薦

2012-02-28 17:11:31

開發周刊

2012-02-22 17:23:51

JavaPlay Framew

2012-02-23 13:13:00

JavaPlay Framew

2012-02-20 14:20:44

JavaPlay Framew

2012-03-14 09:29:00

Play framewJava

2012-02-23 13:48:16

JavaPlay Framew

2012-02-24 09:53:24

JavaPlay Framew

2012-02-20 14:26:48

JavaPlay Framew

2012-02-23 12:53:40

JavaPlay Framew

2012-02-22 16:06:42

2012-03-14 12:29:55

JavaPlay Framwo

2017-10-27 09:22:31

程序猿腦年齡測試

2012-02-23 11:06:18

JavaPlay FramewPlay!

2012-02-24 10:57:43

2011-09-09 17:01:42

框架

2012-02-20 14:41:30

JavaPlay Framew

2012-02-29 10:54:21

JavaPlay Framew

2012-02-22 15:51:22

JavaPlay Framew

2016-09-22 15:29:41

程序IT加班

2012-04-06 09:27:45

Play!Java
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩精品一区二区三区在线播放 | 欧一区二区 | 亚洲福利 | 九九热这里 | av国产精品毛片一区二区小说 | 国产精品婷婷 | 毛片99 | 日韩成人免费视频 | 日韩二区 | 91久久精品日日躁夜夜躁国产 | 午夜av毛片 | www精品 | www国产成人免费观看视频,深夜成人网 | 一区二区三区免费看 | 尹人av| 亚洲福利精品 | 不用播放器看的av | 欧美在线一区视频 | 自拍亚洲 | 男人天堂av网站 | 一区在线播放 | 国产第一页在线播放 | 日韩一区二区av | 日韩一区二区久久 | 国产亚洲精品成人av久久ww | 一区二区三区在线免费观看 | 久久亚洲欧美日韩精品专区 | 日韩欧美中文字幕在线观看 | 中文字幕日韩一区 | 欧美精品在线播放 | 国产我和子的乱视频网站 | 天天在线操 | 69精品久久久久久 | 国产高清在线视频 | 免费在线观看成年人视频 | 亚洲精品成人免费 | 成人午夜电影在线观看 | 一区二区三区高清 | 日韩午夜一区二区三区 | av在线一区二区三区 | 天天干 夜夜操 |