我有两个使用maven 3在WAR文件中打包的eclipse Java EE 6项目.现在,他们应该在第三个项目中共享JPA实体,因为它们都使用相同的数据库.
在对我的问题进行研究时,我发现了一些提示,例如在persistence.xml中引用了一个常见的jar,但我没有成功使其工作.特别问:
1)包含公共实体的项目是否具有persistence.xml文件?如果是这样,它与其他项目的不同之处是什么?
2)两个项目中引用的常用实体到底有多准确?我是否在persistence.xml中使用该标记作为参考?如果是这样,如果MyCommin.jar位于WEB-INF/lib中,"lib/MyCommon.jar"是否是正确的使用方式?
3)如果将应用程序部署为JBoss 6中的WAR或爆炸存档,它会有什么不同吗?
4)当通过添加到服务器运行时和发布时在eclipse中部署时,与部署外部eclipse有什么不同吗?
5)所描述的方式是将公共实体放在一个单独的项目中,创建一个JAR并在另一个项目中使用该JAR是一种合理的方法来处理共享公共实体类的问题还是有更好的方法?
我们有一个使用 PrimeFaces 的 JSF 2.2 应用程序。
现在,当发生错误时,我会检查 AJAX 请求并提供部分响应(如BalusC 对此问题的回答所示)。
但是,如果不再有服务器来处理错误,例如由于连接丢失,该怎么办?目前,什么都没有发生,让用户感到困惑。
我在那个问题中找到了一个提示,它有效,但我想以一般方式解决这个问题,以便所有失败的 AJAX 调用尝试重定向到起始页 - 然后可能会收到浏览器连接错误消息。
在 REST 服务中处理异常的一种典型方法是定义自定义异常类型(通常来自RuntimeException
),然后实现一个映射器类来生成 HTTP 代码,例如:
public class MyExceptionMapper implements ExceptionMapper<MyException> {
@Override
public Response toResponse(MyExceptionex) {
return Response.status(400).entity("bad request")
.type(MediaType.APPLICATION_JSON).build();
}
}
Run Code Online (Sandbox Code Playgroud)
现在,我有两个问题:
Throwable
为了生成 HTTP 500 而实现一个 for时,它不会再次捕获我自己的异常吗?或者可以定义映射器工作的顺序?EJBException
或一些Transaction...Exception
包裹?List<String> someName = new ArrayList<String>();
ArrayList<String> someName = new ArrayList<String>();
Run Code Online (Sandbox Code Playgroud)
在早期的项目中,我常常使用s:button或s:来自Seam 2的链接,因为它不会提交表单,因此不会发生模型更新.
现在我切换到WELD + Seam 3,再也找不到它了 - 我只是失明还是我必须使用别的东西?
Geziefer
在阅读oracles Java文档(第8章)时,我遇到了这个有趣的部分:
" 如果两个或更多(不同的)类修饰符出现在类声明中,那么它们通常是按照与上面在ClassModifier的制作中所示的顺序一致的顺序出现,尽管不是必需的."
这是类修饰符
ClassModifiers:
ClassModifier
ClassModifiers ClassModifier
ClassModifier: one of
Annotation public protected private
abstract static final strictfp
Run Code Online (Sandbox Code Playgroud)
我的问题是多个类修饰符需要什么?什么时候我们可以使用多个类修饰符?
java ×4
java-ee-6 ×2
ajax ×1
eclipse ×1
jakarta-ee ×1
jax-rs ×1
jboss-weld ×1
jboss6.x ×1
jpa-2.0 ×1
jsf ×1
jsf-2 ×1
primefaces ×1
seam ×1