首页 > 代码库 > struts2+hibernate+spring配置版框架搭建以及简单测试(方便脑补)

struts2+hibernate+spring配置版框架搭建以及简单测试(方便脑补)

为了之后学习的日子里加深对框架的理解和使用,这里将搭建步奏简单写一下,目的主要是方便以后自己回来脑补;

1:File--->New--->Other--->Maven--->Maven Project--->Next(之后界面如下所示:)

技术分享

--->Next(点击next之后出现如下界面:选择最后一个 maven-archetype-webapp,然后点击next)

技术分享

--->Next(点击next之后出现如下界面,然后选择好组织号,工程号,版本号即可),最后点击Finish

技术分享

2:maven项目创建好之后会报错,这里先在pom.xml中导入jar包,导入方式如下所示:这个pom配置好之后点击保存会将jar包下载到本地仓库,这个学习maven的时候都配置过,这个自己下去脑补吧;

  1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  2   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">  3   <modelVersion>4.0.0</modelVersion>  4   <groupId>com.bie.maven</groupId>  5   <artifactId>ssh_xml</artifactId>  6   <packaging>war</packaging>  7   <version>0.0.1-SNAPSHOT</version>  8   <name>ssh_xml Maven Webapp</name>  9   <url>http://maven.apache.org</url> 10    11    12    13   <!-- 配置一下jar包 --> 14    <properties> 15         <java-version>1.8</java-version> 16         <junit-version>4.8.2</junit-version> 17         <org.springframework-version>3.2.4.RELEASE</org.springframework-version> 18         <jackson-mapper-asl-version>1.9.12</jackson-mapper-asl-version> 19         <jackson-core-asl-version>1.9.12</jackson-core-asl-version> 20         <mysql-connector-java-version>5.1.8</mysql-connector-java-version> 21          22         <opensymphony-version>2.4.2</opensymphony-version> 23         <freemarker-version>2.3.9</freemarker-version> 24         <c3p0-version>0.9.1.2</c3p0-version> 25         <commons-collections-version>1.0</commons-collections-version> 26         <commons-fileupload-version>1.2.2</commons-fileupload-version> 27         <org.apache.commons-version>3.1</org.apache.commons-version> 28         <commons-codec-version>1.6</commons-codec-version> 29         <dom4j-version>1.6.1</dom4j-version> 30         <javax.servlet-version>1.2</javax.servlet-version> 31         <aspectjweaver-version>1.6.6</aspectjweaver-version> 32         <slf4j-log4j12-version>1.6.6</slf4j-log4j12-version> 33         <log4j-version>1.2.16</log4j-version> 34         <javax.servlet-jsp-version>2.0</javax.servlet-jsp-version> 35         <cglib-version>2.2.2</cglib-version> 36         <slf4j-api-version>1.6.6</slf4j-api-version> 37         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 38     </properties> 39     <dependencies> 40         <!-- 配置 junit4.8.2 --> 41         <dependency> 42             <groupId>junit</groupId> 43             <artifactId>junit</artifactId> 44             <version>${junit-version}</version> 45             <type>jar</type> 46         </dependency> 47         <!-- 配置 spring --> 48         <dependency> 49             <groupId>org.springframework</groupId> 50             <artifactId>spring-core</artifactId> 51             <version>${org.springframework-version}</version> 52         </dependency> 53         <dependency> 54             <groupId>org.springframework</groupId> 55             <artifactId>spring-web</artifactId> 56             <version>${org.springframework-version}</version> 57         </dependency> 58         <dependency> 59             <groupId>org.springframework</groupId> 60             <artifactId>spring-test</artifactId> 61             <version>${org.springframework-version}</version> 62         </dependency> 63         <dependency> 64             <groupId>org.springframework</groupId> 65             <artifactId>spring-aspects</artifactId> 66             <version>${org.springframework-version}</version> 67         </dependency> 68         <dependency> 69             <groupId>org.springframework</groupId> 70             <artifactId>spring-context-support</artifactId> 71             <version>${org.springframework-version}</version> 72         </dependency> 73         <dependency> 74             <groupId>org.springframework</groupId> 75             <artifactId>spring-web</artifactId> 76             <version>${org.springframework-version}</version> 77         </dependency> 78  79         <dependency> 80             <groupId>org.springframework</groupId> 81             <artifactId>spring-webmvc</artifactId> 82             <version>${org.springframework-version}</version> 83         </dependency> 84         <dependency> 85             <groupId>org.springframework</groupId> 86             <artifactId>spring-jdbc</artifactId> 87             <version>${org.springframework-version}</version> 88         </dependency> 89         <dependency> 90             <groupId>org.springframework</groupId> 91             <artifactId>spring-tx</artifactId> 92             <version>${org.springframework-version}</version> 93         </dependency> 94         <dependency> 95             <groupId>org.springframework</groupId> 96             <artifactId>spring-instrument</artifactId> 97             <version>${org.springframework-version}</version> 98         </dependency> 99         <dependency>100             <groupId>org.springframework</groupId>101             <artifactId>spring-instrument-tomcat</artifactId>102             <version>${org.springframework-version}</version>103         </dependency>104         105         <dependency>  106             <groupId>org.springframework</groupId>  107             <artifactId>spring-orm</artifactId>  108             <version>${org.springframework-version}</version>  109         </dependency>110         <!--springmvc 转换为 Json -->111         <dependency>112             <groupId>org.codehaus.jackson</groupId>113             <artifactId>jackson-mapper-asl</artifactId>114             <version>${jackson-mapper-asl-version}</version>115         </dependency>116         <dependency>117             <groupId>org.codehaus.jackson</groupId>118             <artifactId>jackson-core-asl</artifactId>119             <version>${jackson-core-asl-version}</version>120         </dependency>121         <!--配置 freemarker -->122         <dependency>123             <groupId>freemarker</groupId>124             <artifactId>freemarker</artifactId>125             <version>${freemarker-version}</version>126         </dependency>127         128         <!-- jdbc driver -->129         <dependency>130             <groupId>mysql</groupId>131             <artifactId>mysql-connector-java</artifactId>132             <version>${mysql-connector-java-version}</version>133         </dependency>134         <!-- connect pool with c3p0 -->135         <dependency>136             <groupId>c3p0</groupId>137             <artifactId>c3p0</artifactId>138             <version>${c3p0-version}</version>139         </dependency>140 141         <dependency>142             <groupId>commons-fileupload</groupId>143             <artifactId>commons-fileupload</artifactId>144             <version>${commons-fileupload-version}</version>145         </dependency>146 147         <dependency>148             <groupId>org.apache.commons</groupId>149             <artifactId>commons-lang3</artifactId>150             <version>${org.apache.commons-version}</version>151         </dependency>152 153         <dependency>154             <groupId>commons-codec</groupId>155             <artifactId>commons-codec</artifactId>156             <version>${commons-codec-version}</version>157         </dependency>158         <!-- analyze xml use dom4j -->159         <dependency>160             <groupId>dom4j</groupId>161             <artifactId>dom4j</artifactId>162             <version>${dom4j-version}</version>163         </dependency>164         <!-- about servlet -->165         <dependency>166             <groupId>javax.servlet</groupId>167             <artifactId>jstl</artifactId>168             <version>${javax.servlet-version}</version>169         </dependency>170 171 172         <dependency>173             <groupId>taglibs</groupId>174             <artifactId>standard</artifactId>175             <version>1.1.2</version>176         </dependency>177         <dependency>178             <groupId>javax.servlet</groupId>179             <artifactId>javax.servlet-api</artifactId>180             <version>3.0.1</version>181             <scope>provided</scope>182         </dependency>183         <dependency>184             <groupId>org.slf4j</groupId>185             <artifactId>slf4j-log4j12</artifactId>186             <version>1.6.6</version>187             <scope>provided</scope>188         </dependency>189         <dependency>190             <groupId>log4j</groupId>191             <artifactId>log4j</artifactId>192             <version>1.2.17</version>193         </dependency>194 195         <dependency>196             <groupId>org.slf4j</groupId>197             <artifactId>slf4j-api</artifactId>198             <version>1.6.6</version>199         </dependency>200         <dependency>201             <groupId>javax.activation</groupId>202             <artifactId>activation</artifactId>203             <version>1.1.1</version>204         </dependency>205 206         <!-- memcached -->207         <dependency>208             <groupId>com.google.code.maven-play-plugin.spy</groupId>209             <artifactId>memcached</artifactId>210             <version>2.4.2</version>211         </dependency>212         <dependency>213             <groupId>cglib</groupId>214             <artifactId>cglib</artifactId>215             <version>${cglib-version}</version>216         </dependency>217         <dependency>218             <groupId>net.fckeditor</groupId>219             <artifactId>java-core</artifactId>220             <version>2.6</version>221         </dependency>222         <dependency>223             <groupId>org.json</groupId>224             <artifactId>json</artifactId>225             <version>20131018</version>226         </dependency>227       228         <dependency>229             <groupId>com.sun.jersey</groupId>230             <artifactId>jersey-client</artifactId>231             <version>1.18.1</version>232         </dependency>233         <dependency>234             <groupId>jsptags</groupId>235             <artifactId>pager-taglib</artifactId>236             <version>2.0</version>237         </dependency>238 239         <dependency>240             <groupId>net.sourceforge.jexcelapi</groupId>241             <artifactId>jxl</artifactId>242             <version>2.6.10</version>243         </dependency>244 245         <dependency>246             <groupId>opensymphony</groupId>247             <artifactId>oscache</artifactId>248             <version>2.4.1</version>249         </dependency>250         <dependency>251             <groupId>javax.servlet</groupId>252             <artifactId>servlet-api</artifactId>253             <version>2.4</version>254             <scope>provided</scope>255         </dependency>256         257         <dependency>258             <groupId>org.apache.struts</groupId>259             <artifactId>struts2-core</artifactId>260             <version>2.3.8</version>261             <exclusions>262                 <exclusion>263                     <artifactId>javassist</artifactId>264                         <groupId>javassist</groupId>265                 </exclusion>266             </exclusions>267         </dependency>268         269         <!-- spring和struts之间的联系 -->270         <dependency>  271             <groupId>org.apache.struts</groupId>  272             <artifactId>struts2-spring-plugin</artifactId>  273             <version>2.3.8</version>  274         </dependency>275         276         <!-- struts2的注解 -->277         <dependency>278             <groupId>org.apache.struts</groupId>279             <artifactId>struts2-convention-plugin</artifactId>280         <version>2.3.8</version>281         </dependency>282 283     284     <dependency>285         <groupId>org.hibernate</groupId>286         <artifactId>hibernate-core</artifactId>287         <version>4.1.7.Final</version>288     </dependency>289     <dependency>290         <groupId>org.hibernate</groupId>291         <artifactId>hibernate-ehcache</artifactId>292         <version>4.1.7.Final</version>293     </dependency>294     <dependency>295         <groupId>displaytag</groupId>296         <artifactId>displaytag</artifactId>297         <version>1.2</version>298     </dependency>299     300   </dependencies>301   302   303   304   305   <build>306     <finalName>ssh_xml</finalName>307   </build>308   309   310 </project>

3:web.xml里面的dtd默认是2.3的,不过2.3的不支持el表达式,所以这里修改为2.5的。配置如下所示:

1 <?xml version="1.0" encoding="UTF-8"?>2 <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_2_5.xsd" version="2.5">3   <display-name>Archetype Created Web Application</display-name>4   5 6   <display-name>Archetype Created Web Application</display-name>7   8 </web-app>

 4:项目配置好上面的,接下来开始写代码,首先从web.xml的配置开始,比如struts2的核心过滤器,spring核心配置文件,监听器;

 1 <?xml version="1.0" encoding="UTF-8"?> 2 <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_2_5.xsd" version="2.5"> 3   <display-name>Archetype Created Web Application</display-name> 4    5  6   <display-name>Archetype Created Web Application</display-name> 7    8   <!-- 配置spring的监听器 ,加载本地的springp配置文件--> 9   <context-param>10       <param-name>contextConfigLocation</param-name>11       <param-value>classpath:bean-*.xml</param-value>12   </context-param>13   14   <!-- 15       spring的监听器 spring-web-3.2.4.RELEASE.jar ==》org.springframework16           ==》context ==》ContextLoaderListener17   -->18   <listener>19       <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>20   </listener>21   22   23   <!-- 24       struts2的核心过滤器 25           1:filter-class  ==》 struts2-core-2.3.8.jar    ==》org.apache.struts2    26               ==》 dispatcher ==》 ng ==》filter ==》StrutsPrepareAndExecuteFilter27   -->28   <filter>29       <filter-name>struts2Filter</filter-name>30       <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>31   </filter>32   <filter-mapping>33       <filter-name>struts2Filter</filter-name>34       <url-pattern>/*</url-pattern>35   </filter-mapping>36   37 </web-app>

 5:配置好之后就需要配置一下maven标准格式:在src/main下面创建一个java的文件夹,在src/下面创建一个test,在test下面创建java文件夹,配置如下所示:

技术分享

 6:简单测试一下,将项目发布到tomcat中,启动tomcat,运行之后tomcat不报错,说明项目正常;

7:将spring的配置文件bean-common.xml配置文件放到src/main/resources下面即可(src/main/resources也是根目录):配置如下所示:

 1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.org/schema/beans" 3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  4     xmlns:p="http://www.springframework.org/schema/p" 5     xmlns:context="http://www.springframework.org/schema/context" 6     xmlns:aop="http://www.springframework.org/schema/aop" 7     xmlns:tx="http://www.springframework.org/schema/tx" 8     xsi:schemaLocation="http://www.springframework.org/schema/beans 9          http://www.springframework.org/schema/beans/spring-beans.xsd10           http://www.springframework.org/schema/context11          http://www.springframework.org/schema/context/spring-context.xsd12          http://www.springframework.org/schema/aop13          http://www.springframework.org/schema/aop/spring-aop.xsd14          http://www.springframework.org/schema/tx15           http://www.springframework.org/schema/tx/spring-tx.xsd">16 17           18 </beans>          

 

 1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.org/schema/beans" 3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  4     xmlns:p="http://www.springframework.org/schema/p" 5     xmlns:context="http://www.springframework.org/schema/context" 6     xmlns:aop="http://www.springframework.org/schema/aop" 7     xmlns:tx="http://www.springframework.org/schema/tx" 8     xsi:schemaLocation="http://www.springframework.org/schema/beans 9          http://www.springframework.org/schema/beans/spring-beans.xsd10           http://www.springframework.org/schema/context11          http://www.springframework.org/schema/context/spring-context.xsd12          http://www.springframework.org/schema/aop13          http://www.springframework.org/schema/aop/spring-aop.xsd14          http://www.springframework.org/schema/tx15           http://www.springframework.org/schema/tx/spring-tx.xsd">16 17 18     <!-- 1. 连接池实例 -->19     <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">20         <property name="jdbcUrl" value="http://www.mamicode.com/jdbc:mysql://localhost:3306/ssh"></property>21         <property name="driverClass" value="http://www.mamicode.com/com.mysql.jdbc.Driver"></property>22         <property name="user" value="http://www.mamicode.com/root"></property>23         <property name="password" value="http://www.mamicode.com/123456"></property>24         <property name="initialPoolSize" value="http://www.mamicode.com/3"></property>25         <property name="maxPoolSize" value="http://www.mamicode.com/6"></property>26     </bean>27     28     <!-- 2. Spring管理SessionFactory 【全部配置都写到spring中】 -->29     <!-- # 注入DataSource、 注入常用配置属性、映射配置属性 -->30     <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">31         <property name="dataSource" ref="dataSource"></property>32         <property name="hibernateProperties">33             <props>34                  <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>35                  <prop key="hibernate.show_sql">true</prop>36                  <!-- <prop key="hibernate.hbm2ddl.auto">update</prop> -->37             </props>38         </property>39         <property name="mappingLocations">40             <list>41                 <value>classpath:com/bie/po/*.hbm.xml</value>42             </list>43         </property>44     </bean>45     46     <!-- 3. 事务相关配置 -->47     <!-- 3.1 事务管理器类 -->48     <bean id="txManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">49         <property name="sessionFactory" ref="sessionFactory"></property>50     </bean>51 52     <!-- 3.2 事务增强(如何管理事务)-->53     <tx:advice id="txAdvice" transaction-manager="txManager">54         <tx:attributes>55             <tx:method name="get*" read-only="true"/>56             <tx:method name="find*" read-only="true"/>57             <tx:method name="select*" read-only="true"/>58             <tx:method name="*" read-only="false"/>59         </tx:attributes>60     </tx:advice>61 62     <!-- 3.3 Aop配置 = 切入点表达式(拦截目标对象,生成代理)  + 事务增强应用-->63     <aop:config>64         <aop:pointcut expression="execution(* com.bie.service.impl.*.*(..))" id="pointcut"/>65         <aop:advisor advice-ref="txAdvice" pointcut-ref="pointcut"/>66     </aop:config>67      68      69     <!-- ioc容器注入 dao层的注入-->      70     <bean id="adminDao" class="com.bie.dao.impl.AdminDaoImpl">71         <property name="sessionFactory" ref="sessionFactory"></property>72     </bean>73     74     <!-- Service 需要注入 Dao -->75     <bean id="adminService" class="com.bie.service.impl.AdminServiceImpl">76         <property name="adminDao" ref="adminDao"></property>77     </bean>78           79     <!-- Service 需要注入 Dao -->80     <bean id="adminAction" class="com.bie.action.AdminAction">81         <property name="adminService" ref="adminService"></property>82     </bean> 83           84 </beans>          

8:struts的配置文件struts.xml配置文件放到src/main/resources下面即可(src/main/resources也是根目录):配置如下所示:

1 <?xml version="1.0" encoding="UTF-8" ?>2 <!DOCTYPE struts PUBLIC3     "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"4     "http://struts.apache.org/dtds/struts-2.3.dtd">5 6 <struts>7     8 9 </struts>    
 1 <?xml version="1.0" encoding="UTF-8" ?> 2 <!DOCTYPE struts PUBLIC 3     "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" 4     "http://struts.apache.org/dtds/struts-2.3.dtd"> 5  6 <struts> 7      8     <package name="admin_package" extends="struts-default"> 9     10         <!-- Ation实例交给spring容器创建 -->11         <action name="select_*" class="adminAction" method="{1}">12             13             <!-- 列表展示 -->14             <result name="success">index.jsp</result>15             16         </action>17     </package>    18 19 </struts>    

9:配置到第八步,基本结束,开始写代码,创建一个实体类Admin;如下所示:

 1 package com.bie.po; 2  3 /**  4 * @author 作者:别先生 5 * @version 创建时间:2017年6月10日 下午2:08:17  6 * 类说明  7 */ 8  9 public class Admin {10 11     private Integer adminId;//管理员编号12     private String adminName;//管理员姓名13     private String adminPwd;//管理员密码14     15     public Integer getAdminId() {16         return adminId;17     }18     public void setAdminId(Integer adminId) {19         this.adminId = adminId;20     }21     public String getAdminName() {22         return adminName;23     }24     public void setAdminName(String adminName) {25         this.adminName = adminName;26     }27     public String getAdminPwd() {28         return adminPwd;29     }30     public void setAdminPwd(String adminPwd) {31         this.adminPwd = adminPwd;32     }33     @Override34     public String toString() {35         return "Admin [adminId=" + adminId + ", adminName=" + adminName + ", adminPwd=" + adminPwd + "]";36     }37 38     39 }

10:创建好实体类之后配置一个hibernate的映射文件;Admin.hbm.xml,代码如下所示:

 1 <?xml version="1.0" encoding="UTF-8" ?> 2 <!DOCTYPE hibernate-mapping PUBLIC  3     "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 4     "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> 5  6 <!-- hibernate的实体类映射文件的配置,package包指出总包所在 --> 7 <hibernate-mapping package="com.bie.po"> 8  9     <!-- class的name是实体类的名字,table是数据表名 -->10     <class name="Admin" table="admin">11         <id name="adminId">12             <!-- native设置自增 -->13             <generator class="native"></generator>14         </id>15         16         <!-- 非主键的映射 -->17         <property name="adminName" length="20"></property>18         <property name="adminPwd" length="20"></property>19     </class>20 21 </hibernate-mapping>    22     

11:创建好实体类之后开始创建dao层的接口和实现类,如AdminDao接口和AdminDaoImpl实现类;

 1 package com.bie.dao; 2  3 import java.util.List; 4  5 import com.bie.po.Admin; 6  7 /**  8 * @author 作者:别先生 9 * @version 创建时间:2017年6月10日 下午2:25:01 10 * 类说明 11 */12 13 public interface AdminDao {14 15     /**16      * 查询管理员的信息17      * @param admin18      * @return19      */20     public List<Admin> selectAdmin();21 }
 1 package com.bie.dao.impl; 2  3 import java.util.List; 4  5 import org.hibernate.SessionFactory; 6  7 import com.bie.dao.AdminDao; 8 import com.bie.po.Admin; 9 10 /** 11 * @author 作者:别先生12 * @version 创建时间:2017年6月10日 下午2:25:15 13 * 类说明 14 */15 16 public class AdminDaoImpl implements AdminDao{17 18     //IOC容器注入sessionFactory对象19     private SessionFactory sessionFactory;20     public void setSessionFactory(SessionFactory sessionFactory) {21         this.sessionFactory = sessionFactory;22     }23     24     public List<Admin> selectAdmin() {25         26         List<Admin> list =  sessionFactory.getCurrentSession().createQuery(" from Admin ").list();27         28         return list;29     }30 31     32 }

12:创建好dao层接口和实现类之后开始创建service层的接口和实现类,如AdminService接口和AdminServiceImpl实现类;

 1 package com.bie.service; 2  3 import java.util.List; 4  5 import com.bie.po.Admin; 6  7 /**  8 * @author 作者:别先生 9 * @version 创建时间:2017年6月10日 下午2:29:20 10 * 类说明 11 */12 13 public interface AdminService {14 15     public List<Admin> selectAdmin();16 }
 1 package com.bie.service.impl; 2  3 import java.util.List; 4  5 import com.bie.dao.AdminDao; 6 import com.bie.po.Admin; 7 import com.bie.service.AdminService; 8  9 /** 10 * @author 作者:别先生11 * @version 创建时间:2017年6月10日 下午2:29:40 12 * 类说明 13 */14 15 public class AdminServiceImpl implements AdminService{16 17     //ioc容器注入18     private AdminDao adminDao;19     public void setAdminDao(AdminDao adminDao) {20         this.adminDao = adminDao;21     }22     23     public List<Admin> selectAdmin(){24         25         List<Admin> list = adminDao.selectAdmin();26         27         return list;28     }29 }

13:当写好service层之后开始写action层AdminAction,这里传递前台页面的参数;代码如下所示:

 1 package com.bie.action; 2  3 import java.util.List; 4 import java.util.Map; 5  6 import org.apache.struts2.interceptor.RequestAware; 7  8 import com.bie.po.Admin; 9 import com.bie.service.AdminService;10 import com.opensymphony.xwork2.ActionSupport;11 12 /** 13 * @author 作者:别先生14 * @version 创建时间:2017年6月10日 下午2:36:07 15 * 类说明 16 */17 18 public class AdminAction extends ActionSupport implements RequestAware{19 20     21     private static final long serialVersionUID = 1L;22 23     //ioc容器注入24     private AdminService adminService;25     public void setAdminService(AdminService adminService) {26         this.adminService = adminService;27     }28     29     // 接收框架运行时候传入的代表request对象的map30     private Map<String, Object> request;31     public void setRequest(Map<String, Object> request) {32         this.request = request;33     }34     35     36     //ioc容器注入37     private Admin admin;38     public void setAdmin(Admin admin) {39         this.admin = admin;40     }41     public Admin getAdmin() {42         return admin;43     }44     45     public String selectAdmin(){46         47         List<Admin> list = adminService.selectAdmin();48         49         //将信息保存到request中50         request.put("list", list);51         52         return "success";53     }54     55 56 }

14:当后台写完之后开始写前台测试页面:页面如下所示

 1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2     pageEncoding="UTF-8"%> 3 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> 4 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 5 <html> 6 <head> 7 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 8 <title>主页显示管理员的信息</title> 9 </head>10 <body>11 12 <a href="http://www.mamicode.com/select_selectAdmin.action">查询所有用户信息</a>13 14 <center>15     <table cellspacing="20" cellpadding="20">16         <tr>17             <th>管理员编号</th>18             <th>管理员姓名</th>19             <th>管理员密码</th>20         </tr>21         <c:forEach items="${list }" var="list">22         <tr>23             <td>${list.adminId}</td>24             <td>${list.adminName}</td>25             <td>${list.adminPwd   }</td>26         </tr>27         </c:forEach>28     </table>29 </center>30 31 </body>32 </html>

直接访问index.jsp页面,测试结果如下所示:

技术分享

技术分享

ssh配置版框架搭建先到这吧,以后有机会再深学吧。时间过的挺快的,马上就该出去找工作了......

增删改查功能日后有时间再写吧......

 

struts2+hibernate+spring配置版框架搭建以及简单测试(方便脑补)