小编Ant*_*nio的帖子

文件API - Blob到JSON

我正在尝试使用HTML5,WebSocket和File API进行一些实验.我正在使用Tomcat7 WebSocket实现.我能够从servlet发送和接收短信.我现在要做的是从servlet发送到客户端JSON对象,但我想避免文本消息,以便跳过客户端上的JSON.parse(或类似),所以我试图发送二进制消息.servlet部分非常简单:

String s = "{arr : [1,2]}";
CharBuffer cbuf = CharBuffer.wrap(s);      
CharsetEncoder encoder = Charset.forName("UTF-8").newEncoder();      
getWsOutbound().writeBinaryMessage(encoder.encode(cbuf));
getWsOutbound().flush();
Run Code Online (Sandbox Code Playgroud)

在此消息之后,在客户端上我看到我收到了一个二进制帧,它被转换为Blob对象(http://www.w3.org/TR/FileAPI/#dfn-Blob).问题是:是否可以从Blob获取JSON对象?我看了一下FileReader接口(http://www.w3.org/TR/FileAPI/#FileReader-interface),我用这样的代码来检查FileReader可以做什么(第一行创建了一个全新的Blob,如果你愿意,你可以动态测试):

var b = new Blob([{"test": "toast"}], {type : "application/json"});
var fr = new FileReader();
fr.onload = function(evt) {
    var res = evt.target.result;
    console.log("onload",arguments, res, typeof res);
};
fr.readAsArrayBuffer(b);
Run Code Online (Sandbox Code Playgroud)

使用我在File Reader实现中看到的所有"readAs ..."方法(我使用的是Chrome 22).无论如何,我没有找到有用的东西.

你有什么建议吗?谢谢.

javascript html5 json websocket

16
推荐指数
3
解决办法
3万
查看次数

用">>>"运算符改进循环?

我正在将mootools从1.3.2更新到1.4.1.我看到了一个奇怪的变化.由此

for (var i = 0, l = this.length; i < l; i++){....
Run Code Online (Sandbox Code Playgroud)

对此

for (var i = 0, l = this.length >>> 0; i < l; i++){
Run Code Online (Sandbox Code Playgroud)

以这种方式使用的">>>"运算符如何提高性能?你怎么看待这件事?

javascript performance mootools for-loop

9
推荐指数
1
解决办法
169
查看次数

Spring JPA存储库:阻止保存更新

我的userDB表看起来像这样:

CREATE TABLE user (
    username VARCHAR(32) PRIMARY KEY,
    first_name VARCHAR(256) NOT NULL,
    last_name VARCHAR(256) NOT NULL,
    password VARCHAR(32) NOT NULL,
    enabled BOOL
) ENGINE = InnoDB;
Run Code Online (Sandbox Code Playgroud)

这是我的实体的字段定义:

@Entity
public class User implements Serializable {
    private static final long serialVersionUID = 1L;

    @Id
    @Column(nullable = false)
    private String username;

    @Column(nullable = false)
    private String firstName;

    @Column(nullable = false)
    private String lastName;

    @Column(nullable = false)
    private String password;
Run Code Online (Sandbox Code Playgroud)

该字段username是我的表/实体的关键,我可以设置它的值.当我需要创建另一个用户时,我在我的服务中执行此操作:

public User insertUserImpl(String username, String firstName, String lastName) …
Run Code Online (Sandbox Code Playgroud)

java spring spring-data-jpa spring-boot

6
推荐指数
1
解决办法
1万
查看次数

无法禁用Hibernate日志消息

我正在使用Hibernate进行个人项目.在我的项目中,我有这些目录:

+
log4j.properties
+ bin
我的课程

使用Windows控制台,我转到项目目录(bin和conf的父目录),然后使用如下命令启动应用程序:

java -cp conf;lib/lib1.jar;lib/lib2.jar;[etc] com.moc.Main

我的log4j.properties文件是这个(取自hibernate示例):

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d - %m%n

log4j.rootLogger=info, stdout

log4j.logger.org.hibernate=error
log4j.logger.org.hibernate.tool.hbm2ddl=error
log4j.logger.org.hibernate.hql.ast.QueryTranslatorImpl=error
log4j.logger.org.hibernate.hql.ast.HqlSqlWalker=error
log4j.logger.org.hibernate.hql.ast.SqlGenerator=error
log4j.logger.org.hibernate.hql.ast.AST=error

在应用程序启动时,这是输出:

2010-11-06 19:00:56,376 - Logger.getRootLogger().info() statement
12 [main] INFO org.hibernate.cfg.Environment - Hibernate 3.5.3-Final
13 [main] INFO org.hibernate.cfg.Environment - hibernate.properties not found
16 [main] INFO org.hibernate.cfg.Environment - Bytecode provider name : javassist
20 [main] INFO org.hibernate.cfg.Environment - using JDK 1.4 java.sql.Timestamp handling
108 [main] INFO org.hibernate.cfg.Configuration - configuring from resource: com/moc/hibernate.cfg.xml
108 [main] INFO org.hibernate.cfg.Configuration …

java logging hibernate log4j

5
推荐指数
1
解决办法
7651
查看次数

Spring启动和配置文件

我有一些配置的Spring Boot应用程序.我想指定不同的配置值,devproduction.我的application.properties文件看起来像这样:

spring.datasource.url=jdbc:mysql://devhost:devport/devschema
spring.datasource.username=devuser
spring.datasource.password=mypwd
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
Run Code Online (Sandbox Code Playgroud)

这个文件在Openshift上我的git repo中.每次我提交,Openshift开始部署应用程序,所以我需要application.properties具有正确的值.是否可以使用类似配置文件来更改配置?

java spring spring-boot

5
推荐指数
2
解决办法
3495
查看次数

PHP:持久变量值

我必须读取文件并进行一些计算,而不是将此计算的结果保存在变量中.

我只需要这样做一次.在Java + Servlet中,我可以使用servlet容器,例如单例模式.

我知道在PHP中我不能这样做.这是更好的方法吗?在DB上保存计算(或传输数据)?

php static

3
推荐指数
1
解决办法
4418
查看次数

Android下拉颜色选择器

我想创建一个下拉颜色选择器,像这样(抱歉丑陋的图像):

颜色下拉选取器

我只需要一些颜色(让我们说6)所以我不需要一个完整的颜色选择器,下拉列表将正常工作.

我知道我必须为Spinner扩展数组适配器并覆盖getDropDownViewgetView.

我不知道的是如何创建一个带边框和纯色背景的方框.

我知道我可以在drawable中定义自己的形状.无论如何,我必须在运行时设置背景颜色,所以我还需要更改视图并设置正确的背景颜色.

这是最好的方法吗?谢谢.

android color-picker android-arrayadapter android-spinner

2
推荐指数
1
解决办法
3559
查看次数