如何在多次战争之间共享一个jsf错误页面

我正试图在多次战争之间共享一个错误页面(error.xhtml)。 它们都是一个大耳朵应用程序,并且都使用一个常见的jar库,我想把它放在这里。 错误页面应使用web.xml或更好的web-fragment.xml,并将声明为标准java ee错误页面。 实际EAR结构: EAR EJB1 EJB2 WAR1 (using CommonWeb.jar) WAR2 (using CommonWeb.jar) WAR3 (using CommonWeb.jar) 只是将错误页面放在META-INF / resources下面是行不通的,因为它不是资源。 我想尽可能少地配置每个war文件。 我正在使用Glassfish 3.1,但我希望尽可能使用Java EE 6标准。

如何使用hibernate / jpa注释将一个类映射到不同的表

我目前陷入了一个似乎非常简单的问题,但我似乎无法找到解决办法: 我有2个相同的表: tbl_creditcard_approved_txns tbl_creditcard_declined_txns 两者中的字段是相同的,我有一个类 – 用于表示表中所有适当字段的Transaction 。 我正在尝试将两个不同的实体(每个表一个)映射到上面的类。 在旧世界中,我已经创建了两个hbm.xml文件,每个表对应一个表并将它们映射到Transaction 。 然后,我将在持久性期间使用实体名称,以确保对象在正确的表中持久化,具体取决于具体情况。 我正在尝试使用当前的注释来实现相同的目标但到目前为止在将2个实体映射到单个类时没有运气。 这有可能吗? 我目前正在使用不同的方法,因为我已经将所有公共字段(相同的列名称)提取到@MappedSuperClass并且已经创建了两个单独的类(每个实体一个)从超类扩展(这些类只有具有不同列名的相同字段(如果适用)。

JDBI SQL对象查询中的动态顺序

如何在JDBI中使用SQL对象查询进行排序? 我想做的事情如下: @SqlQuery( “SELECT * FROM users ” + “WHERE something = :something ” + “ORDER BY :orderBy :orderDir” ) List getUsers( @Bind(“something”) Integer something , @BindOrderBy(“orderBy”) String orderBy , @BindOrderDir(“orderDir”) String orderDir ); 要么 @SqlQuery( “SELECT * FROM users ” + “WHERE something = :something ” + “ORDER BY :orderBy :orderDir” ) List getUsers( […]

JDK / JRE / JVM / Java SDK | 这些都意味着什么? 有时您可以使用JRE进行开发,有时您需要JDK?

说实话,我对所有这些术语都非常困惑(JDK / JRE / Java SDK)。 我不确定每个人做了什么。 当我第一次在eclipse中开始做简单的java示例时,我很确定我只有JRE,我认为这是普通用户能够在其系统上运行java程序/ applet的默认java安装程序。 但是,现在我们在课堂上使用Google Appengine,这需要我猜的JDK与Java SDK相同。 在浪费一些时间发现安装JDK意味着我还必须将java / bin添加到环境变量以使javac -version在命令提示符下工作我发现只有JDK有javac … 我的早期java程序如何在没有安装JDK的情况下工作,因此没有javac? 而且真正的主要问题是…… JRE和JDK之间有什么区别,你什么时候使用它们? 谢谢 :)

将Jersey / Jackson配置为不使用@XmlElement字段注释进行JSON字段命名

我正在运行Jersey REST服务。 代表我的资源的POJO是JAXB(XML)带注释的简单Java类(它们是从模式定义生成的 – 因此它们具有注释)。 我希望Jersey / Jackson忽略XML-Annotations。 我在我的web.xml中做了这个配置(如这里提到的): com.sun.jersey.api.json.POJOMappingFeature true 我现在预计@ZMLElement注释不再用于JSON字段命名策略。 但是看看这个java字段(成员) @XmlElement(name = “person”, required = true) protected List persons; 我仍然得到以下JSON表示: ….,”person”:[{“name”:”FooBar”, ……. (person without the ‘s’) 所有其他字段仍然从@XmlElement注释中获取其JSON名称,而不是从Java字段名称获取。 我想实现jackson全数据绑定(POJO)示例中描述的JSON输出。 它在这样的简单测试中工作正常(使用我的XML注释类): ObjectMapper mapper = new ObjectMapper(); mapper.writeValue(System.out, myObject); 但嵌入在泽西岛我没有得到预期的JSON输出。 Jersey中的其他配置选项是否为“简单”POJO JSON表示(因为这最适合需要反序列化JSON结果的客户端)。 谢谢克劳斯 详细解决方案 (1)为Jacksons ObjectMapper实现ContextResolver ,它创建一个不使用注释的ObjectMapper。 package foo.bar.jackson; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; import javax.ws.rs.ext.ContextResolver; […]

“在注释ConcurrentHashMap时,在hibernate中非法尝试将非集合映射为@OneToMany,@ ManyToMany或@CollectionOfElements”

我试过注释一个属性访问器,其返回值是一个映射,如下所示: @MapKeyColumn(name=”parameter_name”) @ElementCollection public ConcurrentHashMap getParameterValues() 这符合hibernate用户指南(第2.2.5.3.4节)。 但是,我得到: org.hibernate.AnnotationException: Illegal attempt to map a non collection as a @OneToMany, @ManyToMany or @CollectionOfElements: ConfigurationParameterBag.parameterValues at org.hibernate.cfg.annotations.CollectionBinder.getCollectionBinder(CollectionBinder.java:324) at org.hibernate.cfg.AnnotationBinder.processElementAnnotations(AnnotationBinder.java:1723) at org.hibernate.cfg.AnnotationBinder.processIdPropertiesIfNotAlready(AnnotationBinder.java:796) at org.hibernate.cfg.AnnotationBinder.bindClass(AnnotationBinder.java:707) at org.hibernate.cfg.Configuration$MetadataSourceQueue.processAnnotatedClassesQueue(Configuration.java:4035) at org.hibernate.cfg.Configuration$MetadataSourceQueue.processMetadata(Configuration.java:3989) at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1398) at org.hibernate.cfg.Configuration.generateDropSchemaScript(Configuration.java:1002) at org.hibernate.tool.hbm2ddl.SchemaExport.(SchemaExport.java:130) at org.hibernate.tool.hbm2ddl.SchemaExport.(SchemaExport.java:92)

查找从给定客户端IP创建的活动会话数

有没有办法确定从给定客户端IP地址创建的活动会话数?

我可以覆盖Java中的私有方法吗?

我知道我可以使用reflection来调用私有方法,并获取或设置私有变量的值,但我想覆盖一个方法。 public class SuperClass { public void printInt() { System.out.println(“I am ” + getClass() + “. The int is ” + getInt()); } private int getInt() { return 1; } } public class SubClass extends SuperClass { public static void main(String[] args) { (new SubClass()).printInt(); } public int getInt() { return 2; } } 我希望SubClass的main方法打印出2 […]

android使用parse.com api通过推送通知实现聊天

我正在做一个聊天应用程序。 在应用程序中,我必须使用解析andorid sdk与推送通知的帮助聊天。 我成功地在不同用户之间生成推送通知。 但是无法接收推送并在列表视图中添加其数据。 这是maifest文件的代码 和我的自定义接收器的代码 public class MyCustomReceiver extends BroadcastReceiver { private static final String TAG = “MyCustomReceiver”; @Override public void onReceive(Context context, Intent intent) { Toast.makeText(context, “”+intent, Toast.LENGTH_LONG).show(); } } 从java代码我发送像这样的推送: ParseQuery query = ParseInstallation.getQuery(); query.whereEqualTo(“device_id”, target); ParsePush push = new ParsePush(); push.setQuery(query); push.setMessage(message); push.setExpirationTimeInterval(86400); push.sendInBackground(); 请告诉我使用接收器接收数据的错误,以及当我接受推送时该怎么做意味着任何逻辑或想法进一步移动。 提前致谢

如何在hibernate中阻止SQL注入?

我正在使用hibernate开发一个应用程序。当我尝试创建一个Login页面时,出现了Sql Injection的问题。 我有以下代码: @Component @Transactional(propagation = Propagation.SUPPORTS) public class LoginInfoDAOImpl implements LoginInfoDAO{ @Autowired private SessionFactory sessionFactory; @Override public LoginInfo getLoginInfo(String userName,String password){ List loginList = sessionFactory.getCurrentSession().createQuery(“from LoginInfo where userName='”+userName+”‘ and password='”+password+”‘”).list(); if(loginList!=null ) return loginList.get(0); else return null; } } 在这种情况下如何防止Sql注入?loginInfo表的create table语法如下: create table login_info (user_name varchar(16) not null primary key, pass_word varchar(16) not null);