我可以在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对象.
使输入文本只接受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)
有人可以帮忙吗?
In nodejs, the arguments of fs.utimes should be written in what format?e.g.atime,mtime.
API: fs.utimes(path, atime, mtime, callback)
我创建了一个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)
知道为什么默认框架创建会给出这些警告吗?
鉴于以下代码:
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 框架具有此功能,则它们是可以接受的
我一直在使用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.链接很好,作为答案.
这个问题是上一个问题的延续。我编写了以下代码来确定是否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 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 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)
Stream<T>as的声明Stream<List<int>>让我有点困惑。为什么不将其声明为Stream<int>. List<> 类型如何使它与众不同。如果是列表,订阅者事件是否以某种方式缓冲?
什么类型(如<T>)被传递给第一个转换?它是一个int还是一个List<int>?
传递给每个下一个转换的类型以及决定它们的类型的因素。
此示例是否在将转换结果传递给下一个转换之前读取整个文件?如果是这样,是否有关于如何流式传输非常大的文件的示例,类似于这个 Node 问题Parsing large logfiles in Node.js - read …
这个问题已经被问到,但OP接受的答案没有满足我的特殊需求.
我有一个实用程序脚本,可以为多个集合添加大量记录.实际上它只是一个导入,使用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,从而关闭数据库.
dart ×4
dart-io ×2
javascript ×2
node.js ×2
angularjs ×1
cxf ×1
dart-async ×1
gwt ×1
java ×1
mongodb ×1
objective-c ×1
regex ×1
rest ×1
web-services ×1
xcode ×1