
Play Framework
文章平均质量分 67
浪漫鼠
有之以为利,无之以为用!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
play Framework如何通过实体.find查询Date类型字段
关于实体为Date类型的字段,如何用model.find(" date>? ",param)方法进行查询?假设实体为 Person,一个字段为public Date CreateTime;这时,如何通过Person.find(" CreateTime>? ",param)来进行查询?有两种方式解决这一问题,第一个:主要用在get请求时,这种方式使用时有限制,不能通用,特原创 2015-08-24 09:39:23 · 922 阅读 · 0 评论 -
Play框架的各种命令原理
Play的命令是借助python脚本,这从下载的play包就能明显看出来:一是其中有一个python包,里面是一个play自带的python环境,还有是play.bat文件:@echo off"%~dp0python\python.exe" "%~dp0play" %*使用python运行play文件,而play文件里就是python代码。也就是我们平时用的play命令全作用于其中。转载 2016-04-27 12:40:21 · 3491 阅读 · 0 评论 -
Play Framework 统一校验机制 (common way to validate in play framework)
Play框架提供十分便捷的校验注解机制,结合@before拦截器标签可以实现便利的拦截机制,不需要逐个类去编写校验代码了,这里结合上一章的功能测试实现一个增加的校验。 首先要用到两个models类 App/models/Heart.java:package models;import java.util.Date;import java.util.List;import javax.转载 2016-04-27 12:42:00 · 1367 阅读 · 0 评论 -
如何让Play框架中的Hibinate支持位运算(粗糙的范例)
一、背景 工作中,使用的数据库为MySQL,项目使用的语言为java,采用了JPA技术,底层用的是hibernate,项目中有些需要进行按位与运算,但是hql语言确不支持,该文章描述了如何让我们的程序支持按位与的操作二、实现 首选实现SQLFunction接口 package com.XXXX.hql;impor转载 2016-05-25 09:08:22 · 761 阅读 · 0 评论 -
设置content type
Play会根据request.format设定的值,选择指定的media类型来响应HTTP请求。该值通过文件扩展名来决定使用何种视图模板进行渲染,并且通过Play框架中的mime-types.properties文件进行映射处理(映射关系详见play\framework\src\play\libs\mime-types.properties文件),为media类型设定Content-type响应。转载 2016-05-25 09:11:27 · 3007 阅读 · 0 评论 -
无共享架构
昨天发了个很什么的随笔,今天把与集群有关的东西搜了搜。整理一下。什么是集群,集群的概念。下面这个BLOG讲的非常清楚:http://blog.youkuaiyun.com/ESoftWind/archive/2006/10/19/1341089.aspxweb层次的集群方案讨论,看完javaeye相关的讨论,你会大概了解:http://www.javaeye.com/topic/20298转载 2016-05-25 09:11:53 · 1310 阅读 · 0 评论 -
play框架的类增强
类增强,也叫字节码增强,用于在运行时动态修改字节码,以便增加额外的方法、字段以及方法体内容等。Play中很多插件都包含用于在运行时更改应用实现类的增强器,比如为控制器类增加额外的方法。这便是Play不可思议的地方,也是非常核心的概念,掌握底层实现不可或缺的知识。 内置的play.CorePlugin使用play.classloading.enhancers包提供的类增强器,为应用转载 2016-05-25 09:13:27 · 935 阅读 · 0 评论 -
Play Framework 控制层发起HTTP请求 (Send Http Request In Controller)
有时候需要在控制层,也就是Controller或者Action中发起HTTP去第三方站点(也有去本站,分布式的情况下。),这请求可能是同步请求,也可能是异步请求。Play框架都提供了支持。 所涉及的代码: Controller:app/controllers/WebServer.javapackage controllers;import java.util.Date;import p转载 2016-05-25 09:14:51 · 6166 阅读 · 3 评论 -
Play Framework 数据库与事务管理
由前面的文章大致知道,Play的事务由过滤器中处理,这里理一下Play框架与数据库相关的部分。 主要是play.db包中的DBPlugin/DB类,与play.db.jpa包中的JPAPlugin/JPA类有关,前者管理数据源,后者管理JPA。另外因为play是基于ActiveRecord模型,在play.db.jpa.JPAEnhancer类中,play织入了许多辅助方法。 DB转载 2016-05-25 09:15:44 · 3709 阅读 · 0 评论 -
Play框架功能测试 (functional test in play framework)
Play框架中已经集成了junit框架,大家可以非常方便的进行功能测试,这里我展现一个测试新增的例子,其他的大家可以照这个例子深入。 首先需要在app/modules包中定义一个Beat类,app/controllers中定义一个控制器Beats,同时需要定义个被测试的方法,并在conf/routes配置该方法的url地址,分别如下: app/modules/Beat.java:package转载 2016-05-25 09:17:09 · 1878 阅读 · 0 评论 -
域模型
本文转自http://www.playframework.cn/wiki/%E5%9F%9F%E6%A8%A1%E5%9E%8B这里的介绍跟我以前的设想截然相反,我之前把与数据紧密相关的逻辑才放到Model中,其他复杂的逻辑就抽象到逻辑层,这是为了提高逻辑层的复用。现在看来可能不太好!模型(Model)在Play应用中处于非常核心的地位,是应用对操作信息的特转载 2016-05-13 11:44:19 · 874 阅读 · 0 评论 -
Play框架中的用户验证
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢! 用户验证(User Authentification)复合的使用Play框架的数个功能,包括前面已经了解的表单和数据库,以及这篇文章里要提到的加密和会话。根据应用或站点的复杂程度,用户验证也可以随之变化。这里将介绍用户验证的一个基本实现方式。 加密转载 2016-04-20 11:55:08 · 2239 阅读 · 0 评论 -
Play框架内置模板标签
a标签: 用来插入一个连接到控制器方法的html link。如下: Html代码 #{a @Application.logout()}Disconnect#{/a} 模板内容被解析后变成: Html代码 a href="/application/logout">Disconnecta> 如果要调用的控制器方法没转载 2016-04-20 11:55:35 · 4263 阅读 · 0 评论 -
Play框架前端应用细节
1、模板语法用表达式时,如下使用时,只有client不为null的情况下,才进行client.name的输出。Client ${client?.name}在应用中,模板引擎默认对所有的动态表达式进行转义,以此来避免XSS的安全问题。可以通过调用扩展方法raw(),以非转义的形式在页面中输出,如:${title.raw()} --> Title如果需要显示大量的非转义转载 2016-04-20 11:56:23 · 2591 阅读 · 0 评论 -
关于Play框架中的类增强
类增强,也叫字节码增强,用于在运行时动态修改字节码,以便增加额外的方法、字段以及方法体内容等。Play中很多插件都包含用于在运行时更改应用实现类的增强器,比如为控制器类增加额外的方法。这便是Play不可思议的地方,也是非常核心的概念,掌握底层实现不可或缺的知识。 内置的play.CorePlugin使用play.classloading.enhancers包提供的类增强器,为应用转载 2016-09-09 11:21:18 · 776 阅读 · 0 评论 -
Play Framework 错误信息显示 (error message display In play framework)
错误信息包括两种,一种是异常信息的显示,一种是后台验证信息显示。而且显示又分直接页面跳转的提交,和通过Ajax的提交。 先看,异常信息与直接页面跳转的例子。在例子中,运用play框架的catch注解标签统一处理: 自定义异常类 app.models.MyException:package models;public class MyException extends Exception{转载 2016-05-25 09:16:10 · 2247 阅读 · 0 评论 -
angularJS与play配合使用的各种控件的使用技巧
1、select控件2、checkbox控件3、弹出框4、日期控件5、打开的初始化界面6、打开初始化完成后的赋值界面7、get服务8、post服务9、传参过程原创 2015-11-26 13:41:09 · 1314 阅读 · 0 评论 -
当你对Java的框架迷茫的时候?
前两天,一位新入的同行问了我一个问题,这是我开博客以来的头一次,破天荒,值得纪念一下,自己也感到非常的荣幸。问题概述:(1)JAVA的一些轻量级框架选择,以及Play框架的封装问题、灵活性的问题! (2)今后自己学习的方向,感到迷茫!我“斗胆”回了一封邮件,大概内容如下: 第一:先扯远一点,总纲说一下,不足之处略过就好。。。 我做技术快10年了,水平原创 2016-10-25 15:46:06 · 726 阅读 · 0 评论 -
实际运用类的封装、赋值
关于类的封装和赋值:Java类的成员变量在被修饰为public、protected和包访问权限时,可以在不同层次上直接给成员变量赋值。但是,赋值的前提是:必须存在持有成员变量的对象。而对象的初始化必须调用构造函数,所以构造函数是必不可缺的。至于使用构造函数还是直接声明时给成员变量赋值,那就要看情况而定。如果创建的这个对象是不可变的,那么就必须使用构造函数初始化成员变量,反之,就无所谓。另外,直原创 2016-04-05 09:04:40 · 1545 阅读 · 0 评论 -
play框架中使用angular控件使用体会
这里只做了简单的描述。(1)play后端返回值到前端 List list = Coupon.find(hql, params).fetch(pageindex, pagesize); long count=Coupon.count(hql, params); Map data=new HashMap(); data.put("count", count);原创 2015-08-05 14:37:46 · 906 阅读 · 0 评论 -
play框架所引用的JAR包
Play 1.2.3中主要包括的第三方包有 xstream xml与object互转 snakeyaml yaml解析与发射 slf4j日志接口相关 signpost Oauth相关,第三方帐号协议 postgresql postgresql数据库驱动 oval Object Validation对象校验框架 netty netty服务器包 mysql-转载 2016-03-31 12:00:11 · 2871 阅读 · 0 评论 -
play framework 添加启动任务、定时任务
前人总结了很多东西,真的受益良多,有一个详细的博客在这里,看完立马就明白,我这里只是做一个记录,方便日后查找http://desert3.iteye.com/blog/1586708Play framework是一个web应用程序,大部分的应用逻辑都是通过在Controllers中以响应HTTP请求的方式来完成的。 有时候你可能需要执行一些和HTTP请求无关的应用逻辑。这在转载 2015-07-21 09:55:27 · 6339 阅读 · 0 评论 -
play框架的学习笔记--简要总结
play框架最常用的命令:首先将play加入环境变量。进入开发目录后再执行这些方法play new projectnameplay run projectnamectrl + c 结束play eclipsify projectname(1)热启动,修改代码、编译代码直接进行,开发时不需要重启中间件(2)MVC映射鲜明,易处理(3)单元测试包含两个、一个原创 2015-07-21 10:01:02 · 1294 阅读 · 0 评论 -
学习play遇到的问题汇总
这些也都是我查资料学来的,只是总结一下。(1)play在cmd 下,system.out()输出的中文都是乱码play在cmd 下,system.out()输出的中文都是乱码chcp 65001 / chcp 936 改变cmd字符集都不行后在http://www.oschina.net/news/19463/play-framework-1-2-2解决解决法办。安装目录下原创 2015-07-21 10:06:06 · 868 阅读 · 0 评论 -
JPA查询的使用体会
(1)JPA原生SQL使用方法如下http://blog.youkuaiyun.com/chenallen1025/article/details/9169543我用了上述的方法,我还建立一个model类,专门接受返回的数据表,做一个映射处理,然后返回到前端。(2)JPA实体查询方法http://developer.51cto.com/art/201206/340582.htm(3原创 2015-08-14 15:15:11 · 836 阅读 · 0 评论 -
play框架配置使用过程中遇到的各种疑难问题汇总(学习同事经验)
(1)play框架与play建的实际项目放在不同的目录下当play framework框架放到C盘,代码放到D盘或其他地方,这时需要执行一个命令play eclipsify app,该命令会将项目的项目文件重新生成,然后就可以导入到eclipse中。1、重新导入一次。2、开发态模式时:默认启动时都需要重新生成一次。(2)play框架运行时,报错后到哪查看.class源文件?pl原创 2015-08-05 10:59:55 · 3124 阅读 · 0 评论 -
play framework如何进行模块化开发--学习笔记(借鉴同事、博客等资料自己试验通过!)
1.第一步:先创建一个play项目,我创建play项目时,进入的目录是:..\playframework\samples-and-tests\,然后开始创建工作。play new app 2.第二步:创建一个公共模块play new-module model创建了以后,版本默认为0.1,打开model\conf\dependencies.yml即可看到。如我创建的文件如下:原创 2015-07-27 14:53:58 · 3603 阅读 · 0 评论 -
使用play时使用JPA查询,还是原生SQL查询
是使用JPA查询好?还是自己写原生的SQL查询好?这是我最近一直在考虑的问题,值得探讨,目前尚无定论,只有一些感受,这个问题我将一直跟踪下去。JPA查询明显有很多限制,这些限制给我的感觉是有点拘束,因为用它开发项目时,总是一个劲的遇到特殊的问题,让人很沮丧:(1)实体关联查询时,实体关联关系一定要建好,避免互相调用!在一个项目刚开始的时候,各种需求情况还不十分明朗,实体关联等功能可原创 2015-09-06 11:57:23 · 1568 阅读 · 0 评论 -
定时任务在服务器集群中的实现问题
服务器集群中,定时任务设计需要解决的问题:1、如果集群中每台机器都启动定时任务,容易造成数据重复处理的问题。2、如果采用定时任务开关的方式,只一台机器的开关on,其他机器的开关off,可以避免数据重复处理的问题,但是存在单点故障的问题。解决方式有:1、任务从数据库中读,保证只有一台机器可以抢到任务。2、将任务的定时触发模块、任务的执行模块分离。任务的转载 2015-11-11 10:00:14 · 4893 阅读 · 0 评论 -
如何在play框架的前端_通过Angularjs框架使用html模板
第一步:创建模板 .div { width: 80px;height: 80px;border: 1px solid #EBEBEB; vertical-align: middle; float: left;margin:5px 0;}第二步:创建模板对应的脚本reliers.push("ngDialog");App.controller('Controller',原创 2015-10-15 14:48:23 · 1655 阅读 · 0 评论 -
play框架如何重用代码及发现的问题
记得上个月读过一篇关于play框架如何重用代码的文章,后来怎么也找不到了。这个月做了一些尝试,效果还是比较明显的,今天做一下总结。1、play框架默认分Control、models、views三部分,直接用,开发速度是挺快,但是存在一个大的问题:代码如何共用的问题。首先可重用的代码一般变化频率是比较低的,这部分抽出来比较好,将来好维护,也容易重用。(1)一些公共逻辑代码如果都放到C原创 2015-11-26 10:47:31 · 820 阅读 · 0 评论 -
play框架中模块开发过程中的体会
如果开发一个play框架的模块,需要考虑这几项工作内容,这是一个思考的框架,总结如下。1、本模块的输入、输出参数集合,将输入、输出参数对象规划好,做成易扩展模式,比如用对象代替参数,用map代替对象也可以,看情况使用。2、可共用的代码逻辑该放在哪个位置?尽量自己建立一个包,将不常变的或者需要共用的函数方法写在一起,传入传出参数使用参数,尽量用私有变量来做计算,不用公共变量。考虑到一原创 2015-12-18 16:08:08 · 813 阅读 · 0 评论 -
关于Play Framework通过JPA创建实体和表的体会
(1)第一个问题案例:在开发态下,play框架会自动根据实体信息建表,如果是有一堆人在同一个数据库上开发项目,那么不可避免的会遇到一个问题:假设A猿删减了实体中的属性,提交版本,而其他猿均未更新代码,那么,其他程序猿在调试时,总会将已删除的字段加上,从而导致A猿代码出错。这个问题就必须让大家一起更新实体代码了,这是一个比较麻烦的事情,没有什么特别简洁的解决办法。(2)实体字段的属性不要用int原创 2015-08-14 15:27:59 · 1649 阅读 · 0 评论 -
Play框架中缓存的应用
play.cache.Cache类提供了一系列访问缓存的API,包含了完整的设置、替换和获取数据的方法:public static void showProduct(String id) { Product product = Cache.get(id, Product.class); if(product == null) { product = Product.findBy转载 2016-03-30 12:42:06 · 1912 阅读 · 0 评论 -
Play框架的验证码使用
Play中的play.libs.Images类提供了生成验证码的支持,操作也非常简单。我们可以通过静态方法Images.captacha()快速生成默认大小为150*50的验证码图片,也可以使用Images.captacha(int width, int height)方法生成指定大小的验证码图片。public static void captcha(){ Images.Captc转载 2016-03-30 12:51:55 · 1411 阅读 · 0 评论 -
Play框架中的异步编程
Play允许临时挂起HTTP请求。挂起的HTTP请求仍然保持连接,但是该请求的执行会被移出线程池并稍后进行尝试。根据需要,Play可以在一段固定的延时后恢复现场,继续执行请求。public static void generatePDF(Long reportId) { Promise pdf = new ReportAsPDFJob(report).now(); InputStrea转载 2016-03-30 12:52:30 · 1259 阅读 · 0 评论 -
关于Joda-time
一、joda优点展示joda-time能够便捷地格式化时间输出、设定时间、加减时间、计算时间差值。跟JDK的Date/Calender相比一试便知,每个测试中上半部分是用jdk操作,下半部是用joda-time操作。最后一个我也是跟作者一样...实在不想用jdk来实现。public class JodaTimeTest { @Test public void t转载 2016-03-30 12:52:56 · 451 阅读 · 0 评论 -
Play框架的部分性能优化问题
1、实体查询时,有个基类方法Entity.find(sql,params).fetch(pageIndex,pageSize);这个方法最坑爹!严谨使用该方法。因为这是假分页,它首先将数据集全部查出来并加载到内存中,然后再做分页处理,严重影响效率,如果表过大,直接导致服务器内存溢出,导致Web服务崩溃。2、查询时按道理说,尽可能的不使用 select * from table 这样的语句,原创 2017-01-04 14:28:48 · 1920 阅读 · 1 评论