我在运行Wildfly 9.0.2的应用程序上使用Hibernate Envers 4.1.0 Spring 3.1.0 . 每当我插入或更新实体时,它都会保持实体的正常,但Envers不会在我的AUD表上保留新的rev .
我正在寻找安静的一段时间寻找答案,但仍然没有找到答案 .
这是我到目前为止尝试的内容:
-
在
context.xml
上实现手动侦听器 . 后来据我所知,从Envers 4开始,将动态创建监听器,因此无需在context.xml
上实现它 . -
更改Envers版本 . 这可能有用,我实际上不是从更新的Envers版本开始,客户端不愿意支付框架更新重构 .
这就是我所知道的:
-
正如我已经说过的那样,实体很好,Hibernate在创建新实体或更新现有实体时确实存在 .
-
我正在调试一些像
EnversIntegrator
,EnversPostInsertEventListenerImpl
和EnversPostUpdateEventListenerImpl
这样的Envers类,它们确实被添加到了监听器中,最后2个类正在创建AuditWorkUnit
罚款 . 我找不到交易发生的确切位置 .
以下是一些其他信息:
我的一个实体:
@Entity
@Audited
@AuditTable(value = "AUTUADO_AUD", schema = "SISTAC")
@Table(name = "AUTUADO", schema = "SISTAC")
public class Autuado extends BaseEntity<Integer> {
public Autuado(Integer idAutuado) {
this.id = idAutuado;
}
public Autuado() {
}
@Id
@GeneratedValue(generator = "sequence", strategy = GenerationType.SEQUENCE)
@SequenceGenerator(name = "sequence", sequenceName = "SISTAC.SEQ_AUTUADO", allocationSize = 1)
@Column(name = "SEQ_AUTUADO")
private Integer id;
@Column(name = "NOM_AUTUADO")
private String nome;
@Column(name = "NOM_APELIDO_AUTUADO")
private String apelido;
@Column(name = "NOM_MAE_AUTUADO")
private String mae;
@Column(name = "NOM_PAI_AUTUADO")
private String pai;
@Temporal(TemporalType.DATE)
@Column(name = "DAT_NASCIMENTO_AUTUADO")
private Date datNascimento;
@Column(name = "TIP_SEXO")
@Enumerated(EnumType.STRING)
private SexoEnum sexo;
@Column(name = "NOM_PAIS_NACIONALIDADE")
private String nacionalidade;
@Column(name = "NOM_CIDADE_NATURALIDADE")
private String naturalidade;
@Column(name = "SIG_UF_NATURALIDADE")
private String ufNaturalidade;
@Column(name = "NOM_LOGRADOURO_ENDERECO")
private String endereco;
@Column(name = "NOM_BAIRRO_ENDERECO")
private String bairro;
@Column(name = "DSC_COMPLEMENTO_ENDERECO")
private String complEndereco;
@Column(name = "NOM_CIDADE_ENDERECO")
private String cidadeEndereco;
@Column(name = "SIG_UF_ENDERECO")
private String ufEndereco;
@Column(name = "NUM_TELEFONE_AUTUADO")
private String telefone;
@Column(name = "FLG_ESTUDANTE")
private String estuda;
@Column(name = "FLG_INDIGENA")
private String indigena;
@Column(name = "FLG_EMPREGO_FORMAL")
private String empregoFormal;
@Column(name = "FLG_GRAVIDA")
private String gestante;
@Column(name = "FLG_POSSUI_DEPENDENTE")
private String dependentes;
@Column(name = "FLG_DOENCA_GRAVE")
private String doenca;
@Column(name = "FLG_PORTADOR_DEFICIENCIA")
private String deficiente;
@Column(name = "FLG_DEPENDENTE_QUIMICO")
private String depQuimico;
@Column(name = "FLG_USA_MEDICAMENTO")
private String usaMedicamento;
@Column(name = "FLG_ANTECEDENTE_CRIMINAL")
private String antCriminal;
@Column(name = "USU_INCLUSAO")
private String usuInclusao;
@Column(name = "QTD_FILHO_MENOR_6_ANOS")
private Integer qtdDepMenor;
@Column(name = "QTD_FILHO_PORTADOR_DEFICIENCIA")
private Integer qtdDepDeficiente;
@Column(name = "QTD_OUTROS_DEPENDENTES")
private Integer qtdDepOutros;
@Column(name = "DSC_IDIOMA_AUTUADO")
private String idiomaAutuado;
@Column(name = "DSC_MEDICAMENTO")
private String medicamento;
@Column(name = "DSC_TATUAGEM")
private String tatuagem;
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "DAT_INCLUSAO")
private Date datInclusao;
@Column(name = "USU_ALTERACAO")
private String usuAlteracao;
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "DAT_ALTERACAO")
private Date datAlteracao;
@Column(name = "FLG_ATIVO")
private String flgAtivo;
@Column(name="NUM_CELULAR_AUTUADO")
private String celular;
@Column(name="NOM_CONTATO_AUTUADO")
private String contatoReferencia;
@Column(name="NUM_CONTATO_AUTUADO")
private String telefoneReferencia;
@Column(name="FLG_EMPREGO_INFORMAL")
private String empregoInFormal;
@Column(name="FLG_LGBTI")
private String flgLgbt;
// -------------------- MANY TO ONE --------------------
@ManyToOne
@JoinColumn(name = "SEQ_RACA_COR")
private RacaCor cor;
@ManyToOne
@JoinColumn(name = "SEQ_ESTADO_CIVIL")
private EstadoCivil estadoCivil;
@ManyToOne
@JoinColumn(name = "SEQ_ESCOLARIDADE")
private Escolaridade escolaridade;
// -------------------- ONE TO MANY --------------------
@OneToMany(mappedBy = "autuado")
private Collection<Audiencia> audiencias;
@OneToMany(mappedBy = "autuado", cascade = CascadeType.ALL)
private Collection<DoencaAutuado> listDoencas;
@OneToMany(mappedBy = "autuado", cascade = CascadeType.ALL)
private Collection<AntecedenteCriminal> listAntecCriminal;
@OneToMany(mappedBy = "autuado", cascade = CascadeType.ALL)
private Collection<DocumentoAutuado> documentos;
// -------------------- MANY TO MANY --------------------
@ManyToMany
@JoinTable(name = "SISTAC.DEFICIENCIA_AUTUADO", joinColumns = { @JoinColumn(name = "SEQ_AUTUADO") }, inverseJoinColumns = { @JoinColumn(name = "SEQ_TIPO_DEFICIENCIA") })
private Collection<Deficiencia> listDeficiencias;
@ManyToMany
@JoinTable(name = "SISTAC.DEPENDENCIA_QUIMICA_AUTUADO", joinColumns = { @JoinColumn(name = "SEQ_AUTUADO") }, inverseJoinColumns = { @JoinColumn(name = "SEQ_TIPO_SUBSTANCIA_QUIMICA") })
private Collection<SubstanciaQuimica> dependenciasQuimicas;
}
我的 pom.xml
:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>project-sistac-1</groupId>
<artifactId>sistac</artifactId>
<packaging>war</packaging>
<version>1.0.2.1</version>
<name>sistac Maven Webapp</name>
<url>http://maven.apache.org</url>
<repositories>
<repository>
<id>prime-repo</id>
<name>PrimeFaces Maven Repository</name>
<url>http://repository.primefaces.org</url>
<layout>default</layout>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.13</version>
</dependency>
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>2.3</version>
</dependency>
<dependency>
<groupId>javax.el</groupId>
<artifactId>el-api</artifactId>
<version>2.2</version>
</dependency>
<dependency>
<groupId>org.primefaces.themes</groupId>
<artifactId>bootstrap</artifactId>
<version>1.0.10</version>
</dependency>
<dependency>
<groupId>c3p0</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.1.2</version>
</dependency>
<dependency>
<groupId>antlr</groupId>
<artifactId>antlr</artifactId>
<version>2.7.6</version>
</dependency>
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib</artifactId>
<version>2.2</version>
</dependency>
<dependency>
<groupId>org.primefaces</groupId>
<artifactId>primefaces</artifactId>
<version>5.1</version>
</dependency>
<dependency>
<groupId>org.olap4j</groupId>
<artifactId>olap4j</artifactId>
<version>1.2.0</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>3.1.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-asm</artifactId>
<version>3.1.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>3.1.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>3.1.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>3.1.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>3.1.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>3.1.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
<version>3.1.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-instrument</artifactId>
<version>3.1.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-instrument-tomcat</artifactId>
<version>3.1.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>3.1.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jms</artifactId>
<version>3.1.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>3.1.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-oxm</artifactId>
<version>3.1.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>3.1.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc-portlet</artifactId>
<version>3.1.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>3.1.0.RELEASE</version>
</dependency>
<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-api</artifactId>
<version>2.0.6</version>
</dependency>
<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-impl</artifactId>
<version>2.0.6</version>
</dependency>
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports</artifactId>
<version>5.6.0</version>
<exclusions>
<exclusion>
<groupId>xml-apis</groupId>
<artifactId>xml-apis</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>aopalliance</groupId>
<artifactId>aopalliance</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>org.apache.directory.studio</groupId>
<artifactId>org.dom4j.dom4j</artifactId>
<version>1.6.1</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>4.1.0.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>4.1.0.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate.javax.persistence</groupId>
<artifactId>hibernate-jpa-2.0-api</artifactId>
<version>1.0.1.Final</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-envers -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-envers</artifactId>
<version>4.1.0.Final</version>
</dependency>
<dependency>
<groupId>javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.9.0.GA</version>
</dependency>
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>javax.transaction</groupId>
<artifactId>jta</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.5.8</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.5.11</version>
</dependency>
<dependency>
<groupId>ehcache</groupId>
<artifactId>ehcache</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>commons-digester</groupId>
<artifactId>commons-digester</artifactId>
<version>2.1</version>
</dependency>
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
<version>1.8.3</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>20041127.091804</version>
</dependency>
<dependency>
<groupId>commons-discovery</groupId>
<artifactId>commons-discovery</artifactId>
<version>0.5</version>
</dependency>
<dependency>
<groupId>javax.xml</groupId>
<artifactId>jaxrpc-api</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
</dependency>
<dependency>
<groupId>br.com.six2six</groupId>
<artifactId>fixture-factory</artifactId>
<version>3.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.axis</groupId>
<artifactId>axis</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.2.1</version>
</dependency>
<dependency>
<groupId>xstream</groupId>
<artifactId>xstream</artifactId>
<version>1.2.2</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
</dependency>
<dependency>
<groupId>com.sun.xml.ws</groupId>
<artifactId>jaxws-rt</artifactId>
<version>2.1.3</version>
</dependency>
<dependency>
<groupId>com.lowagie</groupId>
<artifactId>itext</artifactId>
<version>4.2.1</version>
</dependency>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
<version>2.2.1</version>
</dependency>
<dependency>
<groupId>com.lowagie</groupId>
<artifactId>itext</artifactId>
<version>2.1.7</version>
</dependency>
<dependency>
<groupId>org.modelmapper</groupId>
<artifactId>modelmapper</artifactId>
<version>0.7.6</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.7.9</version>
</dependency>
<dependency>
<groupId>org.reflections</groupId>
<artifactId>reflections</artifactId>
<version>0.9.11</version>
</dependency>
</dependencies>
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>
<finalName>sistac</finalName>
</build>
</project>
我的 applicationContext.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:util="http://www.springframework.org/schema/util"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:jee="http://www.springframework.org/schema/jee"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.0.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"
default-autowire="byName" default-lazy-init="true">
<context:annotation-config />
<context:component-scan base-package="br.jus.cnj" />
<!-- Configuração para executar no ambiente de homologação e produção -->
<bean id="dataSourceMysql" class="org.springframework.jndi.JndiObjectFactoryBean" autowire-candidate="default">
<property name="jndiName" value="java:/sistacMySql"/>
</bean>
<bean id="dataSourceOracle" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:/sistacOracle"/>
</bean>
<bean id="sessionFactoryMysql" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean" autowire-candidate="default">
<property name="dataSource" ref="dataSourceMysql" />
<property name="packagesToScan" value="br.jus.cnj.corporativo.bean" />
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop>
<prop key="hibernate.show_sql">false</prop>
<prop key="hibernate.format_sql">false</prop>
</props>
</property>
</bean>
<bean id="sessionFactoryOracle" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean" autowire-candidate="false">
<property name="dataSource" ref="dataSourceOracle" />
<property name="packagesToScan" value="br.jus.cnj.sistac.entity" />
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</prop>
<prop key="hibernate.show_sql">false</prop>
<prop key="hibernate.format_sql">false</prop>
</props>
</property>
</bean>
<bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactoryMysql" />
</bean>
<bean id="transactionManagerOracle" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactoryOracle" />
</bean>
<bean id="corporativoPerfilBC" class="br.jus.cnj.corporativo.business.CorporativoPerfilBC" />
<bean id="corporativoSistemaBC" class="br.jus.cnj.corporativo.business.CorporativoSistemaBC" />
<bean id="corporativoOrgaoBC" class="br.jus.cnj.corporativo.business.CorporativoOrgaoBC" />
</beans>
我用过的类为AUD表生成DDL .
public class HibernateEnversDDLGenerator {
public static void main(String[] args) {
HibernateEnversDDLGenerator generator = new HibernateEnversDDLGenerator();
generator.createSchema(Dialect.ORACLE, "br.jus.cnj.sistac.entity");
}
enum Dialect {
MYSQL("org.hibernate.dialect.MySQLInnoDBDialect"),
ORACLE("org.hibernate.dialect.Oracle10gDialect"),
SYBASE("org.hibernate.dialect.SybaseAnywhereDialect");
private String className;
Dialect(String className) {
this.className = className;
}
public String getClassName() {
return className;
}
}
private void createSchema(Dialect dialect, String entitiesPackage) {
Reflections ref = new Reflections(entitiesPackage);
Set<Class<?>> auditedClasses = ref.getTypesAnnotatedWith(Audited.class);
Configuration configuration = new Configuration();
configuration.setProperty(Environment.DIALECT, dialect.getClassName());
for (Class<?> entityClass : auditedClasses) {
configuration.addAnnotatedClass(entityClass);
}
configuration.buildMappings();
AuditConfiguration.getFor(configuration);
SchemaExport schemaExport = new SchemaExport(configuration);
schemaExport.setDelimiter(";");
schemaExport.setOutputFile(String.format("%s_%s.%s ", "ddl_audit", dialect.name().toLowerCase(), "sql"));
boolean consolePrint = true;
boolean exportInDatabase = false;
schemaExport.create(consolePrint, exportInDatabase);
}
}
我的 web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
<display-name>SISTAC</display-name>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<context-param>
<param-name>primefaces.THEME</param-name>
<param-value>bootstrap</param-value>
</context-param>
<context-param>
<param-name>javax.faces.FACELETS_SKIP_COMMENTS</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>server</param-value>
</context-param>
<filter>
<filter-name>OpenSessionInViewFilterOracle</filter-name>
<filter-class>org.springframework.orm.hibernate4.support.OpenSessionInViewFilter</filter-class>
<init-param>
<param-name>sessionFactoryBeanName</param-name>
<param-value>sessionFactoryOracle</param-value>
</init-param>
</filter>
<filter>
<filter-name>OpenSessionInViewFilterMySQL</filter-name>
<filter-class>org.springframework.orm.hibernate4.support.OpenSessionInViewFilter</filter-class>
<init-param>
<param-name>sessionFactoryBeanName</param-name>
<param-value>sessionFactoryMysql</param-value>
</init-param>
</filter>
<filter>
<filter-name>PrimeFaces FileUpload Filter</filter-name>
<filter-class>
org.primefaces.webapp.filter.FileUploadFilter
</filter-class>
<init-param>
<param-name>thresholdSize</param-name>
<param-value>51200</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>PrimeFaces FileUpload Filter</filter-name>
<servlet-name>Faces Servlet</servlet-name>
</filter-mapping>
<filter-mapping>
<filter-name>OpenSessionInViewFilterOracle</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>OpenSessionInViewFilterMySQL</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<listener>
<listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
</listener>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsf</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>60</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>principal.xhtml</welcome-file>
</welcome-file-list>
<servlet>
<display-name>Apache-Axis Servlet</display-name>
<servlet-name>AxisServlet</servlet-name>
<servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/servlet/AxisServlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>*.jws</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
<servlet>
<display-name>Axis Admin Servlet</display-name>
<servlet-name>AdminServlet</servlet-name>
<servlet-class>org.apache.axis.transport.http.AdminServlet</servlet-class>
<load-on-startup>100</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>AdminServlet</servlet-name>
<url-pattern>/servlet/AdminServlet</url-pattern>
</servlet-mapping>
</web-app>
如果您需要更多信息,请与我们联系 . 提前致谢 .