嗨,大家好,当我尝试运行我的应用程序与eclipse / linux上我的本地主机上的Apache Tomcat的应用程序运行良好,但是,我得到了以下警告 WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:appname' did not find a matching property. 任何想法这个警告是什么意思,如何解决?
我从网上下载了这个工作区,我试着从全新安装的Eclipse Ganymede上的tomcat服务器上运行它。 这个特殊的项目带有自己的工作空间。 当我selectTomcat v6.0时,我收到一条消息 无法使用所选types创build服务器 虽然老的tomcat版本可用。 我想我必须重新创build一些configuration设置。 问题是哪一个? 这似乎是一个奇怪的错误,因为创build一个新的dynamicWeb项目让我configurationtomcat为他们两个
我是拥有近5年Struts,Spring和Hibernate经验的Java开发人员。 我们有一个新的项目在几天内出现。 我们有完整的需求,我们将使用Spring MVC,Spring和Hibernate来完成这个项目。 我被要求devise和构build整个Web应用程序。 devise和创build一个build筑师是我迄今为止在我职业生涯中还没有做过的事情。 我不知道我该怎么做,从哪里开始,使用什么工具等等。 我甚至不知道A,B,C的devise和build筑。 你可能想知道为什么我甚至要求我在第一时间做这件事。 事情是我有机会做到这一点,在每个阶段我都会受到监控,我会让我的前辈们审查devise。 因此,欢迎任何build议,想法和步骤开始和继续。
我正在使用Spring MVC编写一个Java Web应用程序。 我有一个后台进程,通过数据库,并发现通知,必须通过电子邮件发送给我的用户。 这些电子邮件需要包含应用程序的超链接。 这似乎是一个相当普遍的Web应用程序的模式,但我遇到了麻烦。 如何通过服务器名称和上下文path派生我的应用程序的完全限定URL? 我没有访问HttpServletRequest中的任何方法,因为我将此作为后台进程运行,而不是响应Web请求。 我能做的最好的就是访问ServletContext。 目前,我将基本URL放入configuration文件并在启动时读取,但是这个应用程序将被许可并部署到客户的应用程序服务器,如果可能的话,我希望他们不必手动configuration。
我知道有很多文章解释了如何在Java EE中使用CDI,但是我很难弄清楚这实际上带来了什么好处。 例如,假设我有一个当前使用Foo实例的类。 我可能会这样做 Foo myFoo = new Foo(); 要么 // Better, FooFactory might return a mock object for testing Foo myFoo = FooFactory.getFoo(); 我一直用CDI阅读,我可以这样做: @Inject Foo myFoo; 但为什么这比以前的工厂为基础的方法更好? 我假设有一些其他的用例,我不知道,但我一直无法确定这一点。 如果我已经理解了下面的回答,那么这个概念就是DI框架作为一个集中configuration的主对象工厂。 这是一个合理的解释? 更新 自从我开始学习Spring之后,现在变得更有意义了。 下面的段落取自实践中的Spring,以AccountService类为例,该类又使用了AccountDao一个实例。 我为长篇大论表示抱歉,但是我认为它真正成为注入资源为什么会提供标准初始化的核心。 您可以使用new关键字构造AccountService,但是创build服务层对象很less如此简单。 他们通常依赖于DAO,邮件发送者,SOAP代理以及其他东西。 您可以在AccountService构造函数中(或通过静态初始化)以编程方式实例化这些依赖关系中的每一个,但这会导致在被交换出来时出现严重的依赖关系和级联更改。 此外,您可以创build外部依赖关系,并通过setter方法或构造函数参数将它们设置在AccountService上。 这样做可以消除内部依赖关系(只要它们是通过接口在AccountService中声明的),但是到处都有重复的初始化代码。 以下是你如何创build一个DAO,并以Spring方式连接到你的AccountService: <bean id="accountDao" class="com.springinpractice.ch01.dao.jdbc.JdbcAccountDao"/> <bean id="accountService" class="com.springinpractice.ch01.service.AccountService"> <property name="accountDao" ref="accountDao"/> </bean> 像上面那样configuration好了bean之后,你的程序现在可以从Spring ApplicationContext中请求一个AccountService的实例,而Spring DI框架将会在实例化所有需要实例化的东西之后。
我在问题实体中具有以下内容: @NamedQuery(name = "Question.allApproved", query = "SELECT q FROM Question q WHERE q.status = 'APPROVED'") 和 @Enumerated(EnumType.STRING) private Status status; // usual accessors 我得到这个例外: exception说明:编译查询时出错[Question.countApplied: SELECT COUNT(q) FROM Question q WHERE q.status = 'APPROVED' ],第1行,第47列:无效枚举等于expression式,无法比较types[myCompnay.application.Status]枚举值[myCompnay.application.Status]与一个非枚举值的types[java.lang.String] 。 在org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:501) 我该如何解决?
我如何设置JAX-RS的字符集? 我试过了@Produces("text/html; charset=UTF-8")但是被忽略了,只有text/html和HTTP头一起发送。 我想在MessageBodyWriter中设置字符集,但不想通过自己的reflection来分析@Produces注释来提取媒体types。
在Java方法中,我想使用Jersey客户端对象在REST风格的Web服务(也使用Jersey编写)上执行POST操作,但不知道如何使用客户端发送将用作FormParam在服务器上。 我能够发送查询参数就好了。 提前致谢。
我设法使用下一个代码,但必须有一个更简单的方法。 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> <c:if test="${fn:length(attachments) > 0}"> <c:forEach var="attachment" items="${attachments}" varStatus="loopCount"> <c:if test="${loopCount.count eq 1}"> attachment.id </c:if> </c:forEach> </c:if>
我正在开发一个Java EE应用程序,我需要Base64编码/解码 所以我在我的应用程序的WEB-INF/lib文件夹中添加了commons-codec-1.5.jar并使用 import org.apache.commons.codec.binary.Base64; 在Java文件中。 在编译期间,当我键入Base64 ,它显示encodeBase64String方法可用。 但是在运行时它会抛出一个像这样的exception: java.lang.NoSuchMethodError:org.apache.commons.codec.binary.Base64.encodeBase64String 我在构buildpath中有JAR,但是我仍不明白为什么会抛出上述错误。