小编Nat*_*son的帖子

在restful Web服务中访问HttpServletRequest对象

我可以在soap Web服务中访问HttpServlet Request对象,如下所示:在服务实现中为WebServiceContext声明一个私有字段,并将其注释为资源:

@Resource
private WebServiceContext context;
Run Code Online (Sandbox Code Playgroud)

要获取HttpServletRequet对象,我编写如下代码:

MessageContext ctx = context.getMessageContext();
HttpServletRequest request =(HttpServletRequest)ctx.get(AbstractHTTPDestination.HTTP_REQUEST);
Run Code Online (Sandbox Code Playgroud)

但这些东西并不适用于宁静的Web服务.我正在使用Apache CXF开发restful web服务.请告诉我如何才能访问HttpServletRequest对象.

java rest web-services cxf restful-authentication

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

仅对于数字的ng-pattern将接受angular.js中的' - '之类的字符

使输入文本只接受0-9之间的数字的模式.

这是我的模式:

$scope.onlyNumbers = /[\u0030-\u0039]+/g;
Run Code Online (Sandbox Code Playgroud)

出于某种原因,即使不在我声明的范围内,也会接受像' - '这样的字符.

这是我的输入html:

  <input style="width:40%;" type="text" name="phone" ng-minlength="10" ng-maxlength="15" ng-model="register.phone" placeholder='cell phone' ng-pattern="onlyNumbers" required title="please enter cell phone">
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?

javascript regex angularjs

13
推荐指数
2
解决办法
8万
查看次数

What format is used for nodejs fs.utimes

In nodejs, the arguments of fs.utimes should be written in what format?e.g.atime,mtime.

API: fs.utimes(path, atime, mtime, callback)

javascript node.js

10
推荐指数
1
解决办法
2475
查看次数

以前没有非静态变量'FrameworkNameVersionString'的extern声明

我创建了一个iOS框架,说CustomFramework和Xcode创建的CustomFramework.h文件默认具有以下内容

#import <UIKit/UIKit.h>

//! Project version number for CustomFramework.
FOUNDATION_EXPORT double CustomFrameworkVersionNumber;

//! Project version string for CustomFramework.
FOUNDATION_EXPORT const unsigned char CustomFrameworkVersionString[];

// In this header, you should import all the public headers of your framework  using statements like #import <CustomFramework/PublicHeader.h>
Run Code Online (Sandbox Code Playgroud)

当我构建项目时,我收到了这些警告

No previous extern declaration for non-static variable 'CustomFrameworkVersionNumber'
No previous extern declaration for non-static variable 'CustomFrameworkVersionString'
Run Code Online (Sandbox Code Playgroud)

知道为什么默认框架创建会给出这些警告吗?

xcode objective-c ios-frameworks

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

文本框上的 GWT 输入事件

鉴于以下代码:

    TextBox tb = new TextBox();
    tb.addValueChangeHandler(new ValueChangeHandler<String>() {

        @Override
        public void onValueChange(ValueChangeEvent<String> event) {
            Window.alert(event.getValue());

        }
    });
Run Code Online (Sandbox Code Playgroud)

onValueChange如果TextBox失去焦点将被调用。我试图在输入值发生变化时调用它。我读过的所有解决方案都涉及处理 keyup 和 paste 事件,例如在这个答案中。如何在 GWT 中构建 Facebook 风格的输入框 这不是 GWT 2.5.1 中的地址吗?有没有办法绑定到本机输入更改方法?如果其他小部件或使用 UI 框架具有此功能,则它们是可以接受的

gwt

7
推荐指数
1
解决办法
5437
查看次数

如何使用Dart http_server:VirtualDirectory

我一直在使用dart:routeapi来提供静态文件,但我注意到有一个核心库http_server,它包含了帮助程序类和函数dart:io HttpServer.

我特别感兴趣的是这个类VirtualDirectory,根据文档,它为目录的静态内容获取一个String对象,然后调用该方法serve()

var virtualDirectory = new VirtualDirectory('/var/www/');
virtualDirectory.serve(new HttpServer('0.0.0.0', 8080));
Run Code Online (Sandbox Code Playgroud)

这不起作用,因为没有HttpServer的构造函数 - 至少在当前版本中没有.

virtualDirectory.serve(HttpServer.bind('0.0.0.0', 8080));
Run Code Online (Sandbox Code Playgroud)

这是我实例化服务器的方式也失败了,因为virtualDirectory.serve()没有采取Future<HttpServer>最后:

virtualDirectory.serve(HttpServer.bind('0.0.0.0', 8080).asStream());
Run Code Online (Sandbox Code Playgroud)

也失败了 参数类型'Stream'无法分配给参数类型'Stream'

那么如何将VirtualDirectory连接到服务器?我没有在线可以找到的示例,VirtualDirectory源代码也没有说清楚.如果我能用FTFM,我会RTFM.链接很好,作为答案.

dart dart-io

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

如何在 Dart 中逐行读取文件

这个问题是上一个问题的延续。我编写了以下代码来确定是否File.openRead()创建了可以逐行流式传输的 Stream。事实证明答案是否定的。读取整个文件,然后传递到下一个转换。我的问题是:如何在 Dart 中逐行流式传输文件?

import 'dart:async';
import 'dart:convert';
import 'dart:io';


void main(List<String> arguments) {

  Stream<List<int>> stream = new File('Data.txt').openRead();

   stream
      .transform(const Utf8InterceptDecoder())
        .transform(const LineSplitterIntercept())
          .listen((line) {
//            stdout.writeln(line);
          }).asFuture().catchError((_) => print(_));
}

int lineSplitCount = 0;

class LineSplitterIntercept extends LineSplitter {

  const LineSplitterIntercept() : super();
  // Never gets called
  List<String> convert(String data) {
    stdout.writeln("LineSplitterIntercept.convert : Data:" + data);
    return super.convert(data);
  }

  StringConversionSink startChunkedConversion(ChunkedConversionSink<String> sink) {
    stdout.writeln("LineSplitterIntercept.startChunkedConversion Count:"+lineSplitCount.toString()+ " Sink: " + sink.toString());
    lineSplitCount++;
    return super.startChunkedConversion(sink);
  }
} …
Run Code Online (Sandbox Code Playgroud)

dart dart-io

6
推荐指数
2
解决办法
6129
查看次数

晦涩的Dart语法

在完成客户端编码Dart Route库示例时, 我遇到了这个片段.

 var router = new Router()
    ..addHandler(urls.one, showOne)
    ..addHandler(urls.two, showTwo)
    ..addHandler(urls.home, (_) => null)
    ..listen();
Run Code Online (Sandbox Code Playgroud)

我的问题是如何(_) => null工作?它似乎指定了一个返回null值的函数但是什么(_)意思呢?

dart

4
推荐指数
2
解决办法
272
查看次数

Dart 中的 Stream&lt;List&lt;int&gt;&gt; 和 Stream&lt;int&gt; 有什么区别

我正在尝试围绕 Dart Streams 进行思考。特别是这个命令行实用程序示例cat具有以下代码行:

 Stream<List<int>> stream = new File(path).openRead();

  // Transform the stream using a `StreamTransformer`. The transformers
  // used here convert the data to UTF8 and split string values into
  // individual lines.
  return stream
      .transform(UTF8.decoder)
      .transform(const LineSplitter())
      .listen((line) {
        if (showLineNumbers) {
          stdout.write('${lineNumber++} ');
        }
        stdout.writeln(line);
      }).asFuture().catchError((_) => _handleError(path));
Run Code Online (Sandbox Code Playgroud)
  1. Stream<T>as的声明Stream<List<int>>让我有点困惑。为什么不将其声明为Stream<int>. List<> 类型如何使它与众不同。如果是列表,订阅者事件是否以某种方式缓冲?

  2. 什么类型(如<T>)被传递给第一个转换?它是一个int还是一个List<int>

  3. 传递给每个下一个转换的类型以及决定它们的类型的因素。

  4. 此示例是否在将转换结果传递给下一个转换之前读取整个文件?如果是这样,是否有关于如何流式传输非常大的文件的示例,类似于这个 Node 问题Parsing large logfiles in Node.js - read …

dart dart-async

4
推荐指数
1
解决办法
2219
查看次数

插入许多文档后关闭node.js中的mongodb连接

这个问题已经被问到,但OP接受的答案没有满足我的特殊需求.

在插入大量数据时关闭node.js中的mongodb连接

我有一个实用程序脚本,可以为多个集合添加大量记录.实际上它只是一个导入,使用byline读取非常大的文本文件,然后将数据插入到集合中:

var MongoClient = require("mongodb").MongoClient;
var fs = require("fs");
var byline = require("byline");

var inStream = fs.createReadStream("data.txt", { encoding: "utf8" });

var byLineStream = byline.createStream(inStream);

MongoClient.connect("mongodb://localhost:27017/test", { native_parser: true}, function(err, db) {  
    var collection = db.collection("Data");
    db.dropCollection("Data", function(err, result) {
        byLineStream.on("data", function(line) {
            var o = parseLineToObject(line);
            collection.insert(o);
        });
    });
});
Run Code Online (Sandbox Code Playgroud)

建议的答案是将所有数据推送到一个数组中,然后在完成后使用单个write和一个回调来关闭数据库.这不是一个好的答案,因为我正在使用的文件非常大,因此消耗大量内存.

提出类似问题的另一个解决方案是使用async包创建一个函数数组,然后并行运行它们.另一个半身像,但至少它不会创造一个巨大的单一插入.

所以问题是:如果所有插入完成后如何关闭MongoDB连接,以便我的脚本退出并且不挂起?

我应该补充一点,我已经尝试了计数方法,我在insert回调中增加了一个计数器变量.它不起作用,因为在插入中的某个时刻,回调执行和完成的速度比插入完成的速度快,导致计数器在插入仍然继续时命中0,从而关闭数据库.

mongodb node.js

4
推荐指数
1
解决办法
2228
查看次数