1:新建WEB工程,加入Maven的支持。
2:pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<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.0http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.dfrz</groupId>
<artifactId>Jpa_03</artifactId>
<packaging>war</packaging>
<name />
<version>0.0.1</version>
<description />
<build>
<sourceDirectory>${basedir}/src</sourceDirectory>
<outputDirectory>
${basedir}/WebRoot/WEB-INF/classes
</outputDirectory>
<resources>
<resource>
<directory>${basedir}/src</directory>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
</resources>
<plugins>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<webappDirectory>
${basedir}/WebRoot
</webappDirectory>
<warSourceDirectory>
${basedir}/WebRoot
</warSourceDirectory>
</configuration>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
<!-- jetty的插件 -->
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>6.1.5</version>
<configuration>
<webAppSourceDirectory>
WebRoot
</webAppSourceDirectory>
<scanIntervalSeconds>5</scanIntervalSeconds>
<connectors>
<connector
implementation="org.mortbay.jetty.nio.SelectChannelConnector">
<port>8081</port>
</connector>
</connectors>
</configuration>
</plugin>
</plugins>
</build>
<properties>
<project.build.sourceEncoding>GBK</project.build.sourceEncoding>
<spring.version>4.2.6.RELEASE</spring.version>
</properties>
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>com.driver</groupId>
<artifactId>sqlserver</artifactId>
<version>2005</version>
</dependency>
<dependency>
<groupId>org.apache.openjpa</groupId>
<artifactId>openjpa-all</artifactId>
<version>2.2.0</version>
</dependency>
<!-- 引入Spring -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>${spring.version}</version>
<exclusions>
<exclusion>
<artifactId>aspectjweaver</artifactId>
<groupId>org.aspectj</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-instrument</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
</dependencies>
</project>
3: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"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:jdbc="http://www.springframework.org/schema/jdbc"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.1.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.1.xsd
http://www.springframework.org/schema/jdbc
http://www.springframework.org/schema/jdbc/spring-jdbc-3.1.xsd
http://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop-3.1.xsd">
<context:annotation-config></context:annotation-config>
<context:component-scan base-package="com.test"></context:component-scan>
<!-- 定义一个数据源 -->
<bean name="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName"
value="com.microsoft.sqlserver.jdbc.SQLServerDriver">
</property>
<property name="url"
value="jdbc:sqlserver://127.0.0.1:1433;databaseName=Java1503">
</property>
<property name="username" value="sa"></property>
<property name="password" value=""></property>
</bean>
<bean name="entityManagerFactory"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="persistenceProviderClass"
value="org.apache.openjpa.persistence.PersistenceProviderImpl">
</property>
<property name="packagesToScan" value="com.jpa.entity">
</property>
<property name="jpaProperties">
<props>
<prop key="javax.persistence.jdbc.driver">
com.microsoft.sqlserver.jdbc.SQLServerDriver
</prop>
<prop key="javax.persistence.jdbc.url">
jdbc:sqlserver://localhost:1433;DatabaseName=java1411;SelectMethod=cursor;
</prop>
<prop key="javax.persistence.jdbc.user">sa</prop>
<prop key="javax.persistence.jdbc.password"></prop>
<prop key="openjpa.jdbc.SynchronizeMappings">
buildSchema(ForeignKeys=true)
</prop>
<prop key="openjpa.Log">SQL=TRACE</prop>
<prop key="openjpa.ConnectionFactoryProperties">
PrettyPrint=true,PrettyPrintLineLength=72
</prop>
<!-- 不启用jpa的类增强机制 -->
<prop key="openjpa.ClassLoadEnhancement">false</prop>
<prop key="openjpa.DynamicEnhancementAgent">false</prop>
<prop key="openjpa.RuntimeUnenhancedClasses">
supported
</prop>
</props>
</property>
</bean>
<bean name="transactionManager"
class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory"
ref="entityManagerFactory">
</property>
</bean>
<tx:annotation-driven transaction-manager="transactionManager" />
</beans>
4:web.xml配置Spring的监听器
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
5:在jetty中开发。
jetty开发过程中:内存溢出的解决
在jetty:run的运行对话框的JRE的选项中设置:
-server-XX:PermSize=64M -XX:MaxPermSize=128m
jetty中打包
package
Tomcat中运行测试