小编Jer*_*nce的帖子

为什么Spring 3在使用Maven时需要显式的cglib依赖声明?

我正在使用Spring 3和Maven.我在我的pom.xml中定义了所有spring模块.

当我使用时<aop:scoped-proxy />,我得到一个错误,说CGLIB丢失了.

好吧......我把CGLIB添加为我的pom中的一个依赖项,它全部运行...

我有点困惑...... Maven是一个依赖管理器......当我使用spring-aop模块时为什么不下载CGLIB?

这不是唯一的情况......为什么有些项目需要显式依赖声明而不是使用Maven传递依赖机制?

spring dependencies maven-2 maven

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

为什么request.getRemoteAddr()根据上下文(post query或ajax query)返回ipv4或ipv6

我已经使用Spring/GWT使用Flash上​​传文件.

当我用GWT发送ajax请求并尝试获取用户的ip地址时,我得到一个ipv4地址,如:127.0.0.1

但是当我用flash上​​传我的文件时(以及在同一个webapp上的post请求)我得到一个ipv6地址0:0:0:0:0:0:0:1

我使用相同的代码来获取用户ip,即:

ServletRequestAttributes att = (ServletRequestAttributes) RequestContextHolder.currentRequestAttributes();
att.getRequest().getRemoteAddr();
Run Code Online (Sandbox Code Playgroud)

问题是我使用一个使用ip地址的签名来确保用户可以上传文件(由于使用flash上​​传时会话丢失的错误)以及当我使用ajax或Post via flash时ip地址发生变化.

有什么问题,我怎么能得到相同的IP格式?

谢谢

java spring ipv4 ipv6 java-ee

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

Drools vs JBPM?差异,利弊

我正在寻找一个好的规则引擎.

我看到它存在两个很好的项目:JBPM和Drools.

我真的不明白两者之间的差异,我不知道什么是理想的工具.

您能否向我提供更多信息以及您对其中一个或另一个的体验,以及您认为最适合管理业务规则的内容.

drools jbpm business-rules

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

使用jpa和hibernate在orm.xml中定义命名查询

我正在尝试将我的命名查询放在我的orm.xml中(使用persistence.xml放入META-INF)但是我的orm.xml似乎被hibernate/jpa忽略了.

当我尝试使用em.createNamedQuery("myQuery")创建我的命名查询时,它返回它无法找到此查询.

我使用注释,我想在orm.xml中外化我的命名查询(仅限于此).

这是我的persistence.xml:

<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0">

<persistence-unit name="default" transaction-type="RESOURCE_LOCAL">
    <mapping-file>META-INF/orm.xml</mapping-file>

    <class>com.mysite.Account</class>

    <properties>
        <property name="hibernate.cache.provider_class" value="net.sf.ehcache.hibernate.EhCacheProvider" />
        <property name="hibernate.cache.use_query_cache" value="true" />
        <property name="hibernate.cache.use_second_level_cache" value="true" />
        <property name="hibernate.show_sql" value="true" />
        <property name="hibernate.format_sql" value="true" />
        <property name="use_sql_comments" value="false" />
        <property name="hibernate.dialect" value="org.hibernate.dialect.MYSQLDialect" />
        <property name="hibernate.c3p0.min_size" value="5" />
        <property name="hibernate.c3p0.max_size" value="20" />
        <property name="hibernate.c3p0.timeout" value="300" />
        <property name="hibernate.c3p0.max_statements" value="50" />
        <property name="hibernate.c3p0.idle_test_period" value="3000" />

        <property name="hibernate.search.default.directory_provider" value="org.hibernate.search.store.FSDirectoryProvider" />
    </properties>

</persistence-unit>

</persistence>
Run Code Online (Sandbox Code Playgroud)

这是我的orm.xml

<?xml version="1.0" encoding="UTF-8"?>
<entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm" …
Run Code Online (Sandbox Code Playgroud)

java orm hibernate jpa named-query

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

应该在哪里进行数据排序?服务器或客户端?

我从服务器获得了一些我在客户端使用GWT显示的数据.

GWT不是问题,您可以通过ajax调用替换GWT,也可以将其转换为真实的应用程序而不是Web应用程序.

应该在哪里进行排序?在服务器上?或者在客户端上使用javascript,收到数据后再显示它们?

javascript architecture sorting ajax gwt

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

TOMCAT_OPTS,环境变量和System.getEnv()

我使用tomcat,我想在我的java代码中获取一个环境变量.

要设置环境变量,我使用此bash命令:

export TOMCAT_OPTS=-Dmy.var=foo
Run Code Online (Sandbox Code Playgroud)

之后我开始tomcat

./startup.sh (in bin folder of tomcat)
Run Code Online (Sandbox Code Playgroud)

在我的java代码中,我尝试获取此变量:

System.getEnv("my.var")
Run Code Online (Sandbox Code Playgroud)

但它返回NULL.

我怎样才能做到这一点 ?

我确切地说,如果我使用maven启动tomcat并使用eclipse环境选项卡,则找到该变量!但我需要在生产模式下像上面一样启动tomcat.

编辑:当直接使用导出MY_VAR时,它在本地运行但不在我的服务器上运行...

java tomcat environment-variables maven

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

如何在儿童模块pom中获得超级pom基础?

我想在我的maven项目中定义一个本地存储库.

我有一个超级pom和几个子模块.我的文件结构是:

/root
    /repository
    /child
        pom.xml
    pom.xml
Run Code Online (Sandbox Code Playgroud)

在我的超级pom我定义:

<repository>
    <id>my-local-repo</id>
    <url>file://${basedir}/repository</url>
</repository>
Run Code Online (Sandbox Code Playgroud)

问题是在我的孩子pom中,我的超级pom中定义的存储库引用/ root/child/repository,因此无法找到依赖项...

有没有办法定义一条始终相对于超级pom的路径?

如果没有,解决问题的最佳方法是什么?

maven-2 maven

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

使用JPA绕过"未找到实体"错误

有时清除删除对实体的所有引用都很困难(或性能问题).

例如,我有一个Person对象,它与另一个Person对象有关系.

当我删除一个Person时,我不想在她可以拥有的所有关系中删除这个Person,因为有时这个Person对象不知道它被引用的位置.所以,如果我想清除删除所有引用,我必须做额外的SQL工作,这可能会导致性能问题.

在理想的世界中,我想删除Person对象,当另一个Person对这个Person进行引用时(因为它的关系中有id),只需返回null.

事实是JPA抱怨说

javax.persistence.EntityNotFoundException: No row with the given identifier exists
Run Code Online (Sandbox Code Playgroud)

有没有办法强制JPA返回空引用,在这种情况下不是例外?

hibernate jpa

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

偏执态度:您对网络安全问题的看法是什么?

这个问题可能与主观问题有关,但这不是真正的问题.

当您开发网站时,您必须知道几点:XSS攻击,SQL注入等.确保所有潜在的攻击都非常困难(并且需要很长时间才能编码).

我总是试图确保我的申请,但我不知道何时停止.

让我们举个相同的例子:像Facebook这样的社交网络.(因为银行网站必须保护其所有数据.)

我看到一些方法:

  1. 不保护XSS,SQL注入......当您信任您的用户时,这可以真正完成:私有企业的后端.但是你确保这种类型的应用程序安全吗?

  2. 仅当用户尝试访问非拥有数据时才进行安全攻击:这对我来说是最好的方法.

  3. 保护所有,所有,全部:保护所有数据(所有者与否):用户无法破坏自己的数据和其他用户数据:这是非常漫长的事情并且非常有用吗?

  4. 安全的常见攻击,但不能保护非常严重的攻击(因为与被黑客攻击的机会相比,代码太长了).

好吧,我真的不知道该怎么做......对我来说,我尝试做1,2,4,但我不知道这是不是很好的选择.

不保证所有数据安全是否存在可接受的风险?我可以保护所有数据但是我需要两倍的时间来编写代码吗?风险和"时间就是金钱"之间的企业方法是什么?

谢谢你分享这个,因为我认为很多开发人员都不知道什么是好的限制.

编辑:我看到很多回复谈论XSS和SQL注入,但这不是唯一需要注意的事情.

我们来一个论坛.一个帖子可以写在我们是主持人的论坛中.因此,当您将数据发送到客户端视图时,您可以添加或删除此论坛的"添加"按钮.但是当用户尝试在服务器端保存线程时,您必须检查该用户是否有权点对它(您不能信任客户端视图安全性).

这是一个非常简单的例子,但在我的一些应用程序中,我有一个权限层次结构,这可能非常难以检查(需要大量SQL查询...)但另一方面,它真的很难找到hack(数据在客户端视图中是伪加密的,有很多数据要修改以使黑客运行,黑客需要很好地理解我的应用程序规则才能进行黑客攻击):在这种情况下,我可以检查一下只有表面安全漏洞(非常容易入侵)或者我可以检查非常困难的安全漏洞(但它会降低我对所有用户的性能,并且需要很长时间才能开发).

第二个问题是:我们是否可以"信任"(不开发硬性和长期代码,这会降低性能)在客户端视图上进行非常严格的攻击?

这是另一篇关于这种黑客的帖子:(休眠和集合检查)安全问题:如何保护从客户端到服务器的Hibernate集合?

security web-applications

11
推荐指数
1
解决办法
285
查看次数

使用Hibernate,我如何查询表并返回键值对id> name的hashmap?

我有这张桌子:

table name : Account
Fields : id (varchar), name(varchar), other fields...
Run Code Online (Sandbox Code Playgroud)

我想用hibernate机制查询这个表(使用第二个缓存级别).hibernate查询的结果必须是哈希映射,其中键是字段id,值是字段名称.

如何用HQL编写它?

如果我使用map,我只能使用别名,如果我使用带有对象的构造函数,我必须将结果转换为hashmap,这非常耗时.

Example : 
Id | name | other fields
1 Jerome ...
2 Steve ...
3 Nick ...
Run Code Online (Sandbox Code Playgroud)

查询的结果必须是一个hashmap:

1>Jerome
2>Steve
3>Nick
Run Code Online (Sandbox Code Playgroud)

谢谢

sql hibernate hql

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