小编Tom*_*icz的帖子

单元测试依赖于Spring的WebApplicationContextUtils.getRequiredWebApplicationContext(context)的Servlet

我想WebApplicationContextUtils.getRequiredWebApplicationContext(context)在其init()方法中对依赖于Spring的servlet代码进行单元测试.

以下是代码的一部分:

@Override
public void init() throws ServletException {
super.init();
WebApplicationContext applicationContext =
    WebApplicationContextUtils.getRequiredWebApplicationContext(getServletContext());
this.injectedServiceBean = (SomeService) applicationContext.getBean("someBean");
}
Run Code Online (Sandbox Code Playgroud)

将适当的applicationContext.xml(测试版本)注入此文本的最佳方法是什么?

我知道Spring的@ContextConfiguration,但是我不确定将${testClass}Test-context.xml注释加载到servlet上下文中的上下文注入的最佳方法,以便getRequiredWebApplicationContext(...)可以返回它.

java spring unit-testing servlets applicationcontext

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

将不同语言(阿拉伯语和英语)一起显示的原则是什么?

比如这句话:

عفوايبدوأنالنظاملايستطيعتحديدأنكمنعملاءSTCأملا,فإذاكنتعميلSTCالرجاءالضغطعلىزر "إعادةالمحاولة",وإذالمتكنمنعملاءSTCالرجاءالضغطعلىزر"لستعميلSTC

阿拉伯语是RTL,英语是LTR.有时复制和粘贴后文本会变得混乱.当我在英语和阿拉伯语字符之间移动句子内的光标时,它会以一种非常奇怪的方式跳跃.而且我也对它如何存储在内存中感到困惑.任何人都可以帮忙解释一下吗?

html string unicode arabic

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

如何检查控制器中的CAPTCHA?

我需要检查控制器中的CAPTCHA,所以我应该从会话表中获取CAPTCHA会话值.我检查会话表,我看到这样的事情:

Yii.CCaptchaAction.3bbe352e.controllername.captcha|s:7:"xemobin"
Run Code Online (Sandbox Code Playgroud)

这是什么"3bbe352e"?

这个值是不变的吗?

我能在这样的控制器中检查CAPTCHA会话吗?

if ($session['Yii.CCaptchaAction.3bbe352e.controllername.captcha']==$_POST['captcha'])
Run Code Online (Sandbox Code Playgroud)

php yii

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

并发更新期间Hibernate StaleObjectStateException

我在Java J2EE Web应用程序中使用Hibernate 3.5.2和Spring Core 3.0.1.当单独的用户同时更新同一记录时,我得到一个StaleObjectStateExcpetion.事务由javax.persistence.EntityManager管理.以下是我创建问题的步骤.

  1. User1登录到应用程序
  2. User2登录到应用程序
  3. User1开始编辑recordA
  4. User2开始编辑recordA
  5. User1保存记录A.
  6. User2保存记录A.
  7. 抛出org.hibernate.StaleObjectStateException(见下文)

我已经读过这是由数据库中更新的版本号与该特定实体当前在内存中的版本号之间的差异引起的.但是,当我尝试使用查询或使用EntityManager.find()方法从数据库中查找当前版本号以从数据库中获取最新信息时,我发现版本号没有区别.我还试图手动并使用entityManager.merge(object)方法合并旧实体和新实体之间的更改,但没有运气.有关如何解决此问题的任何想法?

13290 [http-8080-7] ERROR org.hibernate.event.def.AbstractFlushingEventListener  - Could not synchronize database state with session
org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [edu.pitt.nmrl.med.domain.medical.MedicalHistory#362]
    at org.hibernate.persister.entity.AbstractEntityPersister.check(AbstractEntityPersister.java:1934)
    at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2578)
    at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2478)
    at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2805)
    at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:114)
    at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:268)
    at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:260)
    at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:180)
    at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)
    at org.hibernate.event.def.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:64)
    at org.hibernate.impl.SessionImpl.autoFlushIfRequired(SessionImpl.java:1175)
    at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1251)
    at org.hibernate.impl.QueryImpl.list(QueryImpl.java:102)
    at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:241)
    at org.hibernate.ejb.criteria.CriteriaQueryCompiler$3.getResultList(CriteriaQueryCompiler.java:260)
    at edu.pitt.nmrl.med.services.SurveyService.checkMedicalDup(SurveyService.java:613)
    at edu.pitt.nmrl.med.services.SurveyService.save(SurveyService.java:790)
    at edu.pitt.nmrl.med.services.SurveyService$$FastClassByCGLIB$$b6424505.invoke(<generated>)
    at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:191)
    at …
Run Code Online (Sandbox Code Playgroud)

spring hibernate java-ee

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

对于最多10个元素的数组:for loop copy或System.arrayCopy?

假设Java中有10个或更少的Object [],那么复制数组的最快方法是什么?

  1. for(int i = 0;i < a.length;i++)
    
    Run Code Online (Sandbox Code Playgroud)
  2. for(int i = 0,l = a.length;i < l;i++) // i.e. is caching array len in local var faster?
    
    Run Code Online (Sandbox Code Playgroud)
  3. System.arrayCopy(a, 0, a2, 0, a.length);
    
    Run Code Online (Sandbox Code Playgroud)

java arrays copy

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

Spring安全密码hash + salt

我正在使用以明文形式存储密码的遗留应用程序.我已将应用程序移植到spring 3 mvc + security.我还成功地使用sha256 +基于用户名的盐来获得Spring安全性处理认证和授权.这一切都很好,但作为部署的一部分,我将需要迁移现有数据库以使用新密码模式.我不确定Spring安全性如何使用salt进行密码散列,因此我无法编写可用于将旧明文密码迁移到新sha256 + salt模式的sql脚本.是否有任何文档或资源可用于解决这个问题?

java spring salt spring-security saltedhash

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

GWT XML替换类

<module>
<inherits name="com.google.gwt.core.Core"/>
<inherits name="com.google.gwt.user.UserAgent"/>
<inherits name="com.google.gwt.user.User"/>

<replace-with class="hu.goodimpress.szamlazo.ajax.client.utils.JSON.JsonReader">
<when-type-is class="com.extjs.gxt.ui.client.data.JsonReader"/>
<when-property-is name="user.agent" value="gecko1_8"/>
</replace-with>
<replace-with class="hu.goodimpress.szamlazo.ajax.client.utils.JSON.JsonReader">
<when-type-is class="com.extjs.gxt.ui.client.data.JsonReader"/>
<when-property-is name="user.agent" value="opera"/>
</replace-with>
<replace-with class="hu.goodimpress.szamlazo.ajax.client.utils.JSON.JsonReader">
<when-type-is class="com.extjs.gxt.ui.client.data.JsonReader"/>
<when-property-is name="user.agent" value="safari"/>
</replace-with>


<inherits name="com.extjs.gxt.ui.GXT"/>
<inherits name="hu.goodimpress.szamlazo.ajax.Start"/>


<entry-point class="hu.goodimpress.szamlazo.client.Szamlazo"/>
</module>
Run Code Online (Sandbox Code Playgroud)

但是gwt没有改变GXT JsonReader,我的JsonReader :((我使用调试模式....所以更容易替换从时间和地点派生的中心类,好像代码要少一些

为什么?

xml gwt gxt

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

layout_toRightOf的作品和layout_toLeftOf没有,怎么解决?

我有简单的相对布局 - 一个ImageView(iv1)和一个iv1左边的TextView(tv1).不幸的是,我看不到tv1.更有甚者,甚至hierarchyViewer都无法帮助我找到它.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="right"
android:background="@android:color/white"
>

<ImageView
    android:id="@+id/iv1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/ic_launcher" />

<TextView
    android:id="@+id/tv1"
    android:layout_toLeftOf="@+id/iv1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="TextView" />

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

它看起来像这样:

在此输入图像描述

但是,如果我将android:layout_toLeftOf ="@ + id/iv1"改为android:layout_toRightOf ="@ + id/iv1",我的文本视图将定位在图像视图的右侧.看起来像是右边的作品,而左边的作品却没有.在这里看起来如何:

在此输入图像描述

有什么事?如何使layout_toLeftOf工作?

android android-layout

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

sbt(Scala)通过SSH导致找不到命令,但是如果我自己这样做的话会有效

所以我试图做一些涉及运行sbtSSH命令的事情,这就是我正在尝试的事情:

ssh my_username@<server ip> "cd <project folder>; sbt 'run-main Foo' "
Run Code Online (Sandbox Code Playgroud)

但是当我这样做时,我收到一条错误消息: bash: sbt: command not found

然后我自己进入服务器SSH,cd到项目文件夹,然后运行sbt 'run-main Foo',一切运行良好.我已检查以确保通过远程服务器sbt上的$PATH变量ssh my_username@<server ip> "echo $PATH",它显示正确的值.

我觉得这是一个简单的修复,但无法弄清楚...帮助?谢谢!-kstruct

ssh bash scala sbt

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

@Scheduled注释Spring

我正在使用Spring 3注释@Scheduled在服务器上创建预定作业.但我对@Scheduled注释的参数(cron,fixedDelay,fixedRate)感到困惑.请解释这些参数与我可以使用这些参数的情况之间的区别.

java spring scheduled-tasks spring-annotations

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