日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
拯救Java程序猿的神器:PlayFramework

自從選擇了做java程序猿?。。。。。。?!

于是走上了不歸路?。。。。。。。。。。?/p>

一堆的框架要學(xué)?。。。。。。。。。。?!

一堆的配置要寫?。。。。。。。。。?!

啟動個WAS要半小時?。。。。。。?!

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

RAD、Eclipse動不動就卡得要死?。。。。?!

寫個增刪改也要一堆的接口實現(xiàn)設(shè)計模式啊?。?!

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

有木有?。。。?!有木有!?。。。。。?!

做java的程序猿你傷不起啊?。。。。。。。?/p>

大神們終于看不下去了?。。。。。。?!

放出神器來拯救世界?。。。。。。。?!

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

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

Playframework~~

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

先來看看他都有神馬本領(lǐng):

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

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

1.綁定HTTP參數(shù)到j(luò)ava方法參數(shù)

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

比如下面的HTTP請求:

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

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

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

Play會自動將HTTP參數(shù)轉(zhuǎn)換為方法參數(shù)的類型

同樣,還可以綁定到j(luò)ava對象類型,比如這樣一個對象:

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

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

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

相應(yīng)的HTML表單代碼:

 
 
 
  1.     Name: 
  2.     Age: 

2.通過調(diào)用相應(yīng)的java方法實現(xiàn)操作跳轉(zhuǎn)

在Play里面沒有JavaServlet的forward方法,但跳轉(zhuǎn)到其他的方法仍然是十分簡單。只需要調(diào)用相應(yīng)的java方法,Play會自動生成HTTP跳轉(zhuǎn)的響應(yīng)。

 
 
 
  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);
  11. }

在edit方法的最后,調(diào)用了show方法,這會產(chǎn)生一個HTTP 302跳轉(zhuǎn),可有效的避免表單重復(fù)提交。

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

 
 
 
  1. ${article.title}

生成的HTML代碼如下:

 
 
 
  1. My new article

3.傳遞java對象到模板中

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

 
 
 
  1. Article article = Article.findById(id);
  2. User user = User.getConnected();
  3. Map model = new HashMap();
  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.增強(qiáng)的JPA支持

JPA可以說是Java里面最好的的對象-關(guān)系映射(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 messages = Message.find(
  4.         "user = ? and read = false order by date desc",
  5.         connectedUser
  6.     ).from(page * 10).fetch(10);
  7.     render(connectedUser, messages);
  8. }

4.文件上傳

直接上代碼吧!

表單:

 
 
 
  1. #{form @uploadPhoto(), enctype:'multipart/form-data'}
  2.     
  3.     
  4.     
  5. #{/}

Java代碼

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

還能更簡單嗎?


文章題目:拯救Java程序猿的神器:PlayFramework
文章網(wǎng)址:http://www.5511xx.com/article/dphogei.html