我需要在java中发送一个xml请求并捕获响应.我怎样才能做到这一点 ?
我在谷歌搜索,但直到现在还没有任何实力.
此致,Valter Henrique.
我正在尝试使用Hibernate JPA,但我需要创建我的persistence.xml(所以我可以正确使用实体管理器).我不确定要创建什么以及放置它的位置.
这是我在'Core'模式下配置hibernate.cfg.xml的方法.我正在使用:Eclipse Java EE IDE Web Developers版本:Indigo Release
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.password">XXXXXX</property>
<property name="hibernate.connection.url">jdbc:mysql://<hostname>/<database></property>
<property name="hibernate.connection.username">XXXXX</property>
<property name="hibernate.default_schema">XXXXXX</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
</session-factory>
</hibernate-configuration>
Run Code Online (Sandbox Code Playgroud) 我需要在表单的输入字段中添加一些掩码.我尝试在下面的代码中插入jQuery.js和jQuery.MaskedInput.js显示:
<h:head>
<h:outputScript name="jquery-1.6.4.min.js" library="javascript" />
<h:outputScript name="jquery.maskedinput-1.3.js" library="javascript" />
<script>
jQuery(function($){
$("#date").mask("99/99/9999");
$("#phone").mask("(999) 999-9999");
$("#tin").mask("99-9999999");
$("#ssn").mask("999-99-9999");
});
</script>
<title>TITLE</title>
</h:head>
<h:body>
<h:form id="form">
<h:inputText id= "date" />
</h:form>
</h:body>
Run Code Online (Sandbox Code Playgroud)
到目前为止没什么.
更新
使用BalusC,$("[id='form:phone']").mask("(99) 9999-9999");它工作正常!(多谢,伙计).但是我需要在数据表中应用这个掩码:
<script>
jQuery(function($){
$("input.phones").mask("(999) 999-9999");
});
</script>
<title>TITLE</title>
Run Code Online (Sandbox Code Playgroud)
<h:form id="form">
<h:panelGrid columns="3">
<h:outputLabel for="phones" value="Telefone(s) :" />
<h:dataTable id="phones" value="#{profile.user.userPhones}" var="item">
<h:column>
<h:inputText id= "phone" value="#{item.phone}" />
</h:column>
<h:column>
<h:commandButton value="Remove" action="#{profile.removePhone}"/>
</h:column>
<h:column>
<rich:message id="m_phone" for="phone" />
</h:column>
</h:dataTable>
<h:commandButton …Run Code Online (Sandbox Code Playgroud) 我使用JBoss向Eclipse提供的'hibernate tools'创建了一个hibernate项目.生成实体(POJO)然后生成DAO.
这种方式例如:
@Entity
@Table(name = "area", catalog = "project_schema", uniqueConstraints = @UniqueConstraint(columnNames = "area"))
public class Area implements java.io.Serializable {
private Integer id;
private String area;
public Area() {
}
public Area(String area) {
this.area = area;
}
@Id
@GeneratedValue(strategy = IDENTITY)
@Column(name = "id", unique = true, nullable = false)
public Integer getId() {
return this.id;
}
public void setId(Integer id) {
this.id = id;
}
@Column(name = "area", unique = true, nullable = false, length = 45) …Run Code Online (Sandbox Code Playgroud) 我创建了这个过滤器:
public class LoginFilter implements Filter {
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) request;
HttpSession session = req.getSession();
if (session.getAttribute("authenticated") != null || req.getRequestURI().endsWith("login.xhtml")) {
chain.doFilter(request, response);
} else {
HttpServletResponse res = (HttpServletResponse) response;
res.sendRedirect("login.xhtml");
return;
}
}
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void destroy() {
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的结构:

然后我在web.xml中添加过滤器:
<filter>
<filter-name>LoginFilter</filter-name>
<filter-class>filter.LoginFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>LoginFilter</filter-name>
<servlet-name>Faces Servlet</servlet-name>
</filter-mapping>
Run Code Online (Sandbox Code Playgroud)
过滤器按预期工作,但不断给我这个错误:
"Was not …Run Code Online (Sandbox Code Playgroud) 我使用Eclipse Indigo开发了一个使用Glassfish 3 Open Source的JSF 2项目,这在我的计算机上,然后在我的EC2实例中,在Amazon AWS中,对于Glassfish,我创建了一个JDBC连接池,用于我的JPA实体管理器.
本地我的项目工作得非常好,但是当我部署项目并尝试执行相同的表单时,它会从运行GlassFIsh的同一实例EC2中运行的数据库中获取一些值.
我收到此消息:

serverError:class javax.faces.el.EvaluationException
我正在寻找它,但到目前为止我找不到任何东西.
有什么配置我应该为它起作用吗?
编辑:
这是堆栈跟踪:
javax.faces.FacesException: #{reportc.generateReport}: javax.ejb.EJBException
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:118)
at javax.faces.component.UICommand.broadcast(UICommand.java:315)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1539)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:98)
at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:330)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:174)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:828)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:725)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1019)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225)
at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532) …Run Code Online (Sandbox Code Playgroud) 我创建了自己的证书并配置了postgresql.conf文件:
...
#authentication_timeout = 1min # 1s-600s
ssl = true # (change requires restart)
ssl_ciphers = 'HIGH:MEDIUM:+3DES:!aNULL' # allowed SSL ciphers
# (change requires restart)
#ssl_prefer_server_ciphers = on # (change requires restart)
#ssl_ecdh_curve = 'prime256v1' # (change requires restart)
ssl_cert_file = '/etc/ssl/certs/company/database/certificate' # (change requires restart)
ssl_key_file = '/etc/ssl/certs/company/database/key' # (change requires restart)
ssl_ca_file = '/usr/share/ca-certificates/company/ca/certificate' # (change requires restart)
#ssl_crl_file = '' # (change requires restart)
#password_encryption = on
#db_user_namespace = off
#row_security = on
...
Run Code Online (Sandbox Code Playgroud)
然后,我允许服务器连接数据库 …
是否可以在JSF 2.0中使用反向Ajax?
我可以在JSF中使用Ajax,但我不知道如何继续渲染.任何的想法?
我在JSF 2项目中使用JPA 2,所以我在GlassFish v3中配置我的数据源,一切都很好,但如果我尝试在Hibernate Tools中测试JPA查询,它会给我以下错误:
Sessionfactory error:Could not locate TransactionManager
Run Code Online (Sandbox Code Playgroud)
这是我的persistence.xml:
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<persistence-unit name="SuaParte" transaction-type="JTA">
<jta-data-source>jdbc/suaparte_ds</jta-data-source>
<class>entity.Area</class>
<properties>
<property name="eclipselink.logging.level" value="FINE"/>
<property name="hibernate.transaction.manager_lookup_class" value="org.hibernate.transaction.JBossTransactionManagerLookup"/>
</properties>
</persistence-unit>
</persistence>
Run Code Online (Sandbox Code Playgroud)
我在Eclipse JSF 2项目中使用EclipseLink 2.3(Indigo)和JPA 2.
编辑 关注@fonini方法,我的hibernate.properties:
hibernate.connection.username=<filled>
hibernate.connection.password=<filled>
hibernate.connection.driver_class=com.mysql.jdbc.Driver
hibernate.dialect=org.hibernate.dialect.MySQLDialect
hibernate.connection.url=<filled>
hibernate.connection.provider_class=org.hibernate.connection.DriverManagerConnectionProvider
hibernate.datasource=jdbc/suaparte_ds
hibernate.transaction.manager_lookup_class=org.hibernate.transaction.JBossTransactionManagerLookup
Run Code Online (Sandbox Code Playgroud)
但现在又给了我一个错误:

我是否必须更改id generator我的实体?
@Entity
@Table(name="product")
public class Product implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE)
private Integer id;
@Size(max=150, message="150 caracteres no máximo") …Run Code Online (Sandbox Code Playgroud) 我在一个工作JSF项目,Eclipse和Glassfish 3.1.2.每次我做一个微小的改变并保存它,Glassfish都会这样做hot deployment,但20s至少要花费太多时间来做到这一点.
我这次可以做点什么吗?可怕的事情发展在每次我改变某些东西时你必须等待所有时间.
更新 这是我的项目设置.

只需打开下面的文件夹,这让我感到惊讶,这是多少.jar文件,这是正确的吗?

还有这个:

我的Glassfish配置:
任何的想法 ?
jsf ×5
java ×4
jsf-2 ×4
hibernate ×3
jpa ×3
eclipse ×2
glassfish ×2
jpa-2.0 ×2
ajax ×1
amazon-ec2 ×1
eclipselink ×1
glassfish-3 ×1
input-mask ×1
java-ee ×1
jquery ×1
mysql ×1
persistence ×1
postgresql ×1
request ×1
richfaces ×1
ssl ×1
xml ×1