为了之后学习的日子里加深对框架的理解和使用,这里将搭建步奏简单写一下,目的主要是方便以后自己回来脑补;
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.springframework 16 ==》context ==》ContextLoaderListener 17 --> 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 ==》StrutsPrepareAndExecuteFilter 27 --> 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.xsd 10 http://www.springframework.org/schema/context 11 http://www.springframework.org/schema/context/spring-context.xsd 12 http://www.springframework.org/schema/aop 13 http://www.springframework.org/schema/aop/spring-aop.xsd 14 http://www.springframework.org/schema/tx 15 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.xsd 10 http://www.springframework.org/schema/context 11 http://www.springframework.org/schema/context/spring-context.xsd 12 http://www.springframework.org/schema/aop 13 http://www.springframework.org/schema/aop/spring-aop.xsd 14 http://www.springframework.org/schema/tx 15 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="jdbc:mysql://localhost:3306/ssh"></property> 21 <property name="driverClass" value="com.mysql.jdbc.Driver"></property> 22 <property name="user" value="root"></property> 23 <property name="password" value="123456"></property> 24 <property name="initialPoolSize" value="3"></property> 25 <property name="maxPoolSize" value="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 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 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 @Override 34 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 admin 18 * @return 19 */ 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对象的map 30 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="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配置版框架搭建先到这吧,以后有机会再深学吧。时间过的挺快的,马上就该出去找工作了......
增删改查功能日后有时间再写吧......