精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Java開發框架Play框架快速入門

開發 后端
目前,Ruby on Rails及Grails等動態腳本語言正發展得如火如荼,而在以Java為首的開源最大陣營中,也出現了各種框架。其中最著名的就是Play框架(http://download.playframework.org)。

Play 框架是一個完整的 Web 應用開發框架,覆蓋了 Web 應用開發的各個方面。它借鑒了流行的 Ruby on Rails 和 Grails 等框架,又有自己獨有的優勢。具體表現在以下幾個方面:其一,通過 Play 框架提供的命令行工具,可以快速創建Java Web 應用。其二,它擁有Java 代碼動態編譯機制,在修改代碼之后,不需要重啟服務器就可以直接看到修改之后的結果。其三,它還使用 JPA 規范來完成領域對象的持久化,可以很方便的使用不同的關系數據庫作為后臺存儲。其四,它使用 Groovy 作為視圖層模板使用的表達式語言。模板之間的繼承機制避免了重復的代碼。總的來說,Play 框架非常適合快速創建Web 應用開發。本文將為有一定Java Web框架基礎的讀者,來重點介紹如何使用play框架來編制一個最簡單的信息增刪改查應用。

一、安裝Play框架

安裝play框架前,只需要使用JDK 1.5以上的版本即可,將官網上的play框架下載后解壓到某個指定目錄下,使用的是eclipse開發工具即可。在本文中,將介紹的例子,是一個關于公司、部門、員工之間的CRUD操作,其關系為:一個公司有很多部門,一個部門有很多個員工。

二、開始使用PLAY框架的腳手架功能

PLAY框架為能讓用戶快速開始搭建play系統的原型。下面是使用play中腳手架功能的步驟:

在命令行方式下,轉到play框架的安裝目錄,本文假設為c:\play下。

假設我們的應用的名稱為corporations,則在play中,新建立一個應用只需要用如下命令即可:  play new corporations,其中new表示新建應用,new后的名稱則為應用的名稱。

在輸入上面的語句后,會提示輸入確認系統的名字,這里輸入corporations,按回車確認即可。

我們使用cd corporations目錄中,會發現已經有play自帶的框架的內容了。我們可以在命令行方式下,執行play run,這時play就會啟動自帶的jetty服務器,將應用啟動起來。

在啟動后,可以通過瀏覽器瀏覽剛才新建的應用了,方法是http://localhost:9000,就可以看到一個默認的play應用,其中顯示的首頁中,簡單指導了一些簡單的配置方法。如下圖:

 

 

三、配置應用 將框架工程導入eclipse

我們為了要在eclipse中方便我們的編碼,所以需要把play剛為我們建立好的框架工程導入到我們的eclipse中去,所以我們按如下步驟去做:

1 使用CTRL-C,先把我們正在運行的應用停止下來。

2 依然在corporations目錄下,輸入play eclipse,表示要生成能導入eclipse的框架工程。

3 再啟動eclipse ,然后使用導入工程的方法,把corporations工程導入。

4在這個例子中,用的只是HSQL,所以打開conf/application.conf文件,將下面的

db=mem 語句前的注釋符號去掉,表示我們將使用hsql。

5 同樣,在conf/application.conf文件中,增加如下這行,表示我們將使用play腳手架框架自帶的CRUD功能:

  1. module.crud=${play.path}/modules/crud 

6 在conf/routes文件中,增加如下這行:

  1. * /admin module:crud 

注意,在play框架中,routes是路由控制器,這行表示,將所有的CRUD操作都是只有通過 */admin訪問的請求,才能實現play自帶的CRUD功能。

7 在進行上述修改后,我們再到命令行方式下,運行play eclipse,然后再到ECLIPSE下按F5刷新一下

8 如果此時再使用play run,運行會發現暫時還沒有更新,因為我們要進行數據層的配置。

四、創建員工實體對象和控制層

Play框架完全遵守MVC分層架構標準,因此我們按照MVC的分層來設計我們的引用。我們先創建員工實體對象和其控制層。

首先,在eclipse的corporations工程中,在app/models目錄下,新建Employee類,代碼如下:

  1. Package models;  
  2.   import java.util.Date;  
  3.   import javax.persistence.*;  
  4.   import play.db.jpa.Model;  
  5.   @Entity 
  6.   public class Employee extends Model {  
  7.   public String fullName;  
  8.   public Integer salary;  
  9.   public Date dateOfHire;  
  10.   } 

在Play框架中,默認使用的是jpa注解標準,使用@Entity注解,說明該類是屬于實體類,這里都是繼承了play自己的模型層基類Model,這里由于是示例,只是列出了三個對象的屬性。

接下來,在app/controllers中,創建員工類的控制層文件,代碼如下

  1. package controllers;  
  2.   public class Employees extends CRUD  
  3.   { // an empty class  
  4.   } 

這里看到,控制層文件的命名是Employees,使用的是PLAY框架優先約定的命名規則:實體類的復數形式。并且這里繼承了Play中自帶的CRUD基類的功能,這樣,就可以在我們的應用中輕易使用到PLAY自帶的CRUD功能了。

現在我們馬上來運行下應用,依然輸入play run,再在瀏覽器中輸入:

http://localhost:9000/admin即可看到如下的效果:

 

 

這個時候,點Add按鈕,就可以增加員工了。

五、創建部門實體類和部門控制層

接下來,我們繼續創建部門實體類和部門控制層的文件。同樣,在app/models目錄下,新建立Department類,如下:

  1. package models;  
  2.   import javax.persistence.*;  
  3.   import play.db.jpa.Model;  
  4.   @Entity 
  5.   public class Department extends Model {  
  6.   public String name;  
  7.   public String description;  
  8.   }  

同樣在app/controllers目錄下,創建控制層文件Departments,代碼如下:

  1. package controllers;  
  2.   public class Departments extends CRUD {  
  3.   } 

這個時候,再次運行play run,會發現使用http://localhost:9000/admin時,看到的界面將會比之前的多了能夠增加部門實體類,大家可以嘗試下。

六、建立部門跟員工之間的連接關系

現在我們在建立了部門類和員工類后,可以開始建立它們之間的關聯關系了。由于一個部門中是有多個員工,所以在員工類employee中,寫入如下代碼,建立兩個類之間的關聯:

  1. @ManyToOne 
  2.   public Department department; 

這里依然使用了@ManyToOne的JPA注解去實現多對一的關系。在再次運行程序后,會發現,在增加員工時,會出現下拉菜單選擇框,讓其選擇該員工屬于哪一個部門。

#p#

七、建立公司實體類和控制類

***,我們建立公司實體類和控制類。同樣,在app/models目錄下,建立Company類如下:

  1. package models;  
  2.   import javax.persistence.Entity;  
  3.   import play.db.jpa.Model;  
  4.   @Entity 
  5.   public class Company extends Model {  
  6.   public String name;  
  7.   public String address;  
  8.   public boolean isPublic;  
  9.  } 

company的控制層類代碼如下:

  1. package controllers;  
  2.   import models.Company;  
  3.   @CRUD.For(Company.class)  
  4.   public class Companies extends CRUD  
  5.   {  
  6.   } 

這里要提醒一點的是,由于company的復數是companies,而play框架原先約定俗成的是在實體類名后直接加字母s,所以這里使用了注解 @CRUD.For(Company.class),以表明該控制類文件Companies是為company實體類服務的。

同樣,一個公司里有許多部門,因此在Deparment部門類中,建立如下的多對一關系:

  1. @ManyToOne 
  2. public Company company;  

再次運行程序,可以看到,現在三個實體類都建立起來了,可以分別對公司,部門和員工進行CRUD操作,如下圖:

 

 

八:優化列表

我們在查看每個實體類的列表時,發現在列表中,會把每條記錄的id都顯示出來,這個在程序中假設不需要看到id字段的話,可以通過修改代碼實現,比如在Company類中,增加toString方法即可:

  1. public String toString() {  
  2.   return name;  
  3.   } 

而在Department和Employee類中,可以采用同樣的方法,以不顯示它們的id字段。

九:增加校驗規則

在輸入數據時,校驗規則是必不可少的,在play框架中,可以很方便地使用注解來增加校驗規則,比如在員工類中,可以要求輸入的fullName字段內容不能超過100個字符,而且fullName字段不能為空,則在Employee類中,增加如下代碼即可:

  1. @Required @MaxSize(100) public String fullName; 

下面列出一些常見的校驗規則:

@Email 校驗email合法性

@InFuture 檢驗是否將來的日期

@InPast 檢驗是否是過往的日期

@Match 對正則表達式的判斷

@Max ***值

@Min 最小值

@Range 檢驗范圍

@URL 檢驗是否URL

十:改變列表的顯示格式

在默認情況下,比如查看employee列表,只能看到employee的名稱字段,假設要在列表中看到每條記錄的每個字段的話,要修改下play的模版,方法如下:

1 停止現在的服務,CTRL-C停止。

2 在命令行下,輸入:

play crud:ov --template Employees/list

這將在app/views/Employees目錄下新建立一個list.html的頁面。

3 重新輸入play run,并切換到eclipse中的項目中,按F5更新頁面。

4 在eclipse中,打開app/views/Employees/list.html,這個是雇員列表的模版文件。

5 在該頁中,找到id=”crudListTable”部分,修改為:

  1. #{crud.table fields:['fullName', 'dateOfHire', 'salary'] /} 

即顯示完整所有字段。

6 重新運行程序,即可看到效果,如下圖,可以看到,能看到所有字段值。

 

 

十一:改變列表中標題的顯示

在默認狀態下,列表中顯示的字段標題是用實體類中的名稱的,假如想把fullName修改位Full Name的話,可以在conf/messages下,增加:

fullName=Full Name

即可,如下圖顯示:

 

 

小結

在本文中,我們學習了如何使用Play框架的腳手架功能,快速搭建CRUD的應用原型。Play框架的配置方法簡化了工作代碼量。目前Play框架正在不斷的完善中,讀者可以根據本教程的指引實際操作后,進一步閱讀官方文檔加以深入學習。參考文章:http://www.playframework.org/documentation/1.2.2/evolutions

原文:http://tech.it168.com/a2011/1107/1269/000001269990_all.shtml

【編輯推薦】

  1. Java Web框架Play Framework 2.0預覽版發布
  2. 盤點2011 Java主要成就
  3. 淺述Java枚舉常見7種用法
  4. JavaFX 2.0正式版發布
  5. 甲骨文在JavaOne大會中披露Java未來發展藍圖
責任編輯:陳貽新 來源: it168
相關推薦

2010-11-17 12:59:52

2012-02-23 13:13:00

JavaPlay Framew

2012-02-23 13:48:16

JavaPlay Framew

2020-11-23 10:48:39

Golang GinW

2021-07-28 06:51:08

FlaskPythonWeb

2009-05-12 09:54:09

JavaRestCoC

2019-09-02 14:51:33

2012-07-23 08:30:51

Java快速開發

2013-07-22 11:18:02

Android開發框架Afinal

2012-08-28 09:54:35

SilverlightRapidSLSilverlight

2014-07-08 09:37:28

跨平臺Webhtml5

2012-01-13 11:02:27

JavaWebOpenXava

2011-12-16 09:49:38

Java

2022-01-06 14:59:53

Java框架magic-api

2011-09-09 17:01:42

框架

2012-02-23 13:59:28

Play FramewJava

2009-06-25 17:14:59

JSF框架

2021-12-06 09:00:00

開發WebDjango

2015-07-23 10:54:09

Java Mybati框架

2012-02-22 15:51:22

JavaPlay Framew
點贊
收藏

51CTO技術棧公眾號

国产亚洲欧美另类中文| 亚洲国产va精品久久久不卡综合| 国产精品第8页| 极品尤物一区二区| 亚洲图片小说区| 一区二区三区成人在线视频| 好吊色欧美一区二区三区视频 | 欧美freesex交免费视频| 亚洲第一二三四五区| www.涩涩涩| av中文字幕电影在线看| 久久久久99精品国产片| 亚洲综合一区二区不卡| 中文字幕免费观看| 欧美福利网址| 中文字幕日本欧美| 久久久国产精品无码| 免费一级欧美在线观看视频| 精品国产成人av| 亚洲人成人77777线观看| 国模无码一区二区三区| 日本不卡一区二区三区| 久久久久久成人精品| 美国黑人一级大黄| 综合国产视频| 亚洲成成品网站| 一级片黄色免费| 色多多在线观看| 亚洲精品久久久蜜桃| 先锋影音日韩| 日本韩国一区| 不卡的电视剧免费网站有什么| 国产精品久久中文| 伊人手机在线视频| 激情自拍一区| 成年人精品视频| 99在线视频免费| 亚洲欧洲色图| 亚洲精品在线91| 国产麻豆剧传媒精品国产av| 欧美午夜网站| 日韩亚洲欧美成人一区| 玖玖爱视频在线| 国产成人午夜性a一级毛片| 色综合网站在线| 少妇高潮喷水久久久久久久久久| 天堂成人av| 亚洲九九爱视频| 天天在线免费视频| 国产欧美久久久久久久久| 中文字幕一区二区三| 色综合666| 高清毛片在线看| 国产欧美一区二区三区鸳鸯浴| 精品久久久久久综合日本| 色窝窝无码一区二区三区成人网站| 国产美女精品在线| 91网站在线看| 性猛交xxxx乱大交孕妇印度| 国产成人一级电影| 99久久精品久久久久久ai换脸| jizz国产视频| 国产91综合一区在线观看| 不卡一区二区三区四区五区| 蜜桃久久一区二区三区| 成人国产电影网| 久久精品中文字幕一区二区三区| 偷拍自拍在线| 国产偷国产偷精品高清尤物| 亚州欧美一区三区三区在线| 在线观看麻豆| 亚洲精品国产a久久久久久| 福利视频一区二区三区四区| 色一区二区三区| 色8久久精品久久久久久蜜| 91福利国产成人精品播放| 国产一区高清| 日韩欧美中文一区二区| 日韩av无码一区二区三区不卡| 欧美人与拘性视交免费看| 国产一区二区三区高清在线观看| 色www亚洲国产阿娇yao| 欧美激情1区2区| 78色国产精品| 一本一道精品欧美中文字幕| 国产毛片精品一区| 精品综合久久久| 超碰免费在线| 亚洲自拍偷拍图区| 国产日韩一区二区在线观看| 国产a亚洲精品| 亚洲第一av网| 超碰人人人人人人人| 欧美全黄视频| 国产成人精品免费视频| 国产v片在线观看| 2024国产精品| 欧美日韩亚洲国产成人| 超碰在线99| 欧美日韩免费不卡视频一区二区三区 | 俄罗斯精品一区二区| 丝袜+亚洲+另类+欧美+变态| 综合久久国产九一剧情麻豆| 黄网站欧美内射| 欧美成人xxxx| 国产丝袜一区二区三区| www深夜成人a√在线| 亚洲专区在线| 97超碰人人看人人| 97超碰人人在线| 欧美日韩国产激情| 国产欧美精品一二三| 亚洲精品蜜桃乱晃| 欧美精品videossex88| 真实新婚偷拍xxxxx| 99这里只有精品| 日韩人妻一区二区三区蜜桃视频| 欧美成人免费电影| 亚洲成人av在线| 久久久久久久久毛片| 日韩电影在线免费看| 精品免费二区三区三区高中清不卡 | 99久久99久久精品免费观看| 制服国产精品| 日韩一区二区三区在线免费观看| 亚洲成人av片在线观看| 青青草精品在线视频| 日本特黄久久久高潮| 久久影院理伦片| 波多野结衣中文字幕久久| 欧美一区二区三区在线观看| 91狠狠综合久久久久久| 天堂成人国产精品一区| 久草精品电影| 国产美女福利在线观看| 欧美mv和日韩mv的网站| 国产suv精品一区二区68| 蜜臀精品一区二区三区在线观看| 蜜桃91精品入口| 男人的天堂免费在线视频| 精品噜噜噜噜久久久久久久久试看 | jizz欧美激情18| 免费看成人哺乳视频网站| 97精品国产97久久久久久| 国产 日韩 欧美 综合| 亚洲精品视频免费观看| 激情图片中文字幕| 亚洲电影影音先锋| 亚洲自拍小视频免费观看| 免费在线观看av网站| 欧美精品v国产精品v日韩精品| 亚洲色图 激情小说| 麻豆精品新av中文字幕| 中文字幕一区二区三区在线乱码| 韩国精品视频在线观看| 中文字幕自拍vr一区二区三区| 中文亚洲av片在线观看| 国产精品国产a级| www.色欧美| 中文字幕一区二区av| 国产精品大全| 欧美少妇网站| 亚洲欧美另类人妖| 中文字幕av影视| 中文字幕在线一区免费| 久草福利在线观看| 亚洲三级网站| 欧美一区三区二区在线观看| 国产精品美女午夜爽爽| 久久综合久中文字幕青草| 亚洲男人第一天堂| 精品久久久久久中文字幕| 亚洲自拍偷拍一区二区 | 久久久久亚洲av无码麻豆| 欧美人成在线| 韩国成人一区| 91国拍精品国产粉嫩亚洲一区| 日韩中文字幕在线视频| www.爱爱.com| 欧美性猛xxx| 一二三四在线观看视频| 国产乱理伦片在线观看夜一区 | 日本不卡的三区四区五区| 一本久道久久综合| aaa国产精品| 国产成人小视频在线观看| 里番在线观看网站| 亚洲黄页视频免费观看| 亚洲在线精品视频| 亚洲va欧美va天堂v国产综合| 亚洲精品乱码久久久久久久久久久久| 久久国产精品区| 日本福利视频一区| 99九九热只有国产精品| 国产欧美欧洲| 伊人久久一区| 欧美在线视频网| bt在线麻豆视频| 亚洲图片欧美午夜| 成人免费视频国产免费麻豆| 91久久精品一区二区三| 久久综合综合久久| 国产精品女同一区二区三区| 美女黄色一级视频| 麻豆精品一区二区| 欧美精品第三页| 国产精品a级| 亚洲精品二区| 欧美一级色片| www.av一区视频| 久久99国产精品二区高清软件| 韩国日本不卡在线| 最爽无遮挡行房视频在线| 亚洲全黄一级网站| 天堂在线观看视频| 欧美一区二区免费观在线| 亚洲av综合一区| 精品久久久久久国产91| 欧美日韩在线视频免费播放| 欧美激情一二三区| 欧美图片一区二区| av电影在线观看一区| 手机看片国产精品| 狠狠狠色丁香婷婷综合久久五月| 久章草在线视频| 亚洲国产激情| 国产成人永久免费视频| 亚洲精品97| 这里只有精品66| 久久精品亚洲人成影院 | 成年人黄视频在线观看| 中文字幕欧美日韩在线| 国产综合视频一区二区三区免费| 亚洲激情视频网| 刘亦菲毛片一区二区三区| 日韩精品一区二区三区中文精品| 一级片在线免费观看视频| 欧美艳星brazzers| 国产91av在线播放| 欧美日韩一区二区三区在线看| 日本免费精品视频| 91福利国产成人精品照片| 日韩特级黄色片| 欧美性猛交xxxx免费看| 五月激情六月丁香| 日韩欧美国产网站| 99久久精品国产亚洲| 图片区小说区国产精品视频| 日本三级理论片| 香蕉影视欧美成人| 国产又大又黄又粗| 色成年激情久久综合| 日韩久久久久久久久久| 欧美性猛交xxxxxxxx| 中文字幕第一页在线播放| 欧美日韩精品一区二区天天拍小说 | 在线不卡的av| 国产麻豆免费视频| 欧美白人最猛性xxxxx69交| 亚洲男人第一天堂| 亚洲另类欧美自拍| a天堂中文在线88| 久久久999精品视频| av免费在线观看网址| 欧美日韩福利在线观看| 超碰在线视屏| 国产脚交av在线一区二区| 韩国女主播一区二区| 成人免费在线视频网址| 91精品国产自产在线丝袜啪| 国产在线精品日韩| 国产一区二区亚洲| 午夜探花在线观看| 亚洲人www| 91看片在线免费观看| 国产在线麻豆精品观看| 午夜视频在线观看国产| 久久久久国产精品厨房| 潘金莲一级黄色片| 亚洲成av人片| 这里只有精品6| 精品蜜桃在线看| 成人在线免费公开观看视频| 精品国产欧美一区二区五十路| 欧美男男video| 国产xxx69麻豆国语对白| 国产精品99久久免费| 久久久久久久久一区二区| 欧美成人激情| 国产极品在线视频| 久久精品av麻豆的观看方式| 污污免费在线观看| 中文字幕成人在线观看| 精品一区二区三区四| 欧美在线不卡视频| 国产18精品乱码免费看| 色悠悠久久久久| free性欧美| 91精品久久久久久久久久另类 | 国产成人无码a区在线观看视频| 日日骚欧美日韩| 稀缺小u女呦精品呦| 国产精品乱子久久久久| 日韩美女黄色片| 欧美精选一区二区| 久久久久久青草| 久久久久久亚洲| 日韩一区二区三免费高清在线观看| 久久大片网站| 国产综合网站| 亚洲色图偷拍视频| 久久精品综合网| 日本午夜精品理论片a级app发布| 欧美日韩你懂得| 国产视频三级在线观看播放| 久久免费视频在线观看| 自拍偷拍亚洲图片| 五月婷婷综合色| 免费在线欧美黄色| 久久福利小视频| 一区二区三区美女视频| 国产在成人精品线拍偷自揄拍| 国产小视频国产精品| 天天综合av| 狠狠色狠狠色综合人人| 欧美1区2区| 欧美日韩久久婷婷| 国产精品大尺度| 中国a一片一级一片| 亚洲欧美另类自拍| 美女18一级毛片一品久道久久综合| 风间由美一区二区三区| 欧美三级免费| 在线观看欧美一区二区| 一区二区三区在线视频免费 | 乱一区二区av| 97人妻人人揉人人躁人人| 色偷偷久久人人79超碰人人澡| 天天干,天天操,天天射| 97国产精品视频| 久久a爱视频| 国产最新免费视频| 91丝袜国产在线播放| 国产又大又黑又粗免费视频| 亚洲第一福利在线观看| sis001亚洲原创区| 国内精品二区| 久久国产日本精品| 91激情视频在线观看| 欧美在线啊v一区| 在线日本中文字幕| 91精品久久久久久久久久另类 | 91国产中文字幕| 日韩欧美国产大片| 成人三级视频在线播放| 国产女人水真多18毛片18精品视频| 中文字幕一区二区人妻电影| 亚洲欧洲xxxx| 久草综合在线| 污污污污污污www网站免费| 国产盗摄视频一区二区三区| 精品午夜福利在线观看| 精品视频在线播放免| 欧美日韩不卡| 一区二区三区四区| 国产激情一区二区三区| 日韩av在线播放观看| 亚洲人成电影网站色…| 成人黄色免费观看| 91传媒免费视频| 99精品视频在线观看免费| 天堂免费在线视频| 精品国产一区久久久| 国产精品毛片久久久| 欧美成人免费高清视频| 国产精品的网站| 无码国产色欲xxxx视频| 国产精品第一第二| 午夜精品剧场| 亚洲天堂久久新| 91精品国产综合久久久蜜臀图片| av美女在线观看| 亚洲7777| 成人综合在线观看| 在线观看日本网站| 欧美精品做受xxx性少妇| 偷拍亚洲色图| 亚洲午夜精品一区| 欧美午夜美女看片| 黄av在线播放| 久久免费视频1| 国产在线不卡视频| 精品人妻无码一区二区性色| 久久精品国产亚洲精品| 欧美一区 二区| 色偷偷中文字幕| 91福利区一区二区三区| free性欧美| 日韩国产精品毛片| 久久久国产综合精品女国产盗摄|