小编Ill*_*huk的帖子

如何基于用户数据的一些哈希生成自定义JSESSIONID以便复制会话

是否可以覆盖Tomcat的JSESSIONID嵌入式生成器,以便能够根据用户的登录名创建此cookie的自定义值?

为什么我需要这样的:我有"粘性会话",配置为将请求路由具有相同JSESSIONID到同一台服务器的负载均衡,我想阻止的情况下,当相同的用户可以开始在不同的服务器上的两个不同的会话.

PS:所有这些都与Amazon EC2有关

java session amazon-ec2 tomcat6 jsessionid

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

如何在发送请求体之前检查PUT是否可以执行?

注意:我们在客户端使用lib_neon,在服务器端使用Tomcat和servlet api.

问题在于:当客户端想要放置一些内容时,它会执行带有"Expect:100-continue"标头的PUT请求,Tomcat通过简单地返回状态100继续处理它,然后客户端开始发送请求的剩余部分,它由我们的自定义过滤器处理,并且通常不会通过(例如用户未经授权,或尝试放置过大的文件,超出用户限制或其他内容).过滤器会立即发送错误响应,但客户端仅在提交完整请求主体时才读取响应.

似乎不可能手动发送一些东西而不是100 Continue状态,​​当某些检查失败时,这种行为被硬编码到tomcat中,有没有其他方式不上传请求体,何时不可能?

http tomcat6 neon http-status-code-100

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

List(1,2,3)如何在Scala中运行?

这在Scala中如何工作?

val something = List(1,2,3)
Run Code Online (Sandbox Code Playgroud)

List是抽象的,你不能通过调用来构造它new List(),但List(1,2,3)工作得很好.

scala list

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

什么时候需要将java中的十六进制文字转换为(byte)?

出于测试目的,我尝试创建一个这样的数组:

byte[] expected = new byte[]{0x2f, 0x0d4, 0xe1, 0xc6, 0x7a, 0x2d, 0x28, 0xfc}
Run Code Online (Sandbox Code Playgroud)

我曾预料到,java会抱怨并会要求我将每个文字转换为(byte),但出乎意料的是,它要求我只转换0x4d,例如,而不是0x2f.工作实例:

new byte[]{0x2f, (byte) 0xd4, (byte) 0xe1, (byte) 0xc6, 0x7a, 0x2d, 0x28, (byte) 0xfc}
Run Code Online (Sandbox Code Playgroud)

这是如何运作的?

java hex casting

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

为什么RandomAccessFile使用int作为偏移量

我正在编写一些数据访问测试实现,我需要随机访问文件内容.这是代码:

RandomAccessFile randomAccessFile = new RandomAccessFile(file, "rwd");
final byte b[] = IOUtils.toByteArray(source);
randomAccessFile.write(b, (int) offset, size);
Run Code Online (Sandbox Code Playgroud)

其中offset的类型为long.为什么RandomAccessFile没有提供方法:

public void write(byte b[], long off, int len)
Run Code Online (Sandbox Code Playgroud)

如何覆盖此问题?

java int random-access long-integer

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

重命名导入的静态函数有什么问题?

请考虑以下Scala代码:

    object MainObject {

    def main(args: Array[String]) {

      import Integer.{
        parseInt => atoi
      }

      println(atoi("5")+2);

      println((args map atoi).foldLeft(0)(_ + _));

  }
Run Code Online (Sandbox Code Playgroud)

第一个println正常工作并输出7,但第二个,尝试映射字符串数组对函数atoi不起作用,错误"值atoi不是对象java.lang.Integer的成员"

有什么不同?

import scala

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

SQLAlchemy内省

我想要做的是从SqlAlchemy实体定义获取它的所有列(),确定它们的类型和约束,以便能够预先验证,转换数据并向用户显示自定义表单.

我怎么能反省呢?

例:

class Person(Base):
    '''
        Represents Person
    '''
    __tablename__ = 'person'

    # Columns
    id = Column(String(8), primary_key=True, default=uid_gen)
    title = Column(String(512), nullable=False)
    birth_date = Column(DateTime, nullable=False)
Run Code Online (Sandbox Code Playgroud)

我想得到这个id,标题,出生日期,确定他们的限制(例如标题是字符串,最大长度是512或birth_date是日期时间等)

谢谢

python sqlalchemy introspection

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

如果调用者不知道大小,如何在不分配数组的情况下返回数组?

考虑以下功能:

int get_something (int* array, int size);
Run Code Online (Sandbox Code Playgroud)

它的目的是用来自外部资源的数据填充传递的数组[size](查询到资源是昂贵的).问题是该做什么,如果资源有更多的元素,比提供的数组可以处理?什么是最好的方法?

编辑:当前解决方案添加:

我们的方法目前如下:

当用户第一次调用get_something()时,使用null参数我们执行完整的Query,在缓存中分配数据(这只是一个键值存储)并返回许多项.

当用户下次调用get_something()时,使用正确初始化的缓冲区,我们从缓存返回数据并清除缓存条目.

如果用户未调用get_something(),则会发生超时并释放该项的缓存.

如果用户调用get_something()太晚,并且数据已被清除,我们会生成错误状态,因此用户知道他必须重复请求.

c

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

集合之间的复制顺序

在我的应用程序中,我需要按照请求的顺序保持结果集合(用户发送他想要的列表,并且希望以相同的顺序回答他).

数据,我将发送给用户的内容由底层图层生成,它们既不知道正确的顺序,也不生成有序的结果.所以我必须自己订购.

我的方法是遵循,但我认为没有必要实现它,因为应该有一些标准的方法.那么,你会推荐什么?

public class KeepOrder {

/**
 * Knows how to extract A from B.
 * 
 * @param <A>
 * @param <B>
 */
public interface Extractor<A, B> {

    A extract(B from);

}

@SuppressWarnings("serial")
public static <T, F> Collection<T> keepOrder(final Collection<T> data, final Collection<F> order,
        final Extractor<F, T> extractor) {

    final Comparator<T> tComparator = new Comparator<T>() {

        @Override
        public int compare(final T o1, final T o2) {

            final F field1 = extractor.extract(o1);
            final F field2 = extractor.extract(o2);

            for (final F …
Run Code Online (Sandbox Code Playgroud)

java sorting collections

0
推荐指数
1
解决办法
127
查看次数