JPA 中的二个问题,请教下 EntityManager 为什么为空。我用的是JDK,Tomcat6 Spring JPA

East271536394 2010-08-21 10:19:02
1. 在DAO 中注入
@PersistenceContext(unitName = "jpaDemo")
private EntityManager em;
我在用 save() 时,em 的值为空。为什么没有注册进来。 EntityManager em;
@Override
@Transactional(readOnly = false)
public void save(User role) {
em.persist(role);
}

DAO 中的代码:
import java.io.Serializable;
import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.Persistence;
import javax.persistence.PersistenceContext;

import org.springframework.orm.jpa.support.JpaDaoSupport;
import org.springframework.transaction.annotation.Transactional;

import com.east.jpa.demo.dao.IDAO;
import com.east.jpa.demo.entity.Role;
import com.east.jpa.demo.entity.User;

public class UserDAO extends JpaDaoSupport implements IDAO {

@PersistenceContext(unitName = "jpaDemo")
private EntityManager em;

@Override
@Transactional(readOnly = false)
public void save(User role) {
em.persist(role);
}

}

-----applicationContext.xml-------------
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd"
xmlns:tx="http://www.springframework.org/schema/tx">


<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean">
<property name="persistenceUnitName" value="jpaDemo" />
</bean>

<bean id="transactionManager"
class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory"
ref="entityManagerFactory" />
</bean>
<tx:annotation-driven transaction-manager="transactionManager" />

<!-- UserDAO -->
<bean id="userDao" class="com.east.jpa.demo.dao.impl.UserDAO">
<property name="entityManagerFactory"
ref="entityManagerFactory">
</property>

</bean>

</beans>
-------------------------------------------------------------------------

----------------------------persistence.xml----------------------------
<?xml version="1.0" encoding="UTF-8"?>
<persistence 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_1_0.xsd"
version="1.0">
<persistence-unit name="jpaDemo" transaction-type="JTA">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<class>com.east.jpa.demo.entity.User</class>
<class>com.east.jpa.demo.entity.Role</class>
<properties>
<property name="hibernate.dialect"
value="org.hibernate.dialect.Oracle9Dialect" />
<property name="hibernate.connection.driver_class"
value="oracle.jdbc.OracleDriver" />
<property name="hibernate.connection.username" value="East" />
<property name="hibernate.connection.password" value="East" />
<property name="hibernate.connection.url"
value="jdbc:oracle:thin:@127.0.0.1:1521:East" />
<property name="hibernate.max_fetch_depth" value="1" />
<!--
<property name="hibernate.hbm2ddl.auto" value="create" />
-->
<!-- 调整JDBC抓取数量的大小: Statement.setFetchSize() -->
<property name="hibernate.jdbc.fetch_size" value="18" />
<!-- 调整JDBC批量更新数量 -->
<property name="hibernate.jdbc.batch_size" value="10" />
<!-- 显示最终执行的SQL -->
<property name="hibernate.show_sql" value="true" />
<!-- 格式化显示的SQL -->
<property name="hibernate.format_sql" value="true" />

<!-- 配置JTA 事务信息 -->
<property name="hibernate.transaction.factory_class"
value="org.hibernate.transaction.JTATransactionFactory" />
我使用这个,就在Tomcat 启动时出错:
Caused by: org.hibernate.TransactionException: Could not find UserTransaction in JNDI:
at org.hibernate.transaction.JTATransaction.<init>(JTATransaction.java:64)
at org.hibernate.transaction.JTATransactionFactory.createTransaction(JTATransactionFactory.java:57)
at org.hibernate.jdbc.JDBCContext.getTransaction(JDBCContext.java:193)
at org.hibernate.impl.SessionImpl.getTransaction(SessionImpl.java:1315)
at org.hibernate.ejb.AbstractEntityManagerImpl.joinTransaction(AbstractEntityManagerImpl.java:453)
... 47 more
Caused by: javax.naming.NamingException: Cannot create resource instance

<property
name="hibernate.transaction.flush_before_completion" value="true" />
<property name="hibernate.transaction.auto_close_session"
value="true" />
</properties>
</persistence-unit>

</persistence>
-----------------------------------------------------------------------------------
--后面我使用了一个类,但是这个类加上去启动没有出错,------org.hibernate.transaction.JDBCTransactionFactory-------
但是在
@Override
@Transactional(readOnly = false) 这个去了,不会有错,但是没有将数据保存到数据库
public void save(User role) {
em.persist(role);
}


2. 方法中带上@Transactional(readOnly = false)这个,用 org.hibernate.transaction.JDBCTransactionFactory
出错。
org.springframework.transaction.CannotCreateTransactionException: Could not open JPA EntityManager for transaction; nested exception is java.lang.IllegalStateException: A JTA EntityManager cannot use getTransaction()
Caused by: java.lang.IllegalStateException: A JTA EntityManager cannot use getTransaction()
at org.hibernate.ejb.AbstractEntityManagerImpl.getTransaction(AbstractEntityManagerImpl.java:317)
at org.springframework.orm.jpa.DefaultJpaDialect.beginTransaction(DefaultJpaDialect.java:70)
at org.springframework.orm.jpa.JpaTransactionManager.doBegin(JpaTransactionManager.java:326)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:350)
at org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(TransactionAspectSupport.java:262)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:101)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy14.save(Unknown Source)

问题1. 为什么em 为空
2。 怎么配置 persistence.xml 与applicationContext.xml文件,使的程序中能用JTA事务。

...全文
2734 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
East271536394 2010-09-12
  • 打赏
  • 举报
回复
Tomcat Spring Hibernate 说明在j2se

我现在就是在j2ee上呀
  • 打赏
  • 举报
回复
你用 Tomcat, Spring, Hibernate 那说明处于 J2SE 环境中,在 J2SE 环境中是不能使用 JTA 事务的。

JTA 事务必须在 J2EE 环境中,也就是在 J2EE 应用服务器中才能够使用。
East271536394 2010-09-12
  • 打赏
  • 举报
回复
最终解决方案:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:jee="http://www.springframework.org/schema/jee"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation=" http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">

<!-- JPA 配置信息 -->
<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<!-- 持久化单元信息 value 要与persistence 中的unitName 要一致 -->
<!-- 配置数据源 -->
<property name="persistenceUnitName" value="east" />
<property name="dataSource" ref="dataSource" />
<property name="jpaVendorAdapter">
<bean
class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
<!-- 数据库方式是ORACLE 或SQL SERVER -->
<property name="database" value="ORACLE"></property>
<!-- 是否显示sql 语句 -->
<property name="showSql" value="true"></property>
</bean>
</property>
</bean>

<bean
class="org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor">
</bean>

<!--JPA Transaction -->
<bean id="transactionManager"
class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory"
ref="entityManagerFactory" />
</bean>
<!-- 支持@Transaction 方式 -->
<tx:annotation-driven proxy-target-class="true"
transaction-manager="transactionManager" />

<!-- PersisteContext 注册方式-->
<context:spring-configured />
<context:annotation-config />
</beans>

-------------------------------------------------------------------------

<?xml version="1.0" encoding="UTF-8"?>
<persistence 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_1_0.xsd"
version="1.0">
<persistence-unit name="east">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<!--<jar-file>WEB-INF/classes</jar-file>
<jar-file>WEB-INF/lib/test-generated.jar</jar-file>
-->
<properties>
<!--<property name="hibernate.ejb.cfgfile" value="/hibernate.cfg.xml"/>-->
<property name="hibernate.archive.autodetection"
value="class" />
<!--
<property name="hibernate.dialect" value="org.hibernate.dialect.SQLServerDialect" />
-->
<property name="hibernate.dialect"
value="org.hibernate.dialect.Oracle10gDialect" />

</properties>
</persistence-unit>
</persistence>

/**
* 数据库持久化的实现<br>
* ProjectName:JPA_Demo <br>
* Class Name:IDAOImpl.java<br>
* Class Description:<br>
* Author:East 271536394 <br>
* Create Time:Aug 29, 2010 7:41:55 PM<br>
*
* @version 1.0
*/
public class IDAOImpl implements IDAO {
/* 自动注册 */
@PersistenceContext
EntityManager em;

@Override
public <T> void create(Collection<Class<T>> entitys) throws Exception {
for (Class<T> entity : entitys) {
create(entity);
}
}

public EntityManager getEm() {
return em;
}

private static final Logger logger = Logger.getLogger(IDAOImpl.class);

@Override
public <T> int count(Class<T> entity) throws Exception {
return findAll(entity).size();
}

@Override
@Transactional(readOnly = false)
public <T> void create(T entity) throws Exception {
if (em == null) {
logger.error("init EntityManager is error");
}
getEm().persist(entity);

}
}




rabbitpeihai 2010-08-23
  • 打赏
  • 举报
回复
Tomcat6不支持EJB啊,楼主
East271536394 2010-08-23
  • 打赏
  • 举报
回复
<persistence-unit name="test">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<!--<jar-file>WEB-INF/classes</jar-file>
<jar-file>WEB-INF/lib/pqm-generated.jar</jar-file>
--><properties>
<!--<property name="hibernate.ejb.cfgfile" value="/hibernate.cfg.xml"/>-->
<property name="hibernate.archive.autodetection" value="class" />
<!--
<property name="hibernate.dialect" value="org.hibernate.dialect.SQLServerDialect" />
-->
<property name="hibernate.dialect" value="org.hibernate.dialect.Oracle10gDialect" />

</properties>
</persistence-unit>
East271536394 2010-08-21
  • 打赏
  • 举报
回复
有没有一个配置好的,applicationContext.xml与persistence.xml文件,发上来看看。
East271536394 2010-08-21
  • 打赏
  • 举报
回复
用了6楼的方式 ,怎么出错了
org.hibernate.HibernateException: TransactionFactory class not found: org.hibernate.transaction.JTransactionFactory
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:737)
at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:121)
at javax.persistence.Persistence.createFactory(Persistence.java:171)
... 39 more
Caused by: org.hibernate.HibernateException: TransactionFactory class not found: org.hibernate.transaction.JTransactionFactory
wuyua5337504 2010-08-21
  • 打赏
  • 举报
回复
强大!
学习是必须地!
回帖是刚刚地!
registerzx 2010-08-21
  • 打赏
  • 举报
回复
或者在applicationContext.xml里面加:
<tx:jta-transaction-manager/>

可以自动找JTA transactoin-manager
registerzx 2010-08-21
  • 打赏
  • 举报
回复
用JNDI的话,可以如下:
<bean id="transactionManager"
class="org.springframework.transaction.jta.JtaTransactionManager">
<property name="transactionManager">
<bean class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="resourceRef" value="true" />
<property name="jndiName" value="TransactionManager" />
<property name="expectedType"
value="javax.transaction.TransactionManager" />
</bean>
</property>
</bean>
East271536394 2010-08-21
  • 打赏
  • 举报
回复
有没有一个配置好的,applicationContext.xml与persistence.xml文件,发上来看看。
East271536394 2010-08-21
  • 打赏
  • 举报
回复
<bean id="transactionManager"
class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory"
ref="entityManagerFactory" />
</bean>
<tx:annotation-driven transaction-manager="transactionManager" />

这个不是设置了事务吗?
registerzx 2010-08-21
  • 打赏
  • 举报
回复
或者在spring里设置
<bean id="transactionManager"
class="org.springframework.transaction.jta.JtaTransactionManager">
<property name="userTransaction">
<bean class="org.springframework.transaction.jta.JotmFactoryBean"/>
</property>
</bean>
registerzx 2010-08-21
  • 打赏
  • 举报
回复
JTA的设置需要用JNDI
registerzx 2010-08-21
  • 打赏
  • 举报
回复
JTA需要transactionManager,你没有定义transactionManager

因为这个没设好,所以entityManager没法启动

把JTA换成LOCAL应该就工作了
以下是jar包列表 activation-1.1.jar activiti-engine-5.10.jar activiti-spring-5.10.jar antlr-2.7.7.jar aopalliance-1.0.jar aopalliance.jar asm-3.1.jar aspectjrt.jar aspectjweaver-1.6.12.jar aspectjweaver.jar c3p0-0.9.1.2.jar cas-client-core-3.2.1.jar cglib-2.2.jar cglib-nodep-2.1_3.jar classmate-0.5.4.jar commons-beanutils-1.8.0.jar commons-codec-1.4.jar commons-collections-3.2.1.jar commons-dbcp-1.4.jar commons-digester.jar commons-email-1.2.jar commons-fileupload-1.2.1.jar commons-lang-2.4.jar commons-logging-1.1.jar commons-pool-1.5.4.jar commons-pool-1.6.jar dom4j-1.6.1.jar ehcache-core-2.4.3.jar ezmorph-1.0.6.jar hibernate-commons-annotations-4.0.1.Final.jar hibernate-core-4.0.0.Final.jar hibernate-core-4.1.1.Final.jar hibernate-ehcache-4.0.0.Final.jar hibernate-entitymanager-4.0.0.Final.jar hibernate-jpa-2.0-api-1.0.1.Final.jar hibernate-validator-4.0.2.GA.jar httpclient-4.1.2.jar httpcore-4.1.2.jar jackson-core-asl-1.7.2.jar jackson-core-asl-1.9.9.jar jackson-jaxrs-1.7.2.jar jackson-jaxrs-1.9.9.jar jackson-mapper-asl-1.7.2.jar jackson-mapper-asl-1.9.9.jar jandex-1.0.3.Final.jar javassist-3.12.1.GA.jar javassist-3.15.0-GA.jar jaxb-api-2.1.jar jaxb-impl-2.1.3.jar jboss-logging-3.1.0.CR2.jar jboss-logging-3.1.0.GA.jar jboss-transaction-api_1.1_spec-1.0.0.Final.jar jcl-over-slf4j-1.5.8.jar json-lib-2.4-jdk15.jar jstl-1.1.2.jar livetribe-jsr223-2.0.6.jar log4j-1.2.16.jar mail-1.4.jar mybatis-3.1.1.jar mysql-connector-java-5.1.18-bin.jar mysql-connector-java-5.1.18.jar org.springframework.aop-3.1.1.RELEASE.jar org.springframework.asm-3.1.1.RELEASE.jar org.springframework.aspects-3.1.1.RELEASE.jar org.springframework.beans-3.1.1.RELEASE.jar org.springframework.context-3.1.1.RELEASE.jar org.springframework.context.support-3.1.1.RELEASE.jar org.springframework.core-3.1.1.RELEASE.jar org.springframework.expression-3.1.1.RELEASE.jar org.springframework.instrument-3.1.1.RELEASE.jar org.springframework.instrument.tomcat-3.1.1.RELEASE.jar org.springframework.jdbc-3.1.1.RELEASE.jar org.springframework.jms-3.1.1.RELEASE.jar org.springframework.orm-3.1.1.RELEASE.jar org.springframework.oxm-3.1.1.RELEASE.jar org.springframework.test-3.1.1.RELEASE.jar org.springframework.transaction-3.1.1.RELEASE.jar org.springframework.web-3.1.1.RELEASE.jar org.springframework.web.portlet-3.1.1.RELEASE.jar org.springframework.web.servlet-3.1.1.RELEASE.jar org.springframework.web.struts-3.1.1.RELEASE.jar slf4j-api-1.5.8.jar slf4j-log4j12-1.5.8.jar spring-aop-3.1.1.RELEASE.jar spring-asm-3.1.1.RELEASE.jar spring-beans-3.1.1.RELEASE.jar spring-context-3.1.1.RELEASE.jar spring-context-support-3.1.1.RELEASE.jar spring-core-3.1.1.RELEASE.jar spring-expression-3.1.1.RELEASE.jar spring-integration-core-2.1.1.RELEASE.jar spring-integration-http-2.1.1.RELEASE.jar spring-jdbc-3.1.1.RELEASE.jar spring-orm-3.1.1.RELEASE.jar spring-tx-3.1.1.RELEASE.jar spring-web-3.1.1.RELEASE.jar spring-webmvc-3.1.1.RELEASE.jar standard-1.1.2.jar stax-api-1.0-2.jar transaction-api-1.1.jar validation-api-1.0.0.GA.jar xmemcached-1.3.7.jar xml-apis-1.0.b2.jar
基于SpringMVC+Hibernate4的考勤管理系统+.zip 项目环境 系统:Windows7 X64位系统 IDE:Intellij IDEA 14.0 后端技术选型 J D K 版 本:JDK 1.8 数 据 库:Mysql 5.7 WEB容器:Tomcat 7.0 视图框架:SpringMVC 4.3.6.RELEASE 核心框架:Spring Framework 4.3.6.RELEASE 持久层框架:Hibernate4.3.11.Final 数据库连接池:C3P0 工具类 Apache fileupload 文件上传组件 Apache commons-collections 封装好的各种集合类和集合工具类 Apache commons-io Apache基金会创建并维护的Java函数库 Apache commons-logging 通用的日志接口 dom4j 优秀的JavaXML API 主要用于解析XML文档 poi组件 主要用于读取以及写入Microsoft Office格式档案 JSR 303 为实体验证定义了一个元数据模型和API 前端技术选型 JS框架:jQuery 1.8 CSS框架:Twitter Bootstrap 项目所需jar包列表 antlr-2.7.7.jar classmate-1.0.0.jar com.springsource.net.sf.cglib-2.2.0.jar com.springsource.org.aopalliance-1.0.0.jar com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar commons-collections4-4.0.jar commons-fileupload-1.2.2.jar commons-io-2.0.1.jar commons-logging-1.1.3.jar dom4j-1.6.1.jar hibernate-commons-annotations-4.0.5.Final.jar hibernate-core-4.3.11.Final.jar hibernate-entitymanager-4.3.11.Final.jar hibernate-jpa-2.1-api-1.0.0.Final.jar hibernate-validator-5.1.3.Final.jar hibernate-validator-annotation-processor-5.1.3.Final.jar jandex-1.1.0.Final.jar javassist-3.18.1-GA.jar jboss-logging-3.1.3.GA.jar jboss-logging-annotations-1.2.0.Beta1.jar jboss-transaction-api_1.2_spec-1.0.0.Final.jar jstl-1.2.jar mysql-connector-java-5.1.7-bin.jar poi-3.15.jar poi-examples-3.15.jar poi-excelant-3.15.jar poi-ooxml-3.15.jar poi-ooxml-schemas-3.15.jar poi-scratchpad-3.15.jar spring-aop-4.0.0.RELEASE.jar 使用Spring 的AOP 特性时所需的类和源码级元数据支持 spring-aspects-4.0.0.RELEASE.jar 提供对AspectJ的支持,以便可以方便的将面向方面的功能集成进IDE spring-beans-4.0.0.RELEASE.jar 所有应用都要用到的,它包含访问配置文件、创建和管理bean spring-context-4.0.0.RELEASE.jar Spring 核心提供了大量扩展 spring-core-4.0.0.RELEASE.jar Spring 框架基本的核心工具类,是其它组件的基本核心 spring-expression-4.0.0.RELEASE.jar Spring表达式语言 spring-jdbc-4.0.0.RELEASE.jar 对Spring 对JDBC 数据访问进行封装的所有类 spring-orm-4.0.0.RELEASE.jar Spring对DAO特性集进行了扩展 spring-tx-4.0.0.RELEASE.jar 事务相关的类 spring-web-4.0.0.RELEASE.jar Web 应用开发时,用到Spring 框架时所需的核心类 spring-webmvc-4.0.0.RELEASE
内容为J2EE应用开发详解的源代码 第1章 Java Web应用开发简介 1   1.1 Java EE应用概述 1   1.2 Java EE概念 1   1.2.1 Java EE多层模型 1   1.2.2 Java EE体系结构 2   1.3 Java EE的核心API与组件 4   1.4 Web服务器和应用服务器 13   1.5 小结 16   第2章 建立开发平台 17   2.1 构建开发环境 17   2.1.1 安装JDK 17   2.1.2 安装Tomcat 21   2.1.3 安装Eclipse 23   2.2 配置开发环境 23   2.3 小结 26   第3章 Java的反射机制 27   3.1 Java反射API 27   3.2 加载类的实例 29   3.2.1 加载class对象的两种方式 29   3.2.2 Class.forName()加载类的实例 30   3.2.3 loadClass获得类的实例 31   3.3 操作类的字段 31   3.3.1 获取对象的属性 31   3.4 操作类的方法 34   3.4.1 运行时调用对象的方法 34   3.4.2 无参构造函数 36   3.4.3 带参构造函数 37   3.5 动态代理 39   3.6 反射机制在Hibernate的应用 42   3.7 小结 46   第4章 Servlet技术 47   4.1 Servlet简介 47   4.1.1 Servlet的特点 47   4.1.2 Servlet的优势 48   4.1.3 Servlet的工作过程 49   4.1.4 Servlet的生命周期 50   4.2 开发和部署一个简单的Servlet 51   4.3 Servlet常用API介绍 53   4.3.1 Servlet实现相关 54   4.3.2 Servlet配置相关 54   4.3.3 Servlet异常相关 55   4.3.4 请求和响应相关 55   4.3.5 会话跟踪 56   4.3.6 Servlet上下文 57   4.3.7 Servlet协作 57   4.3.8 Filter 58   4.4 使用Servlet处理客户端请求 58   4.5 会话跟踪 61   4.5.1 使用Cookie进行会话跟踪 61   4.5.2 使用URL重写进行会话跟踪 62   4.5.3 使用隐藏表单域进行会话跟踪 63   4.6 小结 65   第5章 JSP技术 67   5.1 JSP简介 67   5.2 JSP页面的结构 68   5.3 脚本元素 68   5.3.1 Scriptlet元素 69   5.3.2 Expression元素 69   5.3.3 Declaration元素 70   5.4 指令 73   5.4.1 page指令 73   5.4.2 include指令 75   5.5 动作 76   5.5.1 Resource动作 76   5.5.2 JavaBean动作 78   5.6 隐式对象 78   5.6.1 request对象 78   5.6.2 response对象 78   5.6.3 application对象 78   5.6.4 out对象 79   5.6.5 page对象 79   5.6.6 session对象 79   5.6.7 exception对象 80   5.6.8 pageContext对象 80   5.6.9 config对象 80   5.7 JSP自定义标签 81   5.8 小结 84   第6章 XML、CSS和XSLT 85   6.1 XML 85   6.1.1 什么是XML 85   6.1.2 XML的产生 85   6.1.3 XML的用途 86   6.1.4 XML元素 87   6.1.5 XML属性 87   6.1.6 XML语法规则 89   6.1.7 XML检验 91   6.2 CSS 92   6.3 XSLT 94   6.4 小结 96   第7章 Ajax简介 97   7.1 Ajax简介 97   7.2 Ajax技术核心 100   7.2.1 XMLHttpRequest对象的常用方法 100   7.2.2 标准的XMLHttpRequest属性 101   7.3 一个简单的Ajax实例 101   7.4 小结 104   第8章 Struts2框架 105   8.1 Web应用的发展 105   8.2 Struts2的起源和体系结构 106   8.3 Struts2核心部分详解 108   8.3.1 核心控制器FilterDispatcher 108   8.3.2 业务逻辑控制器Action 111   8.3.3 业务逻辑组件 116   8.3.4 Struts2表示层 118   8.3.5 Struts2配置文件 119   8.4 Action的配置方式 121   8.4.1 动态方法调用 121   8.4.2 设置action元素的method属性 122   8.4.3 使用通配符配置action 122   8.4.4 默认action 123   8.5 拦截器Interceptor 123   8.5.1 拦截器的定义 124   8.5.2 拦截器的实现原理 124   8.5.3 Struts2的内置拦截器 124   8.5.4 拦截器的配置和使用 125   8.5.5 自定义拦截器 126   8.6 一个简单的Struts2应用 130   8.7 小结 140   第9章 JSF 141   9.1 JSF技术简介 141   9.1.1 JSF与MVC模式 141   9.1.2 JSF应用程序配置 142   9.2 一个简单的JSF应用 142   9.2.1 JSF应用程序开发步骤 143   9.2.2 用户登录实例 143   9.3 JSF应用程序架构 147   9.3.1 JSF请求处理生命周期 147   9.3.2 JSF事件驱动模型 148   9.3.3 JSF导航模型 149   9.4 JSF的组成 152   9.4.1 UI组件 152   9.4.2 JSF标签 154   9.5 统一EL 156   9.5.1 表达式和函数 156   9.5.2 操作符 157   9.5.3 保留字 158   9.5.4 内置对象 158   9.6 Backing Bean 158   9.7 创建自定义组件 162   9.8 小结 164   第10章 JavaBean 165   10.1 JavaBean简介 165   10.1.1 JavaBean的特点 166   10.1.2 JavaBean的元素及属性 167   10.1.3 JavaBean的分类 168   10.2 创建JavaBean 168   10.2.1 JavaBean的规格说明 168   10.2.2 创建一个简单的JavaBean 168   10.3 在JSP使用JavaBean 169   10.4 使用JavaBean连接数据库 172   10.5 小结 177   第11章 EJB 179   11.1 EJB简介 179   11.1.1 EJB的特点 179   11.1.2 EJB类型与组成 180   11.1.3 EJB 3.0的新特性 181   11.2 元数据注释和部署描述符 181   11.2.1 元数据注释 181   11.2.2 部署描述符 182   11.3 EJB支持JNDI 183   11.3.1 JNDI的概念 183   11.3.2 使用JNDI 186   11.4 会话Bean 191   11.4.1 会话Bean的分类 191   11.4.2 会话Bean的组成 195   11.4.3 会话Bean的生命周期 196   11.4.4 创建无状态会话Bean 197   11.4.5 创建有状态会话Bean 198   11.5 消息驱动Bean和消息服务 199   11.5.1 JMS 200   11.5.2 消息驱动Bean的生命周期 202   11.5.3 创建消息驱动Bean 202   11.6 实体Bean 203   11.6.1 实体Bean的特性 204   11.6.2 实体Bean的分类及组成 204   11.6.3 EJB 3.0的实体Bean 206   11.7 EJB事务 208   11.7.1 基于容器管理事务 209   11.7.2 基于Bean管理的事务 210   11.8 EJB拦截器 212   11.9 EJB定时服务 214   11.10 EJB安全管理 214   11.11 小结 216   第12章 RMI 217   12.1 RMI简介 217   12.1.1 RMI的架构 218   12.1.2 RMI的组成及实现 218   12.1.3 RMI的优点 219   12.2 一个RMI的简单实例 219   12.3 小结 226   第13章 Web服务概论 227   13.1 SOA简介 227   13.2 Web服务简介 229   13.3 Web服务的核心技术 230   13.3.1 SOAP 232   13.3.2 WSDL 235   13.3.3 UDDI 236   13.4 小结 236   第14章 CORBA 237   14.1 CORBA的需求 237   14.2 CORBA的架构 237   14.2.1 IDL 239   14.2.2 ORB 240   14.2.3 IIOP 241   14.2.4 BOA 241   14.3 CORBA服务 241   14.4 创建CORBA应用 243   14.5 CORBA与RMI 246   14.5.1 CORBA和RMI的区别 246   14.5.2 CORBA和RMI的互操作 247   14.6 小结 248   第15章 Spring框架 249   15.1 Spring 2.0的体系结构 249   15.2 Ioc容器 250   15.2.1 BeanFactory 250   15.2.2 ApplicationContext 252   15.2.3 Beans的生命周期过程 253   15.2.4 Beans的进阶管理 254   15.3 依赖注入 259   15.3.1 Constructor注入 259   15.3.2 Setter注入 261   15.3.3 Method注入 263   15.4 Spring AOP技术 266   15.4.1 装备(advices) 267   15.4.2 Spring AOP的传统用法 275   15.4.3 基于@AspectJ注释的AOP 277   15.4.4 基于aop命名空间的AOP 279   15.5 小结 282   第16章 数据库技术和JDBC技术 283   16.1 关系数据库和SQL 283   16.2 关系数据库的工作环境 284   16.3 基于JDBC的数据访问技术 285   16.3.1 JDBC概述 285   16.3.2 数据库驱动程序 287   16.3.3 使用JDBC查询数据库 291   16.3.4 常用的JDBC类和方法 294   16.3.5 数据库连接池使用JDBC 297   16.4 小结 302   第17章 ORM与Java持久化机制 303   17.1 ORM概述 303   17.2 域模型 304   17.3 实体域对象的持久化模式 304   17.4 JPA 305   17.4.1 实体 306   17.4.2 EntityManager 309   17.5 持久化查询语言 313   17.6 常用的JPA注释 316   17.7 小结 318   第18章 Hibernate 319   18.1 Hibernate体系结构 319   18.2 Hibernate核心接口 321   18.3 一个简单的Hibernate例子 321   18.4 详解Hibernate配置文件 325   18.4.1 Hibernate的两种配置方式 325   18.4.2 配置数据库连接池 327   18.5 HQL简介 328   18.6 小结 330   第19章 权限管理系统(Struts+Spring+Hiberante+Ajax) 331   19.1 需求分析 331   19.2 系统总体流程设计 331   19.3 系统设计 332   19.4 系统总体解析 336   19.5 系统功能解析 364   19.5.1 管理员登录 364   19.5.2 模块管理 374   19.5.3 角色数据操作 383   19.5.4 资源操作 391   19.5.5 用户管理 394   19.6 小结 404   第20章 航空订票系统(JSF/Richfaces+EJB+JPA) 405   20.1 需求分析 405   20.2 基本设计理念 406   20.3 系统设计 407   20.3.1 系统用例分析 407   20.3.2 持久化数据分析 413   20.3.3 系统操作序列描述 413   20.3.4 业务接口设计 419   20.4 数据库设计 421   20.4.1 数据库规划 421   20.4.2 具体数据库表 423   20.4.3 SQL代码 426   20.5 系统实现 431   20.5.1 工程开发环境的建立 431   20.5.2 EJB Entity开发 435   20.5.3 EJB Session开发 443   20.5.4 Message-Driven Bean开发 447   20.5.5 JSF/Richfaces开发 448   20.5.6 远程连接 455   20.5.7 系统配置 456   20.6 系统运行 462   20.6.1 服务器的选择 462   20.6.2 系统的部署 462   20.6.3 系统的运行 463   20.7 小结 466

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧