Tag: java

并发修改exception:添加到ArrayList

问题发生在 Element element = it.next(); 包含该行的这段代码在OnTouchEvent for (Iterator<Element> it = mElements.iterator(); it.hasNext();){ Element element = it.next(); if(touchX > element.mX && touchX < element.mX + element.mBitmap.getWidth() && touchY > element.mY && touchY < element.mY + element.mBitmap.getHeight()) { //irrelevant stuff.. if(element.cFlag){ mElements.add(new Element("crack",getResources(), (int)touchX,(int)touchY)); element.cFlag = false; } } } 所有这些都在synchronized(mElements)里面,其中mElements是一个ArrayList<Element> 当我触摸一个Element ,它可能会激活cFlag ,它会创build另一个具有不同属性的Element ,这些属性会在不到一秒的时间内从屏幕上消失。 这是我创造粒子效果的方法。 我们可以调用这个“粒子”的crack […]

会话过期授权redirect在提交JSF表单时不起作用,页面保持不变

我正在使用JSF2。 我已经实现了一个自定义的面向servlet像这样: public class MyFacesServletWrapper extends MyFacesServlet { // … } 其中我正在做一些授权检查,并在用户未login时发送redirect: public void service(ServletRequest request, ServletResponse response) { HttpServletRequest req = (HttpServletRequest) request; HttpServletResponse res = (HttpServletResponse) response; if (…) { String loginURL = req.getContextPath() + "/LoginPage.faces"; res.sendRedirect(loginURL); } } 这在用户尝试导航到另一个页面时起作用。 但是,当JSF表单由JSF命令链接/button提交时,这不起作用。 sendRedirect()行被命中并执行,没有抛出exception,但用户停留在同一页面。 基本上,根本没有视觉上的变化。 为什么这个工作在页面导航,但不是在表单提交?

哪些密码套件启用SSL套接字?

我正在使用Java的SSLSocket来保护客户端和服务器程序之间的通信。 服务器程序还提供来自Web浏览器的HTTPS请求。 根据“ 使用Java开始encryption ”(第371页),您应该始终在您的SSLSocket / SSLServerSocket上调用setEnabledCipherSuites ,以确保最终协商的密码套件对您的目的足够强大。 这就是说,调用我的SSLSocketFactory的getDefaultCipherSuites方法会产生大约180个选项。 这些选项的范围从TLS_RSA_WITH_AES_256_CBC_SHA (我认为是相当安全的)到SSL_RSA_WITH_RC4_128_MD5 (不确定是否安全,给定MD5的当前状态)到SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA (不完全确定是什么)。 什么是密码套件的合理列表来限制套接字? 请注意,客户端和服务器可以访问Bouncy Castle服务提供商,并且他们可能会或可能不会安装无限的encryption策略文件。

时区转换

我需要在我的项目中从一个时区转换到另一个时区。 我能够从当前的时区转换到另一个时区,而不是从不同的时区转换到另一个时区。 例如,我在印度,我可以使用Date d=new Date();从印度转换到美国Date d=new Date(); 并将其分配给日历对象并设置时区。 但是,我不能从不同的时区到另一个时区。 例如,我在印度,但是我很难把时区从美国转换到英国。

Swing中paint,paintComponent和paintComponents之间的区别

Java Swing中paint() , paintComponent()和paintComponents()之间的实际区别是什么? 我试图了解Oracle文档中的解释,但我不清楚。

无法为通用types的Java集合添加值

为什么这个代码不能编译( Parent是一个接口)? List<? extends Parent> list = … Parent p = factory.get(); // returns concrete implementation list.set(0, p); // fails here: set(int, ? extends Parent) cannot be applied to (int, Parent)

DOM处理后的XML属性的顺序

在通过标准DOM处理XML时,序列化后的属性顺序不能保证。 最后,我使用标准的Java XML Transform API来序列化输出。 不过我确实需要保留一个命令。 我想知道在Java中是否存在任何可能性来保持通过DOM API处理的XML文件的属性的原始顺序,或者以任何方式强制执行命令(也许通过使用替代的序列化API来让您设置类财产)。 在我的情况下,处理可以减less使用一堆属性来改变一系列相同元素的一些属性(不是全部)的值,也可以插入更多的元素。 有没有“简单”的方法,或者我必须定义我自己的XSLT转换样式表来指定输出和改变整个inputXML文件? 更新我必须感谢你的答案。 现在的答案似乎比我预料的更为明显。 我从来没有注意到属性顺序,因为我以前从来没有需要它。 要求属性顺序的主要原因是生成的XML文件看起来不一样。 目标是一个configuration文件,其中包含数百个警报(每个警报由一组属性定义)。 这个文件通常不会随着时间的变化而变化,但是保持它的顺序是很方便的,因为当我们需要修改某些东西的时候,它会被手工编辑。 现在有些项目需要对此文件进行轻微的修改,例如将其中一个属性设置为客户特定的代码。 我开发了一个小应用程序,将原始文件(对所有项目通用)与每个项目的特定部分(修改某些属性的值)进行合并,以便项目特定的文件获取基本文件的更新(新的警报定义或一些属性值错误修正)。 我要求有序属性的主要动机是能够通过文本比较工具(例如Winmerge)再次检查应用程序的输出。 如果格式(主要是属性顺序)保持不变,则很容易发现差异。 我真的认为这是可能的,因为XML处理程序(如XML Spy)允许您编辑XML文件并应用一些sorting(网格模式)。 也许我唯一的select是使用这些程序之一来手动修改输出文件。

我如何检查用户是否按下了一个键?

在Java中,我有一个程序,需要连续检查用户是否按下一个键。 所以在psuedocode,像是 if (isPressing("w")) { //do somthing } 提前致谢!

如何使用JSTL在HashMap中迭代ArrayList?

我有这样的地图, Map<Integer,ArrayList<Object>> myMap = new LinkedHashMap<Integer,ArrayList<Object>>(); 现在我必须迭代这个Map,然后迭代地图中的ArrayList。 我怎样才能使用JSTL?

在PreparedStatement中使用setDate

为了使我们的代码更加标准化,我们被要求将我们的SQLvariables硬编码为SQL语句的所有地方改为准备语句,然后绑定variables。 不过,我正面临setDate()的问题。 这里是代码: DateFormat dateFormatYMD = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); DateFormat dateFormatMDY = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss"); Date now = new Date(); String vDateYMD = dateFormatYMD.format(now); String vDateMDY = dateFormatMDY.format(now); String vDateMDYSQL = vDateMDY ; java.sql.Date date = new java.sql.Date(0000-00-00); requestSQL = "INSERT INTO CREDIT_REQ_TITLE_ORDER (REQUEST_ID," + " ORDER_DT, FOLLOWUP_DT) " + "values(?,?,?,)"; prs = conn.prepareStatement(requestSQL); prs.setInt(1,new […]