Tag: playframework

Java Play加密数据库密码

我正在开发一个Java Play应用程序,我将数据库密码以纯文本forms存储在application.conf文件中。 db.default.url=”jdbc:oracle:thin:@HOST:PORT/SID” db.default.user=USER db.default.pass=PW 现在我想将其存储为加密密码。 在寻找解决方案时,我看到许多关于实现插件的技巧。 以下是我遇到的解决方案。 在application.conf中加密db密码 在那个例子中,使用了play.PlayPlugin但是当我尝试它时,我得到一个包找不到错误。 我是否需要插入外部jar文件,或者是因为版本问题。 我正在使用Java play 1.2 有没有其他方法来存储除插件以外的加密格式的密码。

播放框架Mailer在maile.send()方法中抛出NullPointerException

我正在使用播放Mailer模块。 我在mailerClient.send(电子邮件)收到NullPointerException。 发送邮件代码 import javax.inject.Inject; import play.libs.mailer.Email; import play.libs.mailer.MailerClient; public class MailerService { @Inject MailerClient mailerClient; public void sendEmail() { Email email = new Email(); email.setSubject(“Activation Link”); email.setFrom(“from@gmail.com”); email.addTo(“to@gmail.com”); email.setBodyText(“hello”); mailerClient.send(email); } } application.conf # Logger provided to your application: logger.application=DEBUG play{ modules { enabled += “play.api.libs.mailer.MailerModule” #enabled += “play.api.libs.mailer.SMTPConfigurationModule” } mailer { host=smtp.gmail.com port=465 […]

在Java Play上运行JSP

我刚开始使用Java Play framework ,我有几个问题…… 我开发了一个Web应用程序,它使用Maven 3.0进行管理,托管在Tomcat 7.0 ,并包含大量JSP文件。 我们的团队最近决定使用Play框架运行所有内容,我只是想知道是否有一种快速方法将我的原始项目导入Play? 另外,Play如何识别JSP文件? 把它们放在哪里? 谢谢

我可以将Play配置为使用mysql枚举而不是整数吗?

我的模型包含一个枚举,它由JPA映射到我的mysql数据库的int列。 mysql有一个本机enum类型,使用起来会更方便。 如何配置JPA以使用此类型? @Entity public class User extends Model { public enum Role { User, Moderator, Admin, } public Role role; }

从上传的文件中获取文件扩展名

这里我的要求是上传文件并将其存储在磁盘中。 我将它存储在磁盘中没有问题,但获取文件的扩展名。 问题是当我单击上载并处理要存储在磁盘中的文件时,它将保存为具有以下名称的临时文件 “/ tmp目录/ multipartBody6238081076014199817asTemporaryFile” 这里的文件没有扩展名。 因此,以下任何库都无法帮助我获取文件的扩展名。 FileNameUtils.getExtension() or Files.getFileExtension(path) 我甚至试图通过它的属性来获取它,但它没有获取文件扩展名的选项。 Path path = Paths.get(“/**/**/filepath”); BasicFileAttributes attr = Files.readAttributes(path, BasicFileAttributes.class); HTML代码: 从Play框架获取文件对象: MultipartFormData body = request().body().asMultipartFormData(); FilePart fileInput = body.getFile(“fileInput”); File file = fileInput.getFile(); 任何提取文件扩展名的帮助都非常感谢。 谢谢,

Play-Framework 2.4:使用Spring-Depedency Injection与Play-Framework而不是Guice

我使用Spring-Depedency注入而不是Play-Framework Guice Depedency注入,因为我们的要求,我们需要在我们的应用程序中使用大多数Spring-Modules ,如Spring-Data-Mongodb等。但问题是,我们的依赖项没有在控制器中正确注入,如下所示: 我的配置: @Configuration @ComponentScan(basePackages={“service”, “controllers”}) @EnableMongoRepositories(basePackages=”repository”) public class SpringDataMongoConfiguration extends AbstractMongoConfiguration{ private play.Configuration configuration = play.Configuration.root(); private MongoClientOptions mongoClientOptions(){ Builder builder = new Builder(); builder.connectionsPerHost(configuration.getInt(“connections-per-host”)); builder.connectTimeout(configuration.getInt(“connections-timeout”)); builder.maxConnectionIdleTime(configuration.getInt(“max-connections-idle-time”)); builder.maxConnectionLifeTime(configuration.getInt(“max-connections-life-time”)); builder.minConnectionsPerHost(configuration.getInt(“max-connections-per-host”)); builder.socketKeepAlive(configuration.getBoolean(“socket-keep-live”)); builder.socketTimeout(configuration.getInt(“socket-timeout”)); return builder.build(); } private ServerAddress serverAddress(){ ServerAddress serverAddress = new ServerAddress(new InetSocketAddress(configuration.getString(“mongodb.uri”), configuration.getInt(“mongodb.port”))); return serverAddress; } @Override protected String getDatabaseName() { […]

播放2.2.1 Java:相当于播放1.X的@beforefilter?

我想实现一个setUserIfPresent ()方法,它将用户对象放入上下文中,如Http.Context.current()。args.put(“user”,user); 应在每个控制器方法之前应用此方法,以便视图可以访问用户的隐式访问权限。 使用Play1,我创建一个BaseController , 在所有请求(@Before filter) 之前 调用此方法,并从此扩展所有其他控制器。 如何使用Java API在play2中实现这样的function? 似乎Scala有些东西,但对Java来说呢? http://www.playframework.com/documentation/2.2.x/ScalaHttpFilters 干杯

为什么简单的select查询返回List 但是在jpa中连接查询返回List

我正在使用jpa的play框架。 我有一个带有2个函数的模型Jobads来查找all()findByLocation() 我的模特 public class Jobads { @Id @Column(name = “id”, nullable = false) @GeneratedValue(strategy = GenerationType.AUTO) private Long id; private String title; @ManyToOne private Jobindistry industry; @ManyToMany @JoinTable( name = “jobads_city”, joinColumns = {@JoinColumn(name = “jobads_id”, referencedColumnName = “id”)}, inverseJoinColumns = {@JoinColumn(name = “city_id”, referencedColumnName = “id”)}) private List city; } 找到所有() public static […]

在Play框架中使用ElementCollection时出现LazyInitializationException

我在我的应用程序模型集中有一个User实体,定义如下: public class User extends Model { private String name; private byte[] sk; @Column(columnDefinition = “BINARY(272)”) private byte[] pk; private int port; @OneToOne public Profile profile; @ElementCollection public List friends; @ElementCollection public List mirrors; … } 在我的应用程序的不同部分(控制器类)中的方法中,我正在检索并尝试修改镜像列表,如下所示: User u = User.connect(username); int port = ProfileFinder.getLocation(username, mirror); u.mirrors.remove(mirror); u.save(); 这是一个错误,说明: LazyInitializationException occured : failed to lazily […]

我应该如何声明和导出模块?

我正在使用我的应用程序的secure和crud模块,我已经将它们添加到application.conf中,如教程中所述。 但是,当我启动我的应用程序时,它会生成一个警告: Declaring modules in application.conf is deprecated. Use dependencies.yml instead. (module.crud) 然后模块在开发模式下工作,但是当我部署到我的服务器( play war等)时,我得到这个: 13:55:40,662 WARN ~ Declaring modules in application.conf is deprecated. Use dependencies.yml instead (module.crud) 13:55:40,662 ERROR ~ Module crud will not be loaded because /var/lib/apache-tomcat-6.0.32/webapps/pat/WEB-INF/modules/crud does not exist 所以,有两个问题:为什么我的模块不会被导出,我如何在dependencies.yml中声明它们? 我已经查看了文档中的依赖页面 ,我承认我并没有真正得到那里发生的事情。 谢谢!