草庐IT

question_practice_detail

全部标签

java - 登录 Web 应用程序 : Best practices?

在客户站点部署Web应用程序(在测试环境中)期间,我们遇到了应用程序日志记录问题。我将很快尝试描述当前情况:实现使用java.util.logging检索的Logger和apache.commons.logging.在部署的包中存在一个指向JUL的commons-logging.properties。应用程序在Tomcat6.x上运行客户决定他想在tomcat上使用Log4J并对其进行配置以使其正常工作——当然它不适用于上述应用程序。因为看起来我们无论如何都需要更改日志记录实现-我想请您提供一些关于如何在Web应用程序中实现日志记录的最佳实践。以下事情应该是可能的:客户需要能够在不修改

java - 使用 -Xlint :deprecation for details 重新编译

我需要知道如何修复这些错误提示:Note:Summer.javausesoroverridesadeprecatedAPI.Note:Recompilewith-Xlint:deprecationfordetails.这是我的代码:importjava.util.Calendar;importjava.util.*;classSummer{publicstaticvoidmain(String[]args){Dated1=newDate();Datej21=newDate(d1.getYear(),6,21);if(d1.before(j21)){longdiff=j21.getTim

Java 异常包装 : bad practice?

来自只有一种方法来编写异常处理的PHP世界。我发现Java中的异常包装有点“丑陋”:publicvoidexampleOneException(Stringinput)throwsMyBusinessException{try{//dosomething}catch(NumberFormatExceptione){thrownewMyBusinessException("Error...",e);}}我更喜欢使用这种风格:publicvoidexampleTwoException(){try{//dosomething}catch(MyBusinessExceptione){log.e

java - <p :messages> summary and detail 中的重复文本

当电子邮件地址无效时,显示的消息是“电子邮件无效。电子邮件无效。”。我知道消息有两部分:摘要和细节。我需要这两个,但我想在每个中都有不同的信息。如何将消息更改为显示“无效的电子邮件:请输入有效的电子邮件地址”? 最佳答案 validatorMessage(converterMessage和requiredMessage)不可能做到这一点。该值将用作摘要和详细信息。您需要自己开发一个自定义validator,您可以在其中构建FacesMessage和您自己的两个部分。假设label.email旁边还有一个代表消息详细信息的label.

Java :Questions on clone method

我在面试中被问到这些。Doweneedtotakecareofclonemethodinaconcurrentenvironment?Canwesynchronizetheclonemethod?Doesitmakeanysensetouseclonemethodinsingletonclasses?面试时我没有给出令人信服的答案。 最佳答案 可能99.99%的情况下是的,但您只需要像类的任何其他方法一样考虑克隆,并在必要时根据您的特定上下文同步它。同步一个在其Base类中未同步的方法并没有错。另一方面,在覆盖同步方法时不同步方法可

Java 8 : When the use of Interface static methods becomes a bad practice?

从Java8开始,我们可以在接口(interface)中使用默认方法和静态方法。常量接口(interface)模式是对接口(interface)的不良使用,称为常量接口(interface)反模式。>EffectiveJava,第17项:Theconstantinterfacepatternisapooruseofinterfaces.Thataclassusessomeconstantsinternallyisanimplementationdetail.Implementingaconstantinterfacecausesthisimplementationdetailtolea

java - 能帮我搜集一份Java Best Practices在线资料合集吗?

我在一个中型开发团队工作,该团队维护一个用Java1.4编写的8年以上历史的Web应用程序。对于新的开发,我总是试图说服人们遵守更新的标准和最佳实践,从使用新的命名标准(如HtmlImplementation而不是HTMLImplementation)等简单的事情,到诸如为什么针对接口(interface)编码比针对接口(interface)编码更好的事情具体的类,支持不变性或对象组合而不是类继承。我找到了这个genericlinkinStackoverflow,它不是面向Java的,也不完整。我总是试图解释我的论点背后的基本原理,并且总是建议人们购买最新版本的EffectiveJav

java - 在 Brian Goetz 的 Java Concurrency In Practice 中,为什么 Memoizer 类没有使用 @ThreadSafe 注释?

BrianGoetz的JavaConcurrencyInPractice提供了一个用于并发使用的高效可伸缩缓存示例。该示例的最终版本显示了Memoizer类(第108页)的实现,显示了这样一个缓存。我想知道为什么这个类没有用@ThreadSafe注释?缓存的客户端类Factorizer已使用@ThreadSafe正确注释。附录指出,如果一个类未使用@ThreadSafe或@Immutable进行注释,则应假定它不是线程安全的。不过,Memoizer似乎是线程安全的。这是Memoizer的代码:publicclassMemoizerimplementsComputable{private

java - JSF CDI : Conversation scope bean[s] best practice

我目前正在学习JSF2.0,我很高兴这个对话范围功能的存在,这对于在同一页面上打开一个新选项卡或一个新窗口并拥有单独的资源非常有帮助,而不是相互覆盖.但我很好奇如何以一种好的方式实现这一点,关于何时开始对话以及何时结束对话。在我的例子中,我有每个JSF页面的每个CDIbean。假设我有一个菜单,当它被点击时,这将导致页面A,并且从A可能导致B,B可能导致C,C可能导致D,所有这4个页面都连接在一个页面上链。可以从B或C或Dbean访问A的bean属性,也可以从C或Dbean访问B的属性等等。现在我很困惑:是否所有这些ABCD应该是是否在对话范围内,或者也许只是一个?因为我觉得有时来自另

php - 关于 URL 结构的建议 : Forced to have a question mark in the URL

我正在IIS服务器上构建一个php网站。我无权访问服务器并且管理员不会安装任何url_rewrite模块...所以我不得不在我的url中加上一个问号。我想知道哪个更好(关于SEO和访问者体验,以及可能出现的技术问题):http://www.mysite.com/?section=articles&action=show&article_slug=i-like-carshttp://www.mysite.com/?articles-show=i-like-carshttp://www.mysite.com/?/articles/show/i-like-cars谢谢