小编Mik*_*dge的帖子

如何向VisualVM提供JVM参数?

我正在使用JDK 1.6.0_26中的VisualVM来分析在Tomcat下运行的Java webapp,但VisualVM经常告诉我它没有足够的内存来拍摄快照,并且使用-Xmx开关为Netbeans提供更多内存.问题是,我在Netbeans之外运行VisualVM,那么如何向jvisualvm.exe提供JVM参数?

java windows jvm visualvm

93
推荐指数
4
解决办法
5万
查看次数

我如何识别邪恶的正则表达式?

我最近意识到正则表达式拒绝服务攻击,并决定在我的代码库中找到所谓的"邪恶"正则表达式模式 - 或者至少在用户输入上使用它们.上面的OWASP链接维基百科提供的示例很有帮助,但他们并没有很好地用简单的术语解释问题.

来自维基百科的邪恶正则表达式的描述:

  • 正则表达式将重复("+","*")应用于复杂的子表达式;
  • 对于重复的子表达式,存在一个匹配,它也是另一个有效匹配的后缀.

通过示例,再次来自维基百科:

  • (a+)+
  • ([a-zA-Z]+)*
  • (a|aa)+
  • (a|a?)+
  • (.*a){x} 对于x> 10

这是一个没有更简单解释的问题吗?我正在寻找能够在编写正则表达式时更容易避免这个问题,或者在现有代码库中找到它们的东西.

regex

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

使用Maven,如何运行特定测试?

我的项目中有成千上万的单元测试,我想从命令行中选择一个或几个单元测试.这样做的命令是什么?

unit-testing maven

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

每次测试后如何从HSQLDB中擦除数据?

我已经在我的项目中编写了一些JUnit测试,用于在setup方法中填充数据.现在我已将maven添加到我的项目中,并且我希望从maven执行所有测试用例,即使用mvn test.现在的问题是我的数据库在每个测试类运行后都没有被清除.我需要在每个类的测试用例运行后清除HSQLDB.

java junit hibernate hsqldb

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

如何在JSP中以几种不同的方式对List进行排序?

我有一个Player对象列表从控制器传递到JSP,我想在同一页面上以几种不同的方式显示它们:

  • 按名称排序的菜单
  • 按赢/输百分比排序的列表

我可以在模型中放置单独的排序副本,但处理显示相同列表的不同方式似乎更像是视图的责任,所以我想避免将逻辑放在控制器中,如果可以的话.我已经有几个实现Comparator的类来帮助实际排序.

在JSP中执行此操作的最佳方法是什么?

我可以在将列表传递给不同的forEach标签之前对其进行排序吗?

java sorting jsp

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

在nodejs中使用FilterExpression进行DynamoDB扫描

我正在尝试从DynamoDB表中检索匹配a的所有项目FilterExpression,虽然扫描了所有项目并且一半匹配,但不会返回预期的项目.

我在Node.js 6.10上运行的AWS Lambda函数中有以下内容:

var AWS = require("aws-sdk"),
    documentClient = new AWS.DynamoDB.DocumentClient();
function fetchQuotes(category) {
    let params = {
        "TableName": "quotient-quotes",
        "FilterExpression": "category = :cat",
        "ExpressionAttributeValues": {":cat": {"S": category}}
    };
    console.log(`params=${JSON.stringify(params)}`);
    documentClient.scan(params, function(err, data) {
        if (err) {
            console.error(JSON.stringify(err));
        } else {
            console.log(JSON.stringify(data));
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

表中有10个项目,其中一个是:

{
  "category": "ChuckNorris",
  "quote": "Chuck Norris does not sleep. He waits.",
  "uuid": "844a0af7-71e9-41b0-9ca7-d090bb71fdb8"
}
Run Code Online (Sandbox Code Playgroud)

使用"ChuckNorris"类别进行测试时,日志显示:

params={"TableName":"quotient-quotes","FilterExpression":"category = :cat","ExpressionAttributeValues":{":cat":{"S":"ChuckNorris"}}}
{"Items":[],"Count":0,"ScannedCount":10}
Run Code Online (Sandbox Code Playgroud)

scan当我只指定时,该调用返回所有10个项目TableName:

params={"TableName":"quotient-quotes"}
{"Items":[<snip>,{"category":"ChuckNorris","uuid":"844a0af7-71e9-41b0-9ca7-d090bb71fdb8","CamelCase":"thevalue","quote":"Chuck Norris does not sleep. He waits."},<snip>],"Count":10,"ScannedCount":10}
Run Code Online (Sandbox Code Playgroud)

node.js amazon-dynamodb aws-lambda

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

JSP自定义标记库与JSP2标记文件

任何人都可以解释JSP自定义标记库和JSP 2标记文件背后的想法吗?

他们只是以不同的方式做同样的事情吗?

他们如何比较?它们的优点和缺点是什么,哪个更好?

jsp jsp-tags

7
推荐指数
2
解决办法
5659
查看次数

为Spring Data REST注册Jackson模块

我有一个基于Spring Data REST 示例项目的工作项目,我正在尝试使用基于此Wiki页面Jackson模块进行自定义序列化.

这是我的杰克逊模块:

public class CustomModule extends SimpleModule {
    public static Logger logger = LoggerFactory.getLogger(CustomModule.class);

    public CustomModule() {
        super("CustomModule", new Version(1, 0, 0, null));
    }

    @Override
    public void setupModule(SetupContext context) {
        logger.debug("CustomModule.setupModule");
        SimpleSerializers simpleSerializers = new SimpleSerializers();
        simpleSerializers.addSerializer(new CustomDateTimeSerializer());
        context.addSerializers(simpleSerializers);
    }

}
Run Code Online (Sandbox Code Playgroud)

wiki页面说:

在ApplicationContext范围内声明的任何Module bean都将被导出器选中并在其ObjectMapper中注册.

我还是Spring的新手,所以我可能只是把我的模块bean定义放在错误的地方; 目前它在src/main/resources/META-INF/spring-data-rest/shared.xml,从repositories-export.xml以下导入:

<bean id="customModule" class="org.hierax.wpa.schema.mapping.CustomModule" />
Run Code Online (Sandbox Code Playgroud)

我没有看到日志语句setupModule,但我确实看到同一个包中其他类的日志输出.

我正在使用Spring Data REST 1.0.0.RC2.

jackson spring-data-rest

7
推荐指数
2
解决办法
9216
查看次数

在Eclipse中失去焦点时,如何停止树视图展开/折叠图标褪色?

我正在使用Eclipse Helios,并注意到当我将焦点移离它时,包浏览器中的树视图现在会自动隐藏展开/折叠树图标.我个人觉得这种行为有点分散注意力,并且想知道是否有人知道如何禁用它?

java eclipse

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

管理数据库更新

我一直在想办法改进对数据库结构的管理变更.我有一个构建服务器来创建夜间构建,因此我认为我们可以在测试环境中以某种方式创建数据库转储,备份和脚本,作为构建过程的一部分.然后,当将更新部署到客户端时,我们可以使用DBDiff之类的工具来创建数据库更新脚本.

有人在做类似的事吗?这甚至是个好主意吗?也许一些很好的提示在构建服务器上使用什么来创建这些转储?

sql build

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

如何在Android上存储SQLite中的字符串集合?

我在应用程序中使用数据库时缺乏经验,所以我需要一些指导.

我有一个带有几个原始字段的Java对象,以及对Strings和ArrayList对象的几个引用.原语和字符串很好地映射到可用的SQLite字段,但我不确定如何持久保存ArrayLists.

我正在娱乐两个想法,其中一个是序列化ArrayLists并将它们存储在Text字段中,另一个是有一个指向arity 1的表的列,我可以在其中存储单个字符串,但是我我不确定如何在android中实现这一点.我对不同的方法持开放态度,但我不知道如何使用SQLite在java中实现后者,因此解决方案很可爱.谢谢.

java database sqlite android

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

在Spring Security中使用自定义异常

我创建了一个自定义AuthenticationProvider来执行自定义安全检查.我还创建了继承的自定义异常,AccountStatusException以通知用户状态问题,例如用户在特定时间段内未验证其帐户的UserDetails情况.我也是自定义实现.

这是我执行的安全检查的代码.省略了与案例无关的代码.

public class SsoAuthenticationProvider implements AuthenticationProvider {

    public Authentication authenticate(Authentication authentication) throws AuthenticationException {
        String username = (String) authentication.getPrincipal();
        User user = null;
        if (username != null) {
            user = getUserRepository().findByUserName(username);
            if (user != null) {
                if (user.getEnabled() != 0) {
                    if ((user.getUserDetail().getConfirmed() != 0)
                            || ((new Date().getTime() - user.getUserDetail().getRequestDate().getTime()) / (1000 * 60 * 60 * 24)) <= getUnconfirmedDays()) {
                        if (getPasswordEncoder().isPasswordValid(user.getPassword(),
                                (String) authentication.getCredentials(), user)) {
                            user.authenticated = true;
                            user.getAuthorities();
                        }
                    } …
Run Code Online (Sandbox Code Playgroud)

java spring-security

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

为什么我的查询没有返回任何结果?

为什么这个sql查询只显示结果,如果他们在users_warnings中只有一行?

SELECT 
 u.id, 
 uw.warning 
FROM 
 users u
 INNER JOIN users_warnings uw ON (
  u.id = uw.uID
 )
LIMIT 21
Run Code Online (Sandbox Code Playgroud)

我希望向所有用户显示,但也会抓取users_warnings中的"警告"列,如果有的话.

mysql sql join inner-join outer-join

3
推荐指数
2
解决办法
127
查看次数