草庐IT

java - 可扩展/适应性强的 Java EE 应用程序 : interfaces vs interceptors and decorators

我们目前正在分析JavaEE应用程序新版本的技术要求。它是JavaEE6,但转移到7是一个选项。到目前为止,这是一个单一的应用程序,一个EAR,提供定义良好的功能。但是,需要能够根据实现项目和/或客户以非常具体的方式定义某些功能。例如,一些客户将有非常具体的安全限制。可以显示由框架处理的消息列表。对于一个客户,可以让用户看到所有内容,但另一个客户希望仅显示基于用户组的某些类型的消息。这是以特定于上下文的方式定义实现、调整核心功能的示例。另一个可能的需求是一些客户想要扩展给定的功能,增加新的可能性。这就是可扩展部分。因此,有必要拥有一个定义通用功能但具有可插拔部分以及扩展可能性的体系结构

java - 如何通过 Java EE Web 应用程序将文件存储在服务器(Web 容器)上?

我开发了一个JavaEE网络应用程序。此应用程序允许用户在浏览器的帮助下上传文件。一旦用户上传了他的文件,此应用程序首先将上传的文件存储在服务器上(它正在运行),然后对其进行处理。目前我在服务器上存储的文件如下:try{//formFilerepresentstheuploadedfileFormFileformFile=programForm.getTheFile();Stringpath=getServlet().getServletContext().getRealPath("")+"/"+formFile.getFileName();System.out.println(pat

java - 如何在 log4j2 中动态打开或关闭 rootLogger 的一个附加程序?

java如何在运行时动态开启或关闭log4j2中rootLogger的一个appender?例如,我想禁用ConsoleAppender:......这可能吗? 最佳答案 您可以以编程方式添加或删除附加程序。在你的情况下,让我们删除ConsolefinalLoggerContextctx=(LoggerContext)LogManager.getContext(false);finalConfigurationconfig=ctx.getConfiguration();config.getRootLogger().removeApp

java - 存储和编辑 Java EE 应用程序的配置

更新:大约一年后,请参阅我关于此主题的博客文章:http://blog.ringerc.id.au/2012/07/java-ee-7-needs-improvements-in-app.html...有关此主题的JavaEE7规划讨论的引用。我几乎已经完成了一个小型JavaEE6应用程序的编写,并且正在用适当的动态配置界面替换硬编码的首选项。我不确定如何-或者更具体地说,在哪里-存储设置。必须有一些明显的、“标准”的方法来做到这一点,预计它可以在各种框架和容器中“正常工作”,但对于我的生活,我找不到它。我想要的是一种加载和存储设置的简单方法,它可以跨不同的应用服务器和操作系统运行,不

java - 如何在 OSGi 环境中为 log4j2 JUL 适配器设置系统属性

我想在OSGi中使用log4j2JUL适配器环境。所以我直接使用log4j2OSGi包并在我的自定义OSGi包之一中设置以下系统属性,如前所述here:System.setProperty("java.util.logging.manager","org.apache.logging.log4j.jul.LogManager");似乎此系统属性未设置,因为来自Javautil框架的日志不会发送到附加程序。我使用的OSGi框架是EclipseEquinox.我在哪里可以设置此系统属性以使用OSGi?编辑:据我所知,问题出在JVM开始时所需的属性,即java.util.logging.ma

java - 是否有 log4j2 的适配器可以在 slf4j 上工作?

我有一个使用log4j2的第三方库(elasticsearch5.x)。我的应用程序使用slf4j。是否有用于log4j版本2的适配器,类似于版本1适配器(log4j-over-slf4j)?澄清一下:我不想实际使用log4j或log4j2作为实际实现(绑定(bind))。我为此使用logback。所以我需要一个log4j2到slf4j适配器,而不是slf4j绑定(bind)。我还应该提到我已经找到并试用了这个库(2.0-beta版本):https://logging.apache.org/log4j/2.0/log4j-to-slf4j/index.html但它给了我这个错误:Cau

java - WebSphere 7 HTTPSession 实现是否违反了 J2EE 规范?

最近看到一个问题,所有200个Web容器线程都挂起,这意味着没有一个可用于为传入请求提供服务,因此应用程序卡住。这是一个简单的Web应用程序和JMeter测试,我认为它可以说明此问题的原因。Web应用程序由两个类组成,即以下servlet:publicclassSessionTestServletextendsHttpServlet{protectedstaticfinalStringSESSION_KEY="session_key";protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)thr

java - 如何在 Java EE 6 中实现身份验证机制

我正在尝试学习JavaEE6,我只是想知道如何在JavaEE6中实现身份验证机制。这是JavaEE6身份验证示例:publicvoidlogin(){if(account.authenticate(name,password)==null){message="Invalidusernameorpassword!";}else{message="Loginsuccessful";FacesContextcontext=FacesContext.getCurrentInstance();HttpServletRequestrequest=(HttpServletRequest)contex

Java EE 编程技巧

我在Java(包括Swing、Servlet和JDBC)方面拥有多年经验,但从未为JavaEE服务器编程。很多大公司的招聘广告都特别要求有JavaEE经验。我应该学习哪些特定技能或开发环境才能胜任这些类型的工作? 最佳答案 下载JBoss并开始处理文档中的示例应用程序。如果你学过java,那么你已经达到了95%。JavaEE将容器和命名方面添加到您已经了解和喜爱的java中。随着EJB3的出现,bean变得更加简单,因为您只需要几个注释就可以使用EJB。JavaEE可能有点令人望而生畏,因为可用技术的首字母缩略词太多了,但请专注于基

java - JDK = Java SE && JDK != Java EE?

请确认以上说法?当他们提到JDK时,我需要知道他们指的是什么。 最佳答案 JavaDevelopmentKit是我们通常指的一组创建Java应用程序的工具,包括JavaCompiler(将您的JAVASource类翻译成.class字节码文件)、JavaVirtual机器(用于执行那些.class文件)、用于ZIP应用程序(或提取它们)的JAR工具等。JavaStandardEdition通常是指构成大多数Java程序基础的核心类,例如CollectionsAPI(List、Map、Set等)、java.lang包、I/O类、Thr