小编jos*_*inm的帖子

Jetty setInitParameter不初始化任何参数

我已经嵌入了Jetty,我正在尝试设置初始化参数.

主类Main创建一个Cgi的servlet,它扩展了CGI.

Main中,我有以下代码:

ServletContextHandler context2 = new ServletContextHandler(ServletContextHandler.SESSIONS);
context2.setContextPath("/cgi");
context2.setResourceBase("./cgi-bin");
context2.setInitParameter("commandPrefix", "perl");
context2.addServlet(new ServletHolder(new Cgi()), "/");
server.setHandler(context2);
Run Code Online (Sandbox Code Playgroud)

Cgi中,我查看参数:

public void init(ServletConfig servletConfig) throws ServletException {
        System.out.println(servletConfig.getInitParameter("commandPrefix"));
        super.init(servletConfig);
}
Run Code Online (Sandbox Code Playgroud)

每次,它都会为getInitParameter调用输出null .然后,当Cgi确实需要使用它时,它不会,因为它没有设置.为什么会发生这种情况?

java servlets jetty

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

如何从给定目录动态加载python类?

如果我定义一个模块模块与相应的目录module/,我可以动态加载来自子模块的类,如a.pyb.py

-
模块
----a.py ----b.py

这需要知道要搜索的班级名称吗?我可以设置一个基类,以某种方式加载这些孩子?

基本用例是允许用户编写程序将加载的自己的一些代码.与rails允许您在某些目录中编写自己的控制器,视图和模型的方式相同.

到目前为止我动态加载模块的代码是

def load(folder):
    files = {}
    for filename in os.listdir(folder):
      if (filename[0] != '_' and filename[0] != '.'):
        files[filename.rstrip('.pyc')] = None

    # Append each module to the return list of modules
    modules = []
    mod = __import__(folder, fromlist=files.keys())
    for key in files.keys():
      modules.append(getattr(mod, key))

    return modules
Run Code Online (Sandbox Code Playgroud)

我希望修改它以返回类对象.

python import

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

如何在 mmap 中指定偏移量和访问权限?

鉴于 mmap 的构造函数声明:

class mmap.mmap(fileno, length[, flags[, prot[, access[, offset]]]])

如何同时指定访问和偏移量?

该文件指出:

可以指定 access 代替 flags 和 prot 作为可选的关键字参数。同时指定标志、prot 和 access 是错误的。有关如何使用此参数的信息,请参阅上面的访问说明。

所以我试着做这样的事情

  • mmap.mmap(file_no, length, offset, access=mmap.ACCESS_COPY)
  • mmap.mmap(file_no, length, access=mmap.ACCESS_COPY, offset=offset)

    m = mmap.mmap(f.fileno(), 4, access=mmap.ACCESS_COPY, offset=2)
    回溯(最近一次调用最后一次):
    文件“”,第 1 行,在 mmap.error 中:[Errno 22] 无效参数

  • mmap.mmap(file_no, length, mmap.ACCESS_COPY, offset)

但我无法让它工作。为什么这让我如此困惑?

python mmap

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

暂停执行直到Websocket连接

我正在使用SocketRocket库来处理连接到Websocket.它连接得很好,但我正在尝试运行一些必须首先等待WS连接的单元测试.由于知道WS已连接的唯一方法是通过其委托方法,因此我无法使此进程同步.我希望我的单元测试setup方法只是创建一个WS连接,然后tearDown关闭它.

我已经为我的Websocket类实现了两种类型的连接方法.前两个是非常基本的,我已经验证它们按预期工作.最后一个是我试图阻止它主要用于测试目的.我无法让它工作,它最终等待永远,所以我认为这是一个概念上的误解.

我想我的大问题是如何在测试用例中停止执行以等待对委托的回复?测试用例中出现的问题是我不能在完成块中完成所有测试 - 测试方法看到这只是成功并结束程序.

- (void)connect
{
    DLog(@"Websocket is connecting now");
    [_socket open];
}


- (void)connectWithCompletion:(WebsocketConnection)completion
{
    DLog(@"Connecting now...");
    [_onConnectBlocksToRun addObject:^{
        completion(self.isConnected, self.socket);
    }];
    [_socket open];
}

- (bool)connectBlocking // XXX Doesn't work!
{
    sem = dispatch_semaphore_create(0);
    [_socket open];

    dispatch_semaphore_wait(sem, DISPATCH_TIME_FOREVER);
    return _isConnected;
}

#pragma mark - Socket rocket delegate
- (void)webSocketDidOpen:(SRWebSocket *)webSocket
{
    DLog(@"Websocket has opened");
    _isConnected = YES;
    _socket = webSocket;

    for (void(^block)() in _onConnectBlocksToRun) {
        block();
    }
    [_onConnectBlocksToRun removeAllObjects]; …
Run Code Online (Sandbox Code Playgroud)

iphone concurrency grand-central-dispatch ios

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

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

Bower + Git子模块+ Docker组合

我有6个git子模块,每个子模块都有自己的子模块Dockerfile.我docker-compose.yml用这种格式设置了我:

a:
  build: A
  dockerfile: Dockerfile
  ports:
    - "9000:9000"

b:
  build: B
  dockerfile: Dockerfile
  ports:
    - "3000:3000"

c:
  build: C
  dockerfile: Dockerfile
  ports:
    - "3001:3001"
Run Code Online (Sandbox Code Playgroud)

我的Dockerfiles一些人为bower安装依赖项做了一步,但是当发生这种情况时,它会出现以下错误:

bower open-sans#~1.1.0解决git://github.com/bungeshea/open-sans.git#~1.1.0 bower foundation#~5.5.1 ECMDERR无法执行"git ls-remote --tags - -heads git://github.com/zurb/bower-foundation.git",退出代码为#128致命:不是git存储库:../.git/modules/C

其他错误详细信息:致命:不是git存储库:../.git/modules/C服务'web'无法构建:命令'/ bin/sh -c npm install && npm install -g bower && bower install - allow-root && npm install -g gulp && gulp build'返回非零代码:1

git bower docker docker-compose

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

Python函数告诉我,当我只发送一个时,我发送了两个参数

我正在使用Google的webapp框架.

我在下面尝试做的只是将query.fetch的结果发送到一个函数,该函数将获取结果并使用它们创建一个表.

class Utilities(): 
  def create_table(results): 
  #Create a table for the results....
Run Code Online (Sandbox Code Playgroud)

变量results从query.fetch返回两个结果

results = query.fetch(10) #This returns two results
util = Utilities()
util.create_table(results)
Run Code Online (Sandbox Code Playgroud)

然后我得到了错误

util.create_table(results)TypeError:create_table()只取1个参数(给定2个)

我以为results会自动通过引用传递.我错了吗?

python google-app-engine

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

如何获取单元格或任何子视图的相对屏幕坐标?

我有一长串的表格视图单元格.当我尝试从列表中获取其中一个帧时,我会得到类似的结果:(0, 508) (56, 320) (x,y)(height, width)

我想知道关于当前屏幕的这些坐标 - 在320x480范围内.在获得self.view.window(通过convertRange)方面的坐标后,我尝试过像508%480这样的事情,但我仍然没有看到我期待的结果.

我在单元格顶部初始化一个视图,然后伸展以填满整个屏幕.当单元格位于屏幕顶部时,这没有问题,但是当单元格在列表中较低时,它会导致错误的动画.

ios

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

使对象的属性可迭代

我收到一个包含多个属性的列表,如下所示:

results = q.fetch(5)
for p in results:
    print "%s %s, %d inches tall" % (p.first_name, p.last_name, p.height
Run Code Online (Sandbox Code Playgroud)

是否有可能迭代这些属性,所以我可以做类似的事情for x in p.我想检查每一个的值,但我不想创建一个巨大的IF语句块.

python iteration google-app-engine

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

在运行时在Perl中自动加载perl模块

有没有办法在运行时在Perl中加载整个模块?我以为我找到了一个很好的解决方案autouse但是下面的一些代码无法编译:

包tryAutouse2;
使用autouse'tryAutouse';
my $ obj = tryAutouse-> new();

我想这是因为autouse它特意用于导出函数,我是否正确?由于编译失败,是不可能有一个打包的解决方案?require如果我想要动态加载,我是否被迫在每个新模块调用之前?

这背后的原因是我的团队加载了很多模块,但我们担心这会占用内存.

perl memory-management

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