您的位置:首页 > 编程语言 > Java开发

Struts2.3.16+Spring3.2.8+Hibernate4.2.10全注解配置

2017-04-20 00:43 447 查看
1 数据库配置

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8
jdbc.username=root
jdbc.password=mysql

2 log4j.xml

log4j.rootLogger=debug, stdout
log4j.logger.java.sql.Connection=info, stdout
log4j.logger.java.sql.Statement=debug, stdout
log4j.logger.java.sql.PreparedStatement=debug, stdout

log4j.logger.org.hibernate=error
log4j.logger.org.hibernate.SQL=debug
log4j.logger.org.hibernate.tool.hbm2ddl=debug

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%p %d{yyyy-MM-dd HH:mm:ss} %c:%L - %m%n
log4j.category.org.springframework = ON

3 pom.xml

[align=left]<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"[/align]
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> [align=left] <modelVersion> 4.0.0</modelVersion >[/align]

[align=left] <groupId> com.lin</groupId >[/align]
<artifactId> com.lin.ssh.demo</artifactId >
[align=left] <version> 0.0.1-SNAPSHOT</version >[/align]
[align=left] <packaging> jar</packaging >[/align]

[align=left] <properties>[/align]

[align=left] <checkstyle.config.location> config/maven_checks.xml</checkstyle.config.location >[/align]

[align=left] <spring.version> 3.2.8.RELEASE</spring.version >[/align]
[align=left] <struts2.version> 2.3.16.1</struts2.version >[/align]
[align=left] <hibernate.version> 4.2.10.Final</hibernate.version >[/align]
[align=left] <mybatis.version> 3.2.6</mybatis.version >[/align]
[align=left] <mysql.version> 5.1.29</mysql.version >[/align]

[align=left] <servlet-api.version> 2.5</servlet-api.version >[/align]
[align=left] <jsp-api.version> 2.2</jsp-api.version >[/align]
[align=left] <jstl.version> 1.2</jstl.version >[/align]

[align=left] <fastjson.version> 1.1.39</fastjson.version >[/align]

[align=left] <commons-dbcp2.version> 2.0</commons-dbcp2.version >[/align]
[align=left] <commons-pool2.version> 2.2</commons-pool2.version >[/align]
[align=left] <commons-logging.version> 1.1.3</commons-logging.version >[/align]
[align=left] <commons-io.version> 1.3.2</commons-io.version >[/align]
[align=left] <commons-lang3.version> 3.3.1</commons-lang3.version >[/align]
[align=left] <commons-fileupload.version> 1.2.1</commons-fileupload.version >[/align]

[align=left] <log4j.version> 1.2.17</log4j.version >[/align]
[align=left] <slf4j.version> 1.7.6</slf4j.version >[/align]
[align=left] <dom4j.version> 1.6.1</dom4j.version >[/align]
[align=left] <jfreechart.version> 1.0.17</jfreechart.version >[/align]
[align=left] <shiro.version> 1.2.3</shiro.version >[/align]

[align=left] <aspectjweaver.version> 1.7.4</aspectjweaver.version >[/align]
[align=left] <bonecp.version> 0.8.0.RELEASE</bonecp.version >[/align]
[align=left] <druid.version> 1.0.6</druid.version >[/align]
[align=left] <c3p0.version> 0.9.2.1</c3p0.version >[/align]
[align=left] <testng.version> 6.8.8</testng.version >[/align]
[align=left] <junit.version> 4.11</junit.version >[/align]
[align=left] <freemarker.version> 2.3.20</freemarker.version >[/align]
[align=left] <velocity.version> 1.7</velocity.version >[/align]
[align=left] <tapestry.version> 5.3.7</tapestry.version >[/align]

[align=left] <asm.version> 4.2</asm.version >[/align]
[align=left] <cglib.version> 3.1</cglib.version >[/align]

<!-- Plugin 的属性定义
-->
[align=left] <project.build.sourceEncoding> UTF-8</project.build.sourceEncoding >[/align]
[align=left] <jdk.version> 1.6</jdk.version >[/align]
[align=left] </properties>[/align]

[align=left] <name> com.lin.ssh.demo</name >[/align]
[align=left] <url> http://maven.apache.org</url >[/align]

[align=left] <dependencies>[/align]
[align=left] <!-- struts2 -->[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> org.apache.struts</groupId >[/align]
[align=left] <artifactId> struts2-core</artifactId >[/align]
[align=left] <version> ${struts2.version}</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> org.apache.struts</groupId >[/align]
[align=left] <artifactId> struts2-spring-plugin </artifactId>[/align]
[align=left] <version> ${struts2.version}</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> org.apache.struts</groupId >[/align]
[align=left] <artifactId> struts2-json- plugin</ artifactId>[/align]
[align=left] <version> ${struts2.version}</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> org.apache.struts</groupId >[/align]
[align=left] <artifactId> struts2-dwr- plugin</ artifactId>[/align]
[align=left] <version> ${struts2.version}</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> org.apache.struts</groupId >[/align]
[align=left] <artifactId> struts2-rest-plugin </artifactId>[/align]
[align=left] <version> ${struts2.version}</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> org.apache.struts</groupId >[/align]
[align=left] <artifactId> struts2-javatemplates -plugin</artifactId >[/align]
[align=left] <version> ${struts2.version}</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> org.apache.struts</groupId >[/align]
[align=left] <artifactId> struts2-jfreechart -plugin</artifactId >[/align]
[align=left] <version> ${struts2.version}</version >[/align]
[align=left] </dependency>[/align]

[align=left] <dependency>[/align]
[align=left] <groupId> org.apache.struts</groupId >[/align]
[align=left] <artifactId> struts2-convention-plugin </artifactId>[/align]
[align=left] <version> ${struts2.version}</version >[/align]
[align=left] </dependency>[/align]

[align=left] <!-- hibernate -->[/align]

[align=left] <dependency>[/align]
[align=left] <groupId> org.hibernate</groupId >[/align]
[align=left] <artifactId> hibernate-core </artifactId>[/align]
[align=left] <version> ${hibernate.version}</version >[/align]
<!-- 因为struts2 中也有 javassist,所以要排除
-->
[align=left] <exclusions>[/align]
[align=left] <exclusion>[/align]
[align=left] <groupId> javassist</groupId >[/align]
[align=left] <artifactId> javassist</artifactId >[/align]
[align=left] </exclusion>[/align]
[align=left] </exclusions>[/align]
[align=left] </dependency>[/align]

[align=left] <!-- mybaits -->[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> org.mybatis</groupId >[/align]
[align=left] <artifactId> mybatis</artifactId >[/align]
[align=left] <version> ${mybatis.version}</version >[/align]
[align=left] </dependency>[/align]

[align=left] <!-- JDBC驱动 -->[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> mysql</groupId >[/align]
[align=left] <artifactId> mysql-connector-java </artifactId>[/align]
[align=left] <version> ${mysql.version}</version >[/align]
[align=left] </dependency>[/align]

[align=left] <!-- spring相关 -->[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> org.springframework</groupId >[/align]
[align=left] <artifactId> spring-core</artifactId >[/align]
[align=left] <version> ${spring.version}</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> org.springframework</groupId >[/align]
[align=left] <artifactId> spring-beans</artifactId >[/align]
[align=left] <version> ${spring.version}</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> org.springframework</groupId >[/align]
[align=left] <artifactId> spring-context</artifactId >[/align]
[align=left] <version> ${spring.version}</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> org.springframework</groupId >[/align]
[align=left] <artifactId> spring-jdbc </artifactId>[/align]
[align=left] <version> ${spring.version}</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> org.springframework</groupId >[/align]
[align=left] <artifactId> spring-web</artifactId >[/align]
[align=left] <version> ${spring.version}</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> org.springframework</groupId >[/align]
[align=left] <artifactId> spring-webmvc </artifactId>[/align]
[align=left] <version> ${spring.version}</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> org.springframework</groupId >[/align]
[align=left] <artifactId> spring-aop </artifactId>[/align]
[align=left] <version> ${spring.version}</version >[/align]
</dependency>
[align=left] <dependency>[/align]
[align=left] <groupId> org.springframework</groupId >[/align]
[align=left] <artifactId> spring-tx </artifactId>[/align]
[align=left] <version> ${spring.version}</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> org.springframework</groupId >[/align]
[align=left] <artifactId> spring-orm </artifactId>[/align]
[align=left] <version> ${spring.version}</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> org.springframework</groupId >[/align]
[align=left] <artifactId> spring-context-support</artifactId >[/align]
[align=left] <version> ${spring.version}</version >[/align]
[align=left] </dependency>[/align]

[align=left] <dependency>[/align]
[align=left] <groupId> org.springframework</groupId >[/align]
[align=left] <artifactId> spring-jms </artifactId>[/align]
<version> ${spring.version}</version >
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> org.springframework.security</groupId >[/align]
[align=left] <artifactId> spring-security-core</artifactId >[/align]
[align=left] <version> 3.2.4.RELEASE</version >[/align]
[align=left] </dependency>[/align]

[align=left] <!-- 日志库 -->[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> commons-logging</groupId >[/align]
[align=left] <artifactId> commons-logging</artifactId >[/align]
[align=left] <version> ${commons-logging.version}</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> log4j</groupId >[/align]
[align=left] <artifactId> log4j</artifactId >[/align]
[align=left] <version> ${log4j.version}</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> org.slf4j</groupId >[/align]
[align=left] <artifactId> slf4j-log4j12</artifactId >[/align]
[align=left] <version> ${slf4j.version}</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> org.slf4j</groupId >[/align]
[align=left] <artifactId> slf4j-api </artifactId>[/align]
[align=left] <version> ${slf4j.version}</version >[/align]
[align=left] </dependency>[/align]

[align=left] <!-- 依赖的WEB类库 TOMCAT环境注释[/align]
[align=left] <dependency>[/align]
[align=left] <groupId>javax.servlet</groupId>[/align]
[align=left] <artifactId>javax.servlet- api</artifactId>[/align]
[align=left] <version>3.1.0</version>[/align]
[align=left] </dependency>[/align]

[align=left] <dependency>[/align]
[align=left] <groupId>javax.servlet</groupId>[/align]
[align=left] <artifactId> servlet-api </artifactId>[/align]
[align=left] <version>${ servlet-api.version}</version>[/align]
[align=left] </dependency>-->[/align]

[align=left] <!--⑤ 依赖的测试类库-->[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> org.springframework</groupId >[/align]
[align=left] <artifactId> spring-test</artifactId >[/align]
[align=left] <version> ${spring.version}</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> junit</groupId >[/align]
[align=left] <artifactId> junit</artifactId >[/align]
[align=left] <version> ${junit.version}</version >[/align]
[align=left] <scope> test</scope >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> org.testng</groupId >[/align]
[align=left] <artifactId> testng</artifactId >[/align]
[align=left] <version> ${testng.version}</version >[/align]
[align=left] </dependency>[/align]

[align=left] <!-- 连接池 -->[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> com.alibaba</groupId >[/align]
[align=left] <artifactId> druid</artifactId >[/align]
[align=left] <version> ${druid.version}</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> com.jolbox</groupId >[/align]
[align=left] <artifactId> bonecp-spring </artifactId>[/align]
[align=left] <version> ${bonecp.version}</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> com.jolbox</groupId >[/align]
[align=left] <artifactId> bonecp</artifactId >[/align]
[align=left] <version> ${bonecp.version}</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> com.mchange</groupId >[/align]
[align=left] <artifactId> c3p0</artifactId >[/align]
[align=left] <version> ${c3p0.version}</version >[/align]
[align=left] </dependency>[/align]

[align=left] <!-- shiro -->[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> org.apache.shiro</groupId >[/align]
[align=left] <artifactId> shiro-core </artifactId>[/align]
[align=left] <version> ${shiro.version}</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> org.apache.shiro</groupId >[/align]
[align=left] <artifactId> shiro-web </artifactId>[/align]
[align=left] <version> ${shiro.version}</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> org.apache.shiro</groupId >[/align]
[align=left] <artifactId> shiro-spring </artifactId>[/align]
[align=left] <version> ${shiro.version}</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> org.apache.shiro</groupId >[/align]
[align=left] <artifactId> shiro-ehcache</artifactId>[/align]
[align=left] <version> ${shiro.version}</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> org.apache.shiro</groupId >[/align]
[align=left] <artifactId> shiro-aspectj</artifactId>[/align]
[align=left] <version> ${shiro.version}</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> org.apache.shiro</groupId >[/align]
[align=left] <artifactId> shiro-quartz </artifactId>[/align]
[align=left] <version> ${shiro.version}</version >[/align]
[align=left] </dependency>[/align]

[align=left] <!-- 模板技术 -->[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> org.freemarker</groupId >[/align]
[align=left] <artifactId> freemarker</artifactId >[/align]
[align=left] <version> ${freemarker.version}</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> org.apache.velocity</groupId >[/align]
[align=left] <artifactId> velocity</artifactId >[/align]
[align=left] <version> ${velocity.version}</version >[/align]
[align=left] </dependency>[/align]
[align=left] [/align]

[align=left] <!-- 依赖的公共类库-->[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> org.apache.commons</groupId >[/align]
[align=left] <artifactId> commons-dbcp2</artifactId >[/align]
[align=left] <version> ${commons-dbcp2.version}</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> org.apache.commons</groupId >[/align]
[align=left] <artifactId> commons-pool2</artifactId >[/align]
[align=left] <version> ${commons-pool2.version}</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> org.apache.commons</groupId >[/align]
[align=left] <artifactId> commons-io </artifactId>[/align]
[align=left] <version> ${commons-io.version}</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> org.apache.commons</groupId >[/align]
[align=left] <artifactId> commons-lang3</artifactId >[/align]
[align=left] <version> ${commons-lang3.version}</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> org.apache.commons</groupId >[/align]
[align=left] <artifactId> commons-proxy </artifactId>[/align]
[align=left] <version> 1.0</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
<groupId> org.apache.commons</groupId >
[align=left] <artifactId> commons-jexl </artifactId>[/align]
[align=left] <version> 2.1.1</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> org.apache.commons</groupId >[/align]
[align=left] <artifactId> commons-exec </artifactId>[/align]
[align=left] <version> 1.2</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> org.apache.commons</groupId >[/align]
[align=left] <artifactId> commons-compress</artifactId >[/align]
[align=left] <version> 1.8</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> org.apache.commons</groupId >[/align]
[align=left] <artifactId> commons-daemon</artifactId >[/align]
[align=left] <version> 1.0.9</version >[/align]
[align=left] </dependency>[/align]

[align=left] <dependency>[/align]
[align=left] <groupId> org.apache.commons</groupId >[/align]
[align=left] <artifactId> commons-math</artifactId >[/align]
[align=left] <version> 2.2</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> org.apache.commons</groupId >[/align]
[align=left] <artifactId> commons-collections4</artifactId >[/align]
[align=left] <version> 4.0</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> org.kuali.commons</groupId >[/align]
[align=left] <artifactId> commons-beanutils </artifactId>[/align]
[align=left] <version> 1.8.3-kuali-4 </version>[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> commons-dbutils </groupId>[/align]
[align=left] <artifactId> commons-dbutils </artifactId>[/align]
[align=left] <version> 1.5</version >[/align]
[align=left] </dependency>[/align]

[align=left] <!-- 缓存 -->[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> net.sf.ehcache</groupId >[/align]
[align=left] <artifactId> ehcache</artifactId >[/align]
[align=left] <version> 2.8.1</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> com.googlecode.xmemcached</groupId >[/align]
[align=left] <artifactId> xmemcached</artifactId >[/align]
[align=left] <version> 1.4.3</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> opensymphony</groupId >[/align]
[align=left] <artifactId> oscache</artifactId >[/align]
[align=left] <version> 2.4.1</version >[/align]
[align=left] </dependency>[/align]

[align=left] <!-- cglibasm -->[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> cglib</groupId >[/align]
[align=left] <artifactId> cglib-nodep</artifactId>[/align]
[align=left] <version> ${cglib.version}</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> cglib</groupId >[/align]
[align=left] <artifactId> cglib</artifactId >[/align]
[align=left] <version> ${cglib.version}</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> org.ow2.asm </groupId>[/align]
[align=left] <artifactId> asm</artifactId >[/align]
[align=left] <version> ${asm.version}</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> org.ow2.asm </groupId>[/align]
[align=left] <artifactId> asm-commons </artifactId>[/align]
[align=left] <version> ${asm.version}</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> org.ow2.asm </groupId>[/align]
[align=left] <artifactId> asm-util</artifactId>[/align]
[align=left] <version> ${asm.version}</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> org.ow2.asm </groupId>[/align]
[align=left] <artifactId> asm-all</artifactId >[/align]
[align=left] <version> ${asm.version}</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> org.ow2.asm </groupId>[/align]
[align=left] <artifactId> asm-analysis </artifactId>[/align]
[align=left] <version> ${asm.version}</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> org.ow2.asm </groupId>[/align]
[align=left] <artifactId> asm-tree</artifactId >[/align]
[align=left] <version> ${asm.version}</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> org.ow2.asm </groupId>[/align]
[align=left] <artifactId> asm-debug-all </artifactId>[/align]
[align=left] <version> ${asm.version}</version >[/align]
[align=left] </dependency>[/align]

[align=left] <!-- 其他 -->[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> com.alibaba</groupId >[/align]
[align=left] <artifactId> fastjson</artifactId >[/align]
[align=left] <version> ${fastjson.version}</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> org.aspectj</groupId >[/align]
[align=left] <artifactId> aspectjweaver</artifactId >[/align]
[align=left] <version> ${aspectjweaver.version}</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> dom4j</groupId >[/align]
[align=left] <artifactId> dom4j</artifactId >[/align]
[align=left] <version> ${dom4j.version}</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> com.belerweb</groupId >[/align]
[align=left] <artifactId> pinyin4j</artifactId >[/align]
[align=left] <version> 2.5.0</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> com.darwinsys</groupId >[/align]
[align=left] <artifactId> hirondelle-date4j </artifactId>[/align]
[align=left] <version> 1.5.1</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> net.sourceforge.htmlunit</groupId >[/align]
[align=left] <artifactId> htmlunit</artifactId >[/align]
[align=left] <version> 2.14</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> net.sourceforge.jwebunit</groupId >[/align]
[align=left] <artifactId> jwebunit-htmlunit-plugin</artifactId >[/align]
[align=left] <version> 3.2</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> net.sourceforge.javacsv</groupId >[/align]
[align=left] <artifactId> javacsv</artifactId >[/align]
[align=left] <version> 2.0</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> org.jsoup</groupId >[/align]
[align=left] <artifactId> jsoup</artifactId >[/align]
[align=left] <version> 1.7.3</version >[/align]
[align=left] </dependency>[/align]

[align=left] <dependency>[/align]
[align=left] <groupId> org.apache.commons</groupId >[/align]
[align=left] <artifactId> commons-email</artifactId >[/align]
[align=left] <version> 1.3.2</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> commons-beanutils </groupId>[/align]
[align=left] <artifactId> commons-beanutils </artifactId>[/align]
[align=left] <version> 1.9.2</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> commons-collections</groupId >[/align]
[align=left] <artifactId> commons-collections</artifactId >[/align]
[align=left] <version> 3.2.1</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> commons-configuration</groupId >[/align]
[align=left] <artifactId> commons-configuration</artifactId >[/align]
[align=left] <version> 1.10</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> commons-dbcp </groupId>[/align]
[align=left] <artifactId> commons-dbcp </artifactId>[/align]
[align=left] <version> 1.4</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> commons-fileupload </groupId>[/align]
[align=left] <artifactId> commons-fileupload</artifactId >[/align]
[align=left] <version> 1.3.1</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> org.apache.httpcomponents</groupId >[/align]
[align=left] <artifactId> httpclient</artifactId >[/align]
[align=left] <version> 4.3.4</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> commons-validator</groupId >[/align]
[align=left] <artifactId> commons-validator</artifactId >[/align]
[align=left] <version> 1.4.0</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> joda-time</groupId >[/align]
[align=left] <artifactId> joda-time</artifactId >[/align]
[align=left] <version> 2.2</version >[/align]
[align=left] </dependency>[/align]

[align=left] <dependency>[/align]
[align=left] <groupId> javax.activation</groupId >[/align]
[align=left] <artifactId> activation</artifactId >[/align]
[align=left] <version> 1.0.2</version >[/align]
[align=left] <scope> provided</scope >[/align]
[align=left] </dependency>[/align]

[align=left] <dependency>[/align]
[align=left] <groupId> javax.xml</groupId >[/align]
[align=left] <artifactId> jaxrpc-api</artifactId >[/align]
[align=left] <version> 1.1</version >[/align]
[align=left] <scope> provided</scope >[/align]
[align=left] </dependency>[/align]

[align=left] <dependency>[/align]
[align=left] <groupId> javax.mail</groupId >[/align]
[align=left] <artifactId> mail</artifactId >[/align]
[align=left] <version> 1.3.1</version >[/align]
[align=left] <scope> provided</scope >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> javax.xml</groupId >[/align]
[align=left] <artifactId> namespace</artifactId >[/align]
[align=left] <version> 1.0.1</version >[/align]
[align=left] <scope> provided</scope >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> xerces</groupId >[/align]
[align=left] <artifactId> xmlParserAPIs</artifactId >[/align]
[align=left] <version> 2.6.2</version >[/align]
[align=left] <scope> provided</scope >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> xml-apis</groupId >[/align]
[align=left] <artifactId> xml-apis</artifactId >[/align]
[align=left] <version> 1.4.01</version >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> org.apache.openejb</groupId >[/align]
[align=left] <artifactId> javaee-api</artifactId >[/align]
[align=left] <version> 5.0-1</version >[/align]
[align=left] <scope> provided</scope >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> javax.faces</groupId >[/align]
[align=left] <artifactId> jsf-api</artifactId >[/align]
[align=left] <version> 1.2_04</version >[/align]
[align=left] <scope> provided</scope >[/align]
[align=left] </dependency>[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> javax.servlet</groupId >[/align]
[align=left] <artifactId> jstl</artifactId >[/align]
[align=left] <version> 1.2</version >[/align]
[align=left] <scope> compile</scope >[/align]
[align=left] </dependency>[/align]
[align=left] <!-- [/align]
[align=left] <dependency>[/align]
[align=left] <groupId>javax.servlet.jsp</groupId>[/align]
[align=left] <artifactId>jsp-api</artifactId>[/align]
[align=left] <version>2.1</version>[/align]
[align=left] <scope>compile</scope>[/align]
[align=left] </dependency>[/align]
[align=left] -->[/align]
[align=left] <dependency>[/align]
[align=left] <groupId> javax.faces</groupId >[/align]
[align=left] <artifactId> jsf-impl</artifactId >[/align]
[align=left] <version> 1.2_04</version >[/align]
[align=left] <scope> provided</scope >[/align]
[align=left] </dependency>[/align]
[align=left] </dependencies>[/align]

[align=left]</project>[/align]

4 applicationContext.xml 配置

[align=left] <?xml version="1.0" encoding= "UTF-8"?>[/align]
[align=left]<beans xmlns="http://www.springframework.org/schema/beans"[/align]
[align=left] xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx"[/align]
[align=left] xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context"[/align]
[align=left] xsi:schemaLocation="http://www.springframework.org/schema/beans[/align]
[align=left] http://www.springframework.org/schema/beans/spring-beans.xsd[/align] [align=left] http://www.springframework.org/schema/tx[/align] [align=left] http://www.springframework.org/schema/tx/spring-tx.xsd[/align] [align=left] http://www.springframework.org/schema/aop[/align] [align=left] http://www.springframework.org/schema/aop/spring-aop.xsd[/align] [align=left] http://www.springframework.org/schema/context[/align] [align=left] http://www.springframework.org/schema/context/spring-context.xsd"[/align] [align=left] default-autowire="byName" >[/align]

[align=left] <context:property-placeholder location="classpath*:conf/jdbc.properties" />[/align]
[align=left] <context:component-scan base-package="com.lin.ssh.demo.dao" />[/align]
[align=left] <context:component-scan base-package="com.lin.ssh.demo.service" />[/align]
[align=left] <context:component-scan base-package="com.lin.ssh.demo.service.impl" />[/align]

<!--
配置系统的数据源 -->
[align=left] <bean id= "dataSource" class="com.alibaba.druid.pool.DruidDataSource"[/align]
[align=left] init-method="init" destroy-method= "close">[/align]
[align=left] <property name="driverClassName" value="${jdbc.driver}" />[/align]
[align=left] <property name="url" value="${jdbc.url}" />[/align]
[align=left] <property name="username" value="${jdbc.username}" />[/align]
[align=left] <property name="password" value="${jdbc.password}" />[/align]
[align=left] <property name="filters" value="stat" />[/align]
[align=left] <property name="maxActive" value="10" />[/align]
[align=left] <property name="initialSize" value="1" />[/align]
[align=left] <property name="maxWait" value="60000" />[/align]
[align=left] <property name="minIdle" value="1" />[/align]
[align=left] <property name="timeBetweenEvictionRunsMillis" value="60000" />[/align]
[align=left] <property name="minEvictableIdleTimeMillis" value="300000" />[/align]
<property name="validationQuery" value="SELECT
'x'" />
[align=left] <property name="testWhileIdle" value="true" />[/align]
[align=left] <property name="testOnBorrow" value="false" />[/align]
[align=left] <property name="testOnReturn" value="false" />[/align]
[align=left] <property name="poolPreparedStatements" value="true" />[/align]
[align=left] <property name="maxPoolPreparedStatementPerConnectionSize"[/align]
[align=left] value="50" />[/align]
[align=left] <property name="maxOpenPreparedStatements" value="100" />[/align]
[align=left] </bean>[/align]

<!--
配置hibernate session工厂 -->
[align=left] <bean id= "sessionFactory"[/align]
[align=left] class="org.springframework.orm.hibernate4.LocalSessionFactoryBean" >[/align]
[align=left] <property name="dataSource" ref="dataSource" />[/align]
[align=left] <property name="hibernateProperties" >[/align]
[align=left] <props>[/align]
[align=left] <prop key="hibernate.dialect" >org.hibernate.dialect.MySQL5InnoDBDialect</prop >[/align]
[align=left] <prop key="hibernate.current_session_context_class" >org.springframework.orm.hibernate4.SpringSessionContext[/align]
[align=left] </prop>[/align]
[align=left] <prop key="hibernate.show_sql" >true</ prop>[/align]
[align=left] <prop key="hibernate.format_sql" >true</ prop>[/align]
[align=left] <prop key="hibernate.hbm2ddl.auto" >update</ prop>[/align]
[align=left] </props>[/align]
[align=left] </property>[/align]

<!--
自动扫描注解方式配置的 hibernate类文件 -->
[align=left] <property name="packagesToScan" >[/align]
[align=left] <list>[/align]
[align=left] <value> com.lin.ssh.demo.model</value >[/align]
[align=left] </list>[/align]
[align=left] </property>[/align]

<!--
自动扫描hbm方式配置的hibernate 文件和.hbm文件
-->
[align=left] <!--[/align]
[align=left] <property name="mappingDirectoryLocations"> <list>[/align]
<value>classpath:sy/ hbm</value>
</list> </property>
[align=left] -->[/align]
[align=left] </bean>[/align]

[align=left] <bean id= "transactionManager"[/align]
[align=left] class="org.springframework.orm.hibernate4.HibernateTransactionManager" >[/align]
[align=left] <property name="sessionFactory" ref="sessionFactory" />[/align]
[align=left] </bean>[/align]

[align=left] <tx:advice id= "txAdvice" transaction-manager ="transactionManager">[/align]
[align=left] <tx:attributes>[/align]
[align=left] <tx:method name="select*" read-only= "true" />[/align]
[align=left] <tx:method name="get*" read-only= "true" />[/align]
[align=left] <tx:method name="load*" read-only= "true" />[/align]
[align=left] <tx:method name="find*" read-only= "true" />[/align]
[align=left] <tx:method name="query*" read-only= "true" />[/align]
[align=left] <tx:method name="read*" read-only= "true" />[/align]
[align=left] <tx:method name="sync*" />[/align]
[align=left] <tx:method name="*" propagation= "REQUIRED" rollback-for="Exception" />[/align]
[align=left] </tx:attributes>[/align]
[align=left] </tx:advice>[/align]

[align=left] <aop:config proxy-target-class="true" >[/align]

[align=left] <aop:pointcut expression="this(com.lin.ssh.demo.service.IBaseService)"[/align]
[align=left] id= "transactionPointcut" />[/align]
[align=left] <aop:advisor advice-ref="txAdvice" pointcut-ref="transactionPointcut" />[/align]
[align=left] </aop:config>[/align]
[align=left]</beans>[/align]

5 Struts2配置

[align=left]<?xml version="1.0" encoding= "UTF-8" ?>[/align]
[align=left]<!DOCTYPE struts PUBLIC[/align]
"-//Apache Software Foundation//DTD
Struts Configuration 2.3//EN"
[align=left] "http://struts.apache.org/dtds/struts-2.3.dtd" >[/align]
[align=left]<struts>[/align]
[align=left] <!-- 开发模式 -->[/align]
[align=left] <constant name="struts.devMode" value="true" />[/align]
[align=left] <!-- Web运用编码 -->[/align]
[align=left] <constant name="struts.i18n.encoding" value="UTF-8" />[/align]
[align=left] <!--搜索视图资源的路径-->[/align]
[align=left] <constant name="struts.convention.result.path" value="/pages" />[/align]
[align=left] <!--搜索Action资源的包路径-->[/align]
[align=left] <constant name="struts.convention.package.locators" value="web,action" />[/align]
[align=left] <!-- Action扩展名 -->[/align]
[align=left] <constant name="struts.action.extension" value="action,do,htm" />[/align]
[align=left] <!-- Action后缀名 -->[/align]
[align=left] <constant name="struts.convention.action.suffix" value="Action" />[/align]

[align=left] <!-- 指定由spring负责action的创建 -->[/align]
[align=left] <constant name="struts.objectFactory" value="spring" />[/align]
[align=left] <!--[/align]
[align=left] 指定spring框架的装配模式,装配方式有: name, type, auto, and constructor (name[/align]
[align=left] 是默认装配模式)[/align]
[align=left] -->[/align]
[align=left] <constant name="struts.objectFactory.spring.autoWire" value="name" />[/align]

<!-- 该属性指定整合spring时,是否对bean进行缓存,值为true
or false,默认为true -->
[align=left] <constant name="struts.objectFactory.spring.useClassCache" value="true" />[/align]
[align=left] [/align]
<!-- struts配置文件修改后,是否重新加载,开发模式下用 true,生产环境改成false
-->
[align=left] <constant name="struts.configuration.xml.reload" value="true" />[/align]

[align=left] <constant name="struts.serve.static.browserCache" value="false" />[/align]
[align=left] [/align]

<!-- 该属性指定处理 MIME-type multipart/form-data,文件上传
-->
[align=left] <constant name="struts.multipart.parser" value="cos" />[/align]
[align=left] <constant name="struts.multipart.parser" value="pell" />[/align]
[align=left] <constant name="struts.multipart.parser" value="jakarta" />[/align]

<!-- 指定上传文件时的临时目录,默认使用 javax.servlet.context.tempdir
-->
[align=left] <constant name="struts.multipart.saveDir" value="/tmpuploadfiles" />[/align]

[align=left] <!-- 配置文件上传大小上限,现今最大上限为50MB -->[/align]
[align=left] <constant name="struts.multipart.maxSize" value="500971520" />[/align]

<!-- 被 FilterDispatcher使用指定浏览器是否缓存静态内容,测试阶段设置为false,发布阶段设置为true.
-->
[align=left] <constant name="struts.serve.static.browserCache" value="true" />[/align]

[align=left] <!-- 设置是否支持动态方法调用,true为支持,false不支持. -->[/align]
[align=left] <constant name="struts.enable.DynamicMethodInvocation" value="true" />[/align]

<!-- 设置是否可以在action中使用斜线,默认为false不可以,想使用需设置为true.
-->
[align=left] <constant name="struts.enable.SlashesInActionNames" value="true" />[/align]

[align=left] <!-- 是否允许使用表达式语法,默认为true. -->[/align]
[align=left] <constant name="struts.tag.altSyntax" value="true" />[/align]

[align=left] <!-- 设置是否每次请求,都重新加载资源文件,默认值为false. -->[/align]
[align=left] <constant name="struts.i18n.reload" value="false" />[/align]

[align=left] <package name="demoPackage" extends="struts-default" namespace="/demo" >[/align]
[align=left] <global-results>[/align]
[align=left] <result name="success" >/pages/index.jsp</ result>[/align]
[align=left] <result name="login" >/index.jsp</ result>[/align]
[align=left] <result name="error" >/error.jsp</ result>[/align]
[align=left] </global-results>[/align]
[align=left] </package>[/align]

[align=left]</struts>[/align]
[align=left] [/align]

6 web.xml

[align=left]<?xml version="1.0" encoding= "UTF-8"?>[/align]
[align=left]<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"[/align]
[align=left] xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"[/align]
[align=left] xsi:schemaLocation="http://java.sun.com/xml/ns/javaee[/align]
[align=left] http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" >[/align]

[align=left] <context-param>[/align]
[align=left] <param-name>log4jConfigLocation</param-name>[/align]
[align=left] <param-value>classpath:conf/log4j.properties</param-value>[/align]
[align=left] </context-param>[/align]

[align=left] <context-param>[/align]
[align=left] <param-name>contextConfigLocation</param-name >[/align]
[align=left] <param-value>classpath:conf/applictionContext.xml</param-value>[/align]
[align=left] </context-param>[/align]
[align=left] <listener>[/align]
[align=left] <listener-class> org.springframework.web.util.Log4jConfigListener</listener-class >[/align]
[align=left] </listener>[/align]
[align=left] <listener>[/align]
[align=left] <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class>[/align]
[align=left] </listener>[/align]
[align=left] <listener>[/align]
[align=left] <listener-class> org.springframework.web.context.request.RequestContextListener </listener-class>[/align]
[align=left] </listener>[/align]
[align=left] <listener>[/align]
[align=left] <listener-class> org.springframework.web.util.IntrospectorCleanupListener </listener-class>[/align]
[align=left] </listener>[/align]

[align=left] <filter>[/align]
[align=left] <filter-name> encodingFilter</filter-name>[/align]
[align=left] <filter-class> org.springframework.web.filter.CharacterEncodingFilter </filter-class>[/align]
[align=left] <init-param>[/align]
[align=left] <param-name> encoding</param-name>[/align]
[align=left] <param-value> UTF-8</param-value>[/align]
[align=left] </init-param>[/align]
[align=left] </filter>[/align]
[align=left] <filter-mapping>[/align]
[align=left] <filter-name>encodingFilter</filter-name>[/align]
[align=left] <url-pattern>/*</url-pattern>[/align]
[align=left] </filter-mapping>[/align]
[align=left] <filter>[/align]
[align=left] <filter-name>struts2</filter-name >[/align]
[align=left] <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter </filter-class>[/align]
[align=left] </filter>[/align]
[align=left] <filter-mapping>[/align]
[align=left] <filter-name>struts2</filter-name >[/align]
[align=left] <url-pattern> /*</ url-pattern>[/align]
[align=left] </filter-mapping>[/align]

[align=left] <welcome-file-list>[/align]
[align=left] <welcome-file> login.html</welcome-file >[/align]
[align=left] </welcome-file-list>[/align]
[align=left]</web-app>[/align]

7 UserAction

[align=left] [/align]
package com.lin.ssh.demo.web.action;

import java.util.List;

import org.apache.struts2.convention.annotation.Action;

import org.apache.struts2.convention.annotation.Namespace;

import org.apache.struts2.convention.annotation.ParentPackage;

import org.apache.struts2.convention.annotation.Result;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.context.annotation.Scope;

import org.springframework.stereotype.Component;

import com.lin.ssh.demo.model.UserBean;

import com.lin.ssh.demo.service.IUserService;

import com.opensymphony.xwork2.ActionSupport;

//@ParentPackage("demoPackage")

@Namespace("/demo")

@Component

@Scope("prototype")

@Action("userAction")

public class UserAction extends ActionSupport {

private IUserService userService;

private UserBean user;

private List<UserBean> userList;

/**

* http://127.0.0.1:8080/ssh/demo/regUser!index.do
* @return

*/

@Action(value = "regUser", results = {

@Result(name = "success", location = "/pages/login.jsp"),

@Result(name = "input", location = "/pages/error.jsp") })

public String index() {

System.out.println("----reg page----");

return SUCCESS;

}

@Action(value = "saveUser", results = {

@Result(name = "list", location = "/pages/list.jsp"),

@Result(name = "input", location = "/pages/error.jsp"),

@Result(name = "success", location = "/pages/index.jsp")})

public String save() {

System.out.println("----save----");

System.out.println("===="+user);

try {

userService.saveUser(user);

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return SUCCESS;

}

/**

* http://127.0.0.1:8080/ssh/demo/userAction!list.do
*/

public void list() {

System.out.println("----list----");

System.out.println(user);

try {

userList = userService.queryUserAll();

System.out.println("userList ==" + userList.get(0).toString());

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

// return SUCCESS;

}

public List<UserBean> getUserList() {

return userList;

}

public void setUserList(List<UserBean> userList) {

this.userList = userList;

}

public IUserService getUserService() {

return userService;

}

@Autowired

public void setUserService(IUserService userService) {

this.userService = userService;

}

public UserBean getUser() {

return user;

}

public void setUser(UserBean user) {

this.user = user;

}

}

8 UserDAO

package com.lin.ssh.demo.dao;

import java.util.List;

import com.lin.ssh.demo.model.UserBean;

public interface IUserDAO {

public void save(UserBean entity) throws Exception;

public List<UserBean> find(Class<UserBean> clazz) throws Exception;

}

package com.lin.ssh.demo.dao;

import java.util.List;

import org.springframework.stereotype.Repository;

import com.lin.ssh.demo.model.UserBean;

@Repository("userDao")

public class UserDAO extends DaoSupport implements IUserDAO {

/**

* 保存对象

*

* @param entity

* @throws Exception

*/

@Override

public void save(UserBean entity) throws Exception {

super.save(entity);

}

@Override

public List<UserBean> find(Class clazz) throws Exception {

return super.findAll(clazz);

}

}

package com.lin.ssh.demo.dao;

import static org.hibernate.criterion.Restrictions.eq;

import java.util.List;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;

/**
*
* @author linhz
*
*/
public class DaoSupport {

private SessionFactory sessionFactory;

@Autowired
public void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}

protected Session getSession() {
return sessionFactory.getCurrentSession();
}

protected void save(Object obj) {
getSession().save(obj);
}

protected <T> T get(Class<T> clazz, int id) {
return (T) getSession().get(clazz, id);
}

protected <T> List<T> findByProperty(Class<T> clazz, String property,
Object value) {
return getSession().createCriteria(clazz).add(eq(property, value))
.list();
}

protected <T> List<T> findAll(Class<T> clazz) {
return getSession().createCriteria(clazz).list();
}

protected void update(Object obj) {
getSession().update(obj);
}

protected void delete(Class clazz, int id) {
getSession().delete(get(clazz, id));
}

protected void delete(Object obj) {
getSession().delete(obj);
}

}

9 Model POJO

[align=left]package com.lin.ssh.demo.model;[/align]

[align=left]import javax.persistence.Column;[/align]
[align=left]import javax.persistence.Entity;[/align]
[align=left]import javax.persistence.GeneratedValue;[/align]
[align=left]import javax.persistence.Id;[/align]
[align=left]import javax.persistence.Table;[/align]
[align=left]import static javax.persistence.GenerationType.IDENTITY;[/align]

[align=left]@Entity[/align]
[align=left]@Table(name = "tb_demo", schema = "test")[/align]
public class UserBean implements java.io.Serializable
{
[align=left] @Id[/align]
@GeneratedValue(strategy
= IDENTITY)
@Column(name
= "id", unique = true,
nullable = false)
[align=left] private Long id;[/align]
@Column(name
= "username", length = 32)
[align=left] private String username;[/align]
@Column(name
= "password", length = 16)
[align=left] private String password;[/align]
public UserBean()
{
[align=left] }[/align]
public UserBean(String
username, String password) {
this.username =
username;
this.password =
password;
[align=left] }[/align]
public Long
getId() {
[align=left] return id ;[/align]
[align=left] }[/align]
public void setId(Long
id) {
this.id =
id;
[align=left] }[/align]
public String
getUsername() {
[align=left] return username ;[/align]
[align=left] }[/align]
public void setUsername(String
username) {
this.username =
username;
[align=left] }[/align]
public String
getPassword() {
[align=left] return password ;[/align]
[align=left] }[/align]
public void setPassword(String
password) {
this.password =
password;
[align=left] }[/align]
[align=left] @Override[/align]
public String
toString() {
[align=left] return "User{" +[/align]
[align=left] "id=" + id +[/align]
",
username='" + username + '\'' +
",
password='" + password + '\'' +
[align=left] '}';[/align]
[align=left] }[/align]
[align=left]}[/align]

10 UserService

[align=left]package com.lin.ssh.demo.service;[/align]

public interface IBaseService
{

[align=left]}[/align]

[align=left]package com.lin.ssh.demo.service;[/align]

[align=left]import java.util.List;[/align]

[align=left]import com.lin.ssh.demo.model.UserBean;[/align]

public interface IUserService extends IBaseService
{
public void saveUser(UserBean
user) throws Exception;

public List<UserBean>
queryUserAll() throws Exception;
[align=left]}[/align]

package com.lin.ssh.demo.service.impl;

import java.util.List;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import com.lin.ssh.demo.dao.UserDAO;

import com.lin.ssh.demo.model.UserBean;

import com.lin.ssh.demo.service.IUserService;

@Service("userService")

public class UserServiceImpl implements IUserService {

@Resource

private UserDAO userDao;

public void saveUser(UserBean user) throws Exception {

userDao.save(user);

}

public List<UserBean> queryUserAll() throws Exception {

return userDao.find(UserBean.class);

}

}

11 测试页面 index.jsp

[align=left]<%@ page contentType= "text/html;charset=UTF-8" language= "java"%>[/align]
[align=left]<%[/align]
[align=left] String path = request.getContextPath();[/align]
[align=left] String contextPath = request.getScheme() + "://"[/align]
+ request.getServerName() + ":" +
request.getServerPort()
[align=left] + path + "/";[/align]
[align=left]%>[/align]
[align=left]<html>[/align]
[align=left] <head>[/align]
[align=left] <title></ title>[/align]
[align=left] </head>[/align]

[align=left] <body>[/align]
[align=left] <form action=" <%=contextPath%> /demo/saveUser!save.action" method="get" >[/align]
[align=left] <br>[/align]
[align=left] 用户名:[/align]
[align=left] <input type="text" name="user.username" />[/align]
[align=left] <br>[/align]
[align=left] 密码:[/align]
[align=left] <input type="text" name="user.password" />[/align]
[align=left] <input type="submit" name="保存" />[/align]
[align=left] </form>[/align]
[align=left] </body>[/align]
[align=left]</html>[/align]

12 SQL语句脚本

use test ;

CREATE TABLE `tb_demo` (

`id` bigint(20) NOT NULL AUTO_INCREMENT,

`username` varchar(32) DEFAULT NULL,

`password` varchar(16) DEFAULT NULL,

PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8

13 测试

webcontent部署为:ssh

访问地址:
http://127.0.0.1:8080/ssh/demo/regUser!index.do






数据正常插入



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: