草庐IT

java - 使用 Play Framework 和 Java 解析 Json 数组

我有以下Json结构:{"name":"John","surname":"Doe","languages":[{"language":"english","level":"3"},{"language":"french","level":"1"}]}我正在使用PlayFramework解析HTTP消息中的Json数据,该消息是使用自研REST服务发送的。我已经知道如何通过查看文档从Json数据中解析姓名和姓氏,这是通过以下方式完成的:JsonNodejson=request().body().asJson();Stringname=json.findPath("name").textV

java - 有没有办法让 Play 框架和 JPA 在列名中使用下划线?

我正在尝试构建一个Play!针对现有数据库运行的应用程序,其中所有列都有下划线来分隔单词。这意味着我必须在每个字段上放置一个@Column注释以指定不同的名称。有没有办法得到Play!默认使用下划线? 最佳答案 如果Play使用Hibernate,正如其他答案所建议的那样,您将不得不implementacustomNamingStrategy。下面是一个NamingStrategy示例,它使用Guava将所有列名从小驼峰转换为带下划线的小写:publicclassCustomNamingStrategyextendsImproved

java - Play Framework 2.5 JavaAsync 抛出 CompletionException

我正在使用Play2.5构建一个简单的应用程序。为了获得更好的性能,我将Akka分块响应与Java8CompletionStage策略结合使用。下面是生成分块响应的代码(不使用ComperableFuture时工作正常):@SingletonpublicclassAbstractSource{publicSourcegetChunked(Stringhtml){returnSource.actorRef(256,OverflowStrategy.dropNew()).mapMaterializedValue(sourceActor->{sourceActor.tell(ByteStri

java - 启动 fresh play 2.1 项目时出错

我正在使用playframework2.1.0,我使用命令playnewmyfirstapp创建了新项目,然后我选择了2个选项来创建简单的java项目,因此它创建了项目现在,当我通过命令playrun开始Play时,我得到以下输出C:\development\application\firstApp\helloworld>playrun[info]LoadingprojectdefinitionfromC:\development\application\firstApp\helloworld\project[info]Setcurrentprojecttohelloworld(inb

java - play 框架的并行测试运行器

涉及PlayFramework的TestServer类的功能测试似乎只能在Play控制台内运行。不幸的是,由playtest命令执行的Play控制台中的库存测试运行器按顺序执行测试,这会花费很多时间。我认为如果并行执行它们会运行得更快。有没有办法并行运行测试?更新:理论上,SBT支持在不同的JVM中并行运行测试,这使得多个TestServer实例在监听不同端口时可以并行运行。Play似乎忽略了这些设置。查看我报告的问题:https://github.com/playframework/Play20/issues/849.如果有人展示了一种使PlayFramework遵循这些SBT测试设

java - 在 play WS 响应范围中读取变量值

voidmakePdfPage(Stringurl,PdfContentBytecontentByte){com.itextpdf.text.Fontsans=UtilityMethods.getSansSerifFont(14);sans.setColor(80,147,225);ColumnTextct=newColumnText(contentByte);ct.setSimpleColumn("Hello",0,780,595,830,10,Element.ALIGN_CENTER);try{ct.go();}catch(DocumentExceptione){System.ou

java - CORS Play Framework

我正在PlayFramework2.5(Java)后端开发Angular2应用程序。如果我通过浏览器URL访问我的端点,它们工作正常。但是,从Angular2应用程序调用它会显示错误:XMLHttpRequestcannotloadlocalhost:9000/app/myendpoint.No'Access-Control-Allow-Origin'headerispresentontherequestedresource.Origin'localhost:3000'isthereforenotallowedaccess.TheresponsehadHTTPstatuscode500

java - 如何在 Play Framework 中使用 WebSockets?

我已经从GitHub下载了PlayFramework并编译了它。现在我想使用WebSockets并制作了一个类似于UsingWebSockets上的JavaScript客户端和WebSocketController。,但它不起作用。我可以打开WebSocket,但Controller没有收到我发送给它的任何消息。而且我无法使用ws.close();关闭WebSocket,但是如果我在浏览器中更新我的网页,WebSocket在服务器上关闭。如何使用PlayFramework接收和发送WebSocket消息?这是我的PlayFrameworkWebSocketController:publ

java - 如何配置 Play ! 2.4.2 HTTPS keystore ?

我是PlayFramework的新手,我只是想在Java8上使用2.4.2首次使用HTTPS。我可以使用默认keystore但不能使用我自己的keystore。我在build.sbt中配置了working默认keystore:javaOptions++=Seq("-Dhttps.port=9443")然后officialdocumentation配置你自己的keystore对我来说有点太抽象了。它提到在application.conf中配置它,但没有说明如何配置,或者在命令行上但没有使用Java示例。谷歌搜索揭示了一些Scala示例,但我无法哄骗它们,因为它们使用了诸如devSetti

java - 创建用户后如何使用 Play Framework 安全模块登录用户

我正在使用playframework中的“Secure”模块,它的大部分工作都很好。我可以通过在我的应用程序中的/login路由发布一个用户来登录。但是,当我“创建/注册”一个新用户时,我希望该用户在创建后自动登录。这一点,我似乎无法以编程方式工作,即不必发布表单即可登录。我当前的用户创建操作代码如下:publicstaticvoidcreate(@Required@EmailStringemail,@RequiredStringpassword,@Required@Equals("password")StringpasswordConfirmation){Useruser=newUs