国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

搭建SSH三大框架WEB項(xiàng)目過(guò)程(Struts2.3+Hibernate4.3+Spring4.1)

2019-11-11 03:20:12
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

搭建SSH三大框架WEB項(xiàng)目過(guò)程(Struts2.3+Hibernate4.3+SPRing4.1)

我以我做的一個(gè)例子來(lái)說(shuō)明框架的搭建過(guò)程 ^V^!

項(xiàng)目結(jié)構(gòu)如圖:

action:存放Action類,也就是控制類

dao:DAO數(shù)據(jù)庫(kù)操作

po:POJO類,也就是持久化類

service:存放Service類

dao類在Service類里調(diào)用,然后Service類再到action類里調(diào)用

搭建過(guò)程

我們先要準(zhǔn)備jar價(jià)包,這個(gè)可以去官網(wǎng)下載

下面是我準(zhǔn)備的開(kāi)發(fā)jar價(jià)包

然后我為了提高安全性,我將所有的jsp頁(yè)面放在了WEB-INF下面

然后配置SSH的配置文件

Spring的配置文件代碼:

[html] view plain copy print?在CODE上查看代碼片派生到我的代碼片

<?xml version="1.0" encoding="UTF-8"?>  <beans xmlns="http://www.springframework.org/schema/beans"      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"      xmlns:p="http://www.springframework.org/schema/p"      xmlns:context="http://www.springframework.org/schema/context"      xmlns:tx="http://www.springframework.org/schema/tx"      xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsd      http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd      http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.1.xsd">  <!-- Spring框架配置文件 -->      <!-- 屬性注入配置 -->      <context:annotation-config/>      <!-- 實(shí)現(xiàn)數(shù)據(jù)庫(kù)配置 -->      <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">          <property name="driverClassName" value="com.MySQL.jdbc.Driver"></property>          <property name="url" value="jdbc:mysql://localhost:3306/db_sgdata?useUnicode=true&characterEncoding=UTF-8"></property>          <property name="username" value="root"></property>          <property name="passWord" value="111"></property>          <property name="maxActive" value="100"></property>          <property name="maxIdle" value="60"></property>          <property name="maxWait" value="10000"></property>      </bean>         <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">          <property name="dataSource" ref="dataSource"></property>          <property name="configLocation" value="classpath:hibernate.cfg.xml"></property>      </bean>      <bean id="hibernateTemplate" class="org.springframework.orm.hibernate4.HibernateTemplate">          <property name="sessionFactory" ref="sessionFactory"></property>      </bean>      <bean id="txManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">          <property name="sessionFactory" ref="sessionFactory"></property>      </bean>            <!-- 開(kāi)啟Spring框架的事務(wù)管理 ,開(kāi)啟之后@Transaction就可以用了 -->      <tx:annotation-driven transaction-manager="txManager"/>            <!-- 實(shí)現(xiàn)教師信息管理需要配置的Bean -->      <bean id="teacherDao" class="com.sgdata.dao.impl.TeacherDaoImpl">          <property name="sessionFactory" ref="sessionFactory"></property>      </bean>      <bean id="teacherService" class="com.sgdata.service.impl.TeacherServiceBean">      </bean>          <!--scope默認(rèn)采用的是單例模式,scope="prototype" 可以保證 當(dāng)有請(qǐng)求的時(shí)候都創(chuàng)建一個(gè)Action對(duì)象,保證Struts的Action線程安全 -->         <bean id="teacherAction" class="com.sgdata.action.TeacherInfoManagerAction" scope="prototype"></bean>      <bean id="loginCheckAction" class="com.sgdata.action.LoginCheckAction" scope="prototype"></bean>            <!-- 實(shí)現(xiàn)學(xué)生信息管理需要配置的Bean -->      <bean id="studentDao" class="com.sgdata.dao.impl.StudentDaoImpl">          <property name="sessionFactory" ref="sessionFactory"></property>      </bean>      <bean id="studentService" class="com.sgdata.service.impl.StudentServiceBean"></bean>      <bean id="studentAction" class="com.sgdata.action.StudentInfoManagerAction" scope="prototype"></bean>            <!-- 實(shí)現(xiàn)課程信息管理需要配置的Bean -->      <bean id="courseDao" class="com.sgdata.dao.impl.CourseDaoImpl">          <property name="sessionFactory" ref="sessionFactory"></property>      </bean>      <bean id="courseService" class="com.sgdata.service.impl.CourseServiceBean"></bean>      <bean id="courseAction" class="com.sgdata.action.CourseInfoManagerAction" scope="prototype"></bean>            <!-- 實(shí)現(xiàn)比賽信息管理需要配置的Bean -->      <bean id="matchDao" class="com.sgdata.dao.impl.MatchDaoImpl">          <property name="sessionFactory" ref="sessionFactory"></property>      </bean>      <bean id="matchService" class="com.sgdata.service.impl.MatchServiceBean"></bean>      <bean id="matchAction" class="com.sgdata.action.MatchInfoManagerAction" scope="prototype"></bean>        </beans><?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.1.xsd"> <!-- Spring框架配置文件 --> <!-- 屬性注入配置 --> <context:annotation-config/> <!-- 實(shí)現(xiàn)數(shù)據(jù)庫(kù)配置 --> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver"></property> <property name="url" value="jdbc:mysql://localhost:3306/db_sgdata?useUnicode=true&characterEncoding=UTF-8"></property> <property name="username" value="root"></property> <property name="password" value="111"></property> <property name="maxActive" value="100"></property> <property name="maxIdle" value="60"></property> <property name="maxWait" value="10000"></property> </bean> <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> <property name="dataSource" ref="dataSource"></property> <property name="configLocation" value="classpath:hibernate.cfg.xml"></property> </bean> <bean id="hibernateTemplate" class="org.springframework.orm.hibernate4.HibernateTemplate"> <property name="sessionFactory" ref="sessionFactory"></property> </bean> <bean id="txManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory"></property> </bean> <!-- 開(kāi)啟Spring框架的事務(wù)管理 ,開(kāi)啟之后@Transaction就可以用了 --> <tx:annotation-driven transaction-manager="txManager"/> <!-- 實(shí)現(xiàn)教師信息管理需要配置的Bean --> <bean id="teacherDao" class="com.sgdata.dao.impl.TeacherDaoImpl"> <property name="sessionFactory" ref="sessionFactory"></property> </bean> <bean id="teacherService" class="com.sgdata.service.impl.TeacherServiceBean"> </bean> <!--scope默認(rèn)采用的是單例模式,scope="prototype" 可以保證 當(dāng)有請(qǐng)求的時(shí)候都創(chuàng)建一個(gè)Action對(duì)象,保證Struts的Action線程安全 --> <bean id="teacherAction" class="com.sgdata.action.TeacherInfoManagerAction" scope="prototype"></bean> <bean id="loginCheckAction" class="com.sgdata.action.LoginCheckAction" scope="prototype"></bean> <!-- 實(shí)現(xiàn)學(xué)生信息管理需要配置的Bean --> <bean id="studentDao" class="com.sgdata.dao.impl.StudentDaoImpl"> <property name="sessionFactory" ref="sessionFactory"></property> </bean> <bean id="studentService" class="com.sgdata.service.impl.StudentServiceBean"></bean> <bean id="studentAction" class="com.sgdata.action.StudentInfoManagerAction" scope="prototype"></bean> <!-- 實(shí)現(xiàn)課程信息管理需要配置的Bean --> <bean id="courseDao" class="com.sgdata.dao.impl.CourseDaoImpl"> <property name="sessionFactory" ref="sessionFactory"></property> </bean> <bean id="courseService" class="com.sgdata.service.impl.CourseServiceBean"></bean> <bean id="courseAction" class="com.sgdata.action.CourseInfoManagerAction" scope="prototype"></bean> <!-- 實(shí)現(xiàn)比賽信息管理需要配置的Bean --> <bean id="matchDao" class="com.sgdata.dao.impl.MatchDaoImpl"> <property name="sessionFactory" ref="sessionFactory"></property> </bean> <bean id="matchService" class="com.sgdata.service.impl.MatchServiceBean"></bean> <bean id="matchAction" class="com.sgdata.action.MatchInfoManagerAction" scope="prototype"></bean> </beans>

Struts2的配置文件代碼:

[html] view%20plain copy print?派生到我的代碼片

<?xml version="1.0" encoding="UTF-8" ?>  <!DOCTYPE struts PUBLIC      "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"      "http://struts.apache.org/dtds/struts-2.3.dtd">  <!-- Struts2框架配置文件 -->  <struts>      <!-- 配置struts2可以受理的請(qǐng)求擴(kuò)展名 -->      <constant name="struts.action.extension" value="action,do,"></constant>      <!-- struts2的package對(duì)應(yīng)于項(xiàng)目的模塊 -->      <package name="action" extends="struts-default" namespace="/">          <!-- 配置action -->                    <!-- 登錄驗(yàn)證的Action -->          <action name="loginAction" class="loginCheckAction">              <result name="success">/WEB-INF/page/admin/index.jsp</result>              <result name="input">/WEB-INF/page/admin/login.jsp</result>          </action>                    <!--               SSH項(xiàng)目WEB-INF下面的頁(yè)面跳轉(zhuǎn)要通過(guò)Servlet來(lái)實(shí)現(xiàn),這樣確實(shí)是麻煩了點(diǎn),              不過(guò)安全性就提高上去了,因?yàn)榉旁赪EB-INF下面的JSP頁(yè)面,是不可以直接訪問(wèn)的          -->           <action name="indexAction">                  <result>/WEB-INF/page/admin/index.jsp</result>             </action>             <action name="gotoLoginAction">              <result>/WEB-INF/page/admin/login.jsp</result>           </action>                    <!-- 學(xué)生信息管理的Action -->          <action name="getAllStuInfoAction" class="studentAction" method="getAllInfo">                  <result name="success">/WEB-INF/page/admin/student/studentInfoManager.jsp</result>          </action>          <action name="getStuInfoByIdAction" class="studentAction" method="getInfoById">              <result name="success">/WEB-INF/page/admin/student/studentInfoDetail.jsp</result>          </action>          <action name="getLearnScoresAction" class="studentAction" method="getLearnScoreById">              <result name="success">/WEB-INF/page/admin/student/studentLearnScores.jsp</result>          </action>          <action name="getMatchScoresAction" class="studentAction" method="getMatchScoreById">              <result name="success">/WEB-INF/page/admin/student/studentMatchScores.jsp</result>          </action>                    <!-- 教師信息管理的Action -->          <action name="getAllTeaInfoAction" class="teacherAction" method="getAllInfo">                  <result name="success">/WEB-INF/page/admin/teacher/teacherInfoManager.jsp</result>          </action>          <action name="getTeachingInfoAction" class="teacherAction" method="getTeachingInfoById">                  <result name="success">/WEB-INF/page/admin/teacher/teacherTeaching.jsp</result>          </action>          <action name="getMatchGuideInfoAction" class="teacherAction" method="getMatchGuideInfoById">                  <result name="success">/WEB-INF/page/admin/teacher/teacherMatchGuide.jsp</result>          </action>          <action name="getCourseStudentsInfoAction" class="teacherAction" method="getCourseStudentsInfoById">                  <result name="success">/WEB-INF/page/admin/teacher/teacherCourseStusInfo.jsp</result>          </action>          <action name="getMatchStudentsInfoAction" class="teacherAction" method="getMatchStudentsInfoById">                  <result name="success">/WEB-INF/page/admin/teacher/teacherMatchStusInfo.jsp</result>          </action>                    <!-- 課程管理的Action -->          <action name="getAllCourseInfoAction" class="courseAction" method="getAllInfo">              <result name="success">/WEB-INF/page/admin/course/courseManager.jsp</result>          </action>          <action name="getTeachersInfoAction" class="courseAction" method="getTeachersInfoById">              <result name="success">/WEB-INF/page/admin/course/courseTeachersInfo.jsp</result>          </action>                    <!-- 比賽信息管理的Action -->          <action name="getAllMatchInfoAction" class="matchAction" method="getAllInfo">              <result name="success">/WEB-INF/page/admin/match/matchInfoManager.jsp</result>          </action>          <action name="getStudentsInfoAction" class="matchAction" method="getStudentsInfoById">              <result name="success">/WEB-INF/page/admin/match/matchStudentsInfo.jsp</result>          </action>                </package>        </struts><?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <!-- Struts2框架配置文件 --> <struts> <!-- 配置struts2可以受理的請(qǐng)求擴(kuò)展名 --> <constant name="struts.action.extension" value="action,do,"></constant>     <!-- struts2的package對(duì)應(yīng)于項(xiàng)目的模塊 -->     <package name="action" extends="struts-default" namespace="/">      <!-- 配置action -->           <!-- 登錄驗(yàn)證的Action -->      <action name="loginAction">      <result name="success">/WEB-INF/page/admin/index.jsp</result>      <result name="input">/WEB-INF/page/admin/login.jsp</result>      </action>           <!--  SSH項(xiàng)目WEB-INF下面的頁(yè)面跳轉(zhuǎn)要通過(guò)Servlet來(lái)實(shí)現(xiàn),這樣確實(shí)是麻煩了點(diǎn), 不過(guò)安全性就提高上去了,因?yàn)榉旁赪EB-INF下面的JSP頁(yè)面,是不可以直接訪問(wèn)的   -->       <action name="indexAction">              <result>/WEB-INF/page/admin/index.jsp</result>         </action>         <action name="gotoLoginAction">        <result>/WEB-INF/page/admin/login.jsp</result>       </action>           <!-- 學(xué)生信息管理的Action -->      <action name="getAllStuInfoAction" method="getAllInfo">      <result name="success">/WEB-INF/page/admin/student/studentInfoManager.jsp</result>      </action>      <action name="getStuInfoByIdAction" method="getInfoById">      <result name="success">/WEB-INF/page/admin/student/studentInfoDetail.jsp</result>      </action>      <action name="getLearnScoresAction" method="getLearnScoreById">      <result name="success">/WEB-INF/page/admin/student/studentLearnScores.jsp</result>      </action>      <action name="getMatchScoresAction" method="getMatchScoreById">      <result name="success">/WEB-INF/page/admin/student/studentMatchScores.jsp</result>      </action>           <!-- 教師信息管理的Action -->      <action name="getAllTeaInfoAction" method="getAllInfo">      <result name="success">/WEB-INF/page/admin/teacher/teacherInfoManager.jsp</result>      </action>      <action name="getTeachingInfoAction" method="getTeachingInfoById">      <result name="success">/WEB-INF/page/admin/teacher/teacherTeaching.jsp</result>      </action>      <action name="getMatchGuideInfoAction" method="getMatchGuideInfoById">      <result name="success">/WEB-INF/page/admin/teacher/teacherMatchGuide.jsp</result>      </action>      <action name="getCourseStudentsInfoAction" method="getCourseStudentsInfoById">      <result name="success">/WEB-INF/page/admin/teacher/teacherCourseStusInfo.jsp</result>      </action>      <action name="getMatchStudentsInfoAction" method="getMatchStudentsInfoById">      <result name="success">/WEB-INF/page/admin/teacher/teacherMatchStusInfo.jsp</result>      </action>           <!-- 課程管理的Action -->      <action name="getAllCourseInfoAction" method="getAllInfo">      <result name="success">/WEB-INF/page/admin/course/courseManager.jsp</result>      </action>      <action name="getTeachersInfoAction" method="getTeachersInfoById">      <result name="success">/WEB-INF/page/admin/course/courseTeachersInfo.jsp</result>      </action>           <!-- 比賽信息管理的Action -->      <action name="getAllMatchInfoAction" method="getAllInfo">      <result name="success">/WEB-INF/page/admin/match/matchInfoManager.jsp</result>      </action>      <action name="getStudentsInfoAction" method="getStudentsInfoById">      <result name="success">/WEB-INF/page/admin/match/matchStudentsInfo.jsp</result>      </action>          </package>      </struts>

 

 

 

Hibernate的配置文件代碼:

[html] view%20plain copy print?派生到我的代碼片

<?xml version='1.0' encoding='UTF-8'?>  <!DOCTYPE hibernate-configuration PUBLIC            "-//Hibernate/Hibernate Configuration DTD 3.0//EN"            "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">  <!-- Generated by MyEcl派生到我的代碼片

import java.util.Date;  import java.util.HashSet;  import java.util.Set;    /**  *   * 學(xué)生信息的實(shí)體類  * @author Nicky  *  */  public class Student {            /*      * 學(xué)號(hào)      */      private String stuID;            /*      * 班級(jí)      */      private String stuName;            /*      * 性別      */      private String stuSex;            /*      * 出生年日      */      private Date stuBirth;            /*      * 電話      */      private String stuTel;            /*      * 郵箱      */      private String stuEmail;            /*      * 專業(yè)      */      private String dept;            /*      * 身份證      */      private String stuIDCard;            /*      * 班級(jí)      */      private String className;            /*      * 登錄密碼      */      private String password;            /*      * 是否是管理員的標(biāo)志  1表示是,0表示不是      */      private String isManager;            public String getStuID() {          return stuID;      }        public void setStuID(String stuID) {          this.stuID = stuID;      }        public String getStuName() {          return stuName;      }        public void setStuName(String stuName) {          this.stuName = stuName;      }        public String getStuSex() {          return stuSex;      }        public void setStuSex(String stuSex) {          this.stuSex = stuSex;      }        public Date getStuBirth() {          return stuBirth;      }        public void setStuBirth(Date stuBirth) {          this.stuBirth = stuBirth;      }        public String getStuTel() {          return stuTel;      }        public void setStuTel(String stuTel) {          this.stuTel = stuTel;      }        public String getStuEmail() {          return stuEmail;      }        public void setStuEmail(String stuEmail) {          this.stuEmail = stuEmail;      }        public String getDept() {          return dept;      }        public void setDept(String dept) {          this.dept = dept;      }        public String getStuIDCard() {          return stuIDCard;      }        public void setStuIDCard(String stuIDCard) {          this.stuIDCard = stuIDCard;      }        public String getClassName() {          return className;      }        public void setClassName(String className) {          this.className = className;      }        public String getPassword() {          return password;      }        public void setPassword(String password) {          this.password = password;      }        public String getIsManager() {          return isManager;      }        public void setIsManager(String isManager) {          this.isManager = isManager;      }              }import java.util.Date; import java.util.HashSet; import java.util.Set; /**  *   * 學(xué)生信息的實(shí)體類  * @author Nicky  *  */ public class Student { /*  * 學(xué)號(hào)  */ private String stuID; /*  * 班級(jí)  */ private String stuName; /*  * 性別  */ private String stuSex; /*  * 出生年日  */ private Date stuBirth; /*  * 電話  */ private String stuTel; /*  * 郵箱  */ private String stuEmail; /*  * 專業(yè)  */ private String dept; /*  * 身份證  */ private String stuIDCard; /*  * 班級(jí)  */ private String className; /*  * 登錄密碼  */ private String password; /*  * 是否是管理員的標(biāo)志  1表示是,0表示不是  */ private String isManager; public String getStuID() { return stuID; } public void setStuID(String stuID) { this.stuID = stuID; } public String getStuName() { return stuName; } public void setStuName(String stuName) { this.stuName = stuName; } public String getStuSex() { return stuSex; } public void setStuSex(String stuSex) { this.stuSex = stuSex; } public Date getStuBirth() { return stuBirth; } public void setStuBirth(Date stuBirth) { this.stuBirth = stuBirth; } public String getStuTel() { return stuTel; } public void setStuTel(String stuTel) { this.stuTel = stuTel; } public String getStuEmail() { return stuEmail; } public void setStuEmail(String stuEmail) { this.stuEmail = stuEmail; } public String getDept() { return dept; } public void setDept(String dept) { this.dept = dept; } public String getStuIDCard() { return stuIDCard; } public void setStuIDCard(String stuIDCard) { this.stuIDCard = stuIDCard; } public String getClassName() { return className; } public void setClassName(String className) { this.className = className; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getIsManager() { return isManager; } public void setIsManager(String isManager) { this.isManager = isManager; } }

 

 

 

配置Student.hbm.xml文件

[html] view%20plain copy print?派生到我的代碼片

<?xml version="1.0" encoding="UTF-8"?>  <!DOCTYPE hibernate-mapping PUBLIC       "-//Hibernate/Hibernate Mapping DTD 3.0//EN"      "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">    <hibernate-mapping package="com.sgdata.po">      <class name="Student" table="tb_students">          <id name="stuID" column="stuID" type="java.lang.String" length="11">              <generator class="assigned"></generator>          </id>          <property name="stuName" type="java.lang.String" length="30" not-null="true"></property>          <property name="stuSex" type="java.lang.String" length="2" not-null="true"></property>          <property name="stuBirth" type="java.util.Date" not-null="true"></property>          <property name="stuTel" type="java.lang.String" length="20" not-null="true"></property>          <property name="stuEmail" type="java.lang.String" length="20" not-null="true"></property>          <property name="dept" type="java.lang.String" length="10" not-null="true"></property>          <property name="stuIDCard" type="java.lang.String" length="20" not-null="true"></property>          <property name="className" type="java.lang.String" length="20" not-null="true"></property>          <property name="password" type="java.lang.String" length="10" not-null="true"></property>          <property name="isManager" type="java.lang.String" length="1" not-null="false"></property>      </class>  </hibernate-mapping><?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC      "-//Hibernate/Hibernate Mapping DTD 3.0//EN"     "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="com.sgdata.po"> <class name="Student" table="tb_students"> <id name="stuID" column="stuID" type="java.lang.String" length="11"> <generator></generator> </id> <property name="stuName" type="java.lang.String" length="30" not-null="true"></property> <property name="stuSex" type="java.lang.String" length="2" not-null="true"></property> <property name="stuBirth" type="java.util.Date" not-null="true"></property> <property name="stuTel" type="java.lang.String" length="20" not-null="true"></property> <property name="stuEmail" type="java.lang.String" length="20" not-null="true"></property> <property name="dept" type="java.lang.String" length="10" not-null="true"></property> <property name="stuIDCard" type="java.lang.String" length="20" not-null="true"></property> <property name="className" type="java.lang.String" length="20" not-null="true"></property> <property name="password" type="java.lang.String" length="10" not-null="true"></property> <property name="isManager" type="java.lang.String" length="1" not-null="false"></property> </class> </hibernate-mapping>DAO實(shí)現(xiàn)

[java] view%20plain copy print?派生到我的代碼片

import java.util.List;    import com.sgdata.po.Student;    public interface StudentDao {        /**      * 獲取所有學(xué)生信息      * @return      */      public List<Student> getAllStudentInfo();        }import java.util.List; import com.sgdata.po.Student; public interface StudentDao { /**  * 獲取所有學(xué)生信息  * @return  */ public List<Student> getAllStudentInfo(); }

[java] view%20plain copy print?派生到我的代碼片

public class StudentDaoImpl extends HibernateDaoSupport implements StudentDao {            @Resource HibernateTemplate ht;            /**      * 獲取所有信息      */      public List<Student> getAllStudentInfo() {          String sql = "from Student";          List<Student> students = (List<Student>) ht.find(sql);          return students;      }  }public class StudentDaoImpl extends HibernateDaoSupport implements StudentDao { @Resource HibernateTemplate ht; /**  * 獲取所有信息  */ public List<Student> getAllStudentInfo() { String sql = "from Student"; List<Student> students = (List<Student>) ht.find(sql); return students; } }

 

 

 

Service實(shí)現(xiàn):

[java] view%20plain copy print?派生到我的代碼片

import java.util.List;    import com.sgdata.po.Student;    public interface StudentService {        /**      * 獲取所有學(xué)生信息      * @return      */      public List<Student> getAllStudentInfo();      }  import java.util.List; import com.sgdata.po.Student; public interface StudentService { /**  * 獲取所有學(xué)生信息  * @return  */ public List<Student> getAllStudentInfo(); }[java] view plain copy print?import java.util.List;    import javax.annotation.Resource;    import org.springframework.transaction.annotation.Transactional;    import com.sgdata.dao.StudentDao;  import com.sgdata.po.Student;  import com.sgdata.service.StudentService;    @Transactional(readOnly=false)  public class StudentServiceBean implements StudentService {        @Resource private StudentDao studentDao;      public List<Student> getAllStudentInfo() {          return studentDao.getAllStudentInfo();      }  }import java.util.List; import javax.annotation.Resource; import org.springframework.transaction.annotation.Transactional; import com.sgdata.dao.StudentDao; import com.sgdata.po.Student; import com.sgdata.service.StudentService; @Transactional(readOnly=false) public class StudentServiceBean implements StudentService { @Resource private StudentDao studentDao; public List<Student> getAllStudentInfo() { return studentDao.getAllStudentInfo(); } }

 

 

 

Action實(shí)現(xiàn):

[java] view%20plain copy print?派生到我的代碼片

/**  * 實(shí)現(xiàn)學(xué)生信息管理的Action類  *    */  public class StudentInfoManagerAction extends ActionSupport {        /**      *       */      private static final long serialVersionUID = 1L;                  @Resource private StudentService studentService;            //頁(yè)數(shù)      int pagenum = 0;            //學(xué)號(hào)      private String stuID;            //姓名      private String stuName;            //性別      private String stuSex;            //出生年月      private String stuBirth;            //電話      private String stuTel;            //郵箱      private String stuEmial;            //系部      private String dept;            //身份證      private String stuIDCard;            //班級(jí)      private String className;            //密碼      private String password;            /**      * 學(xué)生對(duì)象來(lái)儲(chǔ)存學(xué)生信息      */      private Student student;            /**      * 學(xué)生信息的列表      */      private List<Student> studentsInfo;            /**      * 學(xué)生學(xué)習(xí)成績(jī)的信息列表      */      private List learnScores;            /**      * 學(xué)生比賽成績(jī)的信息列表      */      private List matchScores;            public StudentInfoManagerAction(){          //student = new Student();                }            public Student getStudent() {          return student;      }        public void setStudent(Student student) {          this.student = student;      }        public void setStudentsInfo(List<Student> studentsInfo){          this.studentsInfo = studentsInfo;      }        public List<Student> getStudentsInfo() {          return studentsInfo;      }        public List getLearnScores() {          return learnScores;      }        public void setLearnScores(List learnScores) {          this.learnScores = learnScores;      }        public List getMatchScores() {          return matchScores;      }        public void setMatchScores(List matchScores) {          this.matchScores = matchScores;      }        public int getPagenum() {          return pagenum;      }        public void setPagenum(int pagenum) {          this.pagenum = pagenum;      }        public String getStuID() {          return stuID;      }        public void setStuID(String stuID) {          this.stuID = stuID;      }        public String getStuName() {          return stuName;      }        public void setStuName(String stuName) {          this.stuName = stuName;      }        public String getStuSex() {          return stuSex;      }        public void setStuSex(String stuSex) {          this.stuSex = stuSex;      }        public String getStuBirth() {          return stuBirth;      }        public void setStuBirth(String stuBirth) {          this.stuBirth = stuBirth;      }        public String getStuTel() {          return stuTel;      }        public void setStuTel(String stuTel) {          this.stuTel = stuTel;      }        public String getStuEmial() {          return stuEmial;      }        public void setStuEmial(String stuEmial) {          this.stuEmial = stuEmial;      }        public String getDept() {          return dept;      }        public void setDept(String dept) {          this.dept = dept;      }        public String getStuIDCard() {          return stuIDCard;      }        public void setStuIDCard(String stuIDCard) {          this.stuIDCard = stuIDCard;      }        public String getClassName() {          return className;      }        public void setClassName(String className) {          this.className = className;      }        public String getPassword() {          return password;      }        public void setPassword(String password) {          this.password = password;      }        /**      * 獲取學(xué)生的基本信息      * @return      * @throws Exception      */      //@Override      public String getAllInfo() throws Exception {          studentsInfo = studentService.getAllStudentInfo();          return SUCCESS;      }  }/**  * 實(shí)現(xiàn)學(xué)生信息管理的Action類  *  */ public class StudentInfoManagerAction extends ActionSupport { /**  *   */ private static final long serialVersionUID = 1L; @Resource private StudentService studentService; //頁(yè)數(shù) int pagenum = 0; //學(xué)號(hào) private String stuID; //姓名 private String stuName; //性別 private String stuSex; //出生年月 private String stuBirth; //電話 private String stuTel; //郵箱 private String stuEmial; //系部 private String dept; //身份證 private String stuIDCard; //班級(jí) private String className; //密碼 private String password; /**  * 學(xué)生對(duì)象來(lái)儲(chǔ)存學(xué)生信息  */ private Student student; /**  * 學(xué)生信息的列表  */ private List<Student> studentsInfo; /**  * 學(xué)生學(xué)習(xí)成績(jī)的信息列表  */ private List learnScores; /**  * 學(xué)生比賽成績(jī)的信息列表  */ private List matchScores; public StudentInfoManagerAction(){ //student = new Student(); } public Student getStudent() { return student; } public void setStudent(Student student) { this.student = student; } public void setStudentsInfo(List<Student> studentsInfo){ this.studentsInfo = studentsInfo; } public List<Student> getStudentsInfo() { return studentsInfo; } public List getLearnScores() { return learnScores; } public void setLearnScores(List learnScores) { this.learnScores = learnScores; } public List getMatchScores() { return matchScores; } public void setMatchScores(List matchScores) { this.matchScores = matchScores; } public int getPagenum() { return pagenum; } public void setPagenum(int pagenum) { this.pagenum = pagenum; } public String getStuID() { return stuID; } public void setStuID(String stuID) { this.stuID = stuID; } public String getStuName() { return stuName; } public void setStuName(String stuName) { this.stuName = stuName; } public String getStuSex() { return stuSex; } public void setStuSex(String stuSex) { this.stuSex = stuSex; } public String getStuBirth() { return stuBirth; } public void setStuBirth(String stuBirth) { this.stuBirth = stuBirth; } public String getStuTel() { return stuTel; } public void setStuTel(String stuTel) { this.stuTel = stuTel; } public String getStuEmial() { return stuEmial; } public void setStuEmial(String stuEmial) { this.stuEmial = stuEmial; } public String getDept() { return dept; } public void setDept(String dept) { this.dept = dept; } public String getStuIDCard() { return stuIDCard; } public void setStuIDCard(String stuIDCard) { this.stuIDCard = stuIDCard; } public String getClassName() { return className; } public void setClassName(String className) { this.className = className; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } /**  * 獲取學(xué)生的基本信息  * @return  * @throws Exception  */ //@Override public String getAllInfo() throws Exception { studentsInfo = studentService.getAllStudentInfo(); return SUCCESS; } }

 

 

 

然后就可以在JSP頁(yè)面引入

<%@%20taglib%20uri="/struts-tags"%20prefix="s"%20%>

然后獲取數(shù)據(jù)了

[html]view%20plain copy print?派生到我的代碼片

<table class="table table-hover">           <tr>               <th width="120">學(xué)號(hào)</th>               <th width="120">姓名</th>               <th width="120">性別</th>               <th width="120">班級(jí)</th>               <th width="120">系部</th>               <th width="100">出生年月</th>               <th width="100">操作</th>           </tr>              <s:iterator value="studentsInfo" id="ssif" >              <tr>               <td><s:property value="#ssif.stuID" /></td>               <td><s:property value="#ssif.stuName" /></td>               <td><s:property value="#ssif.stuSex" /></td>               <td><s:property value="#ssif.className" /></td>               <td><s:property value="#ssif.dept" /></td>               <td><s:property value="#ssif.stuBirth" /></td>               <td>                   <a class="button border-blue button-little" href="getStuInfoByIdAction?stuID=<s:property value='#ssif.stuID'/>">詳情</a>                    <a class="button border-yellow button-little" href="getLearnScoresAction?stuID=<s:property value='#ssif.stuID' />" >學(xué)習(xí)</a>                   <a class="button border-green button-little" href="getMatchScoresAction?stuID=<s:property value='#ssif.stuID' />">比賽</a>                </td>              </tr>              </s:iterator>          </table>    <table class="table table-hover">          <tr>          <th width="120">學(xué)號(hào)</th>          <th width="120">姓名</th>          <th width="120">性別</th>          <th width="120">班級(jí)</th>          <th width="120">系部</th>          <th width="100">出生年月</th>          <th width="100">操作</th>          </tr>             <s:iterator value="studentsInfo" id="ssif" >             <tr>              <td><s:property value="#ssif.stuID" /></td>              <td><s:property value="#ssif.stuName" /></td>              <td><s:property value="#ssif.stuSex" /></td>              <td><s:property value="#ssif.className" /></td>              <td><s:property value="#ssif.dept" /></td>              <td><s:property value="#ssif.stuBirth" /></td>              <td>              <a class="button border-blue button-little" href="getStuInfoByIdAction?stuID=<s:property value='#ssif.stuID'/>">詳情</a>               <a class="button border-yellow button-little" href="getLearnScoresAction?stuID=<s:property value='#ssif.stuID' />" >學(xué)習(xí)</a>              <a class="button border-green button-little" href="getMatchScoresAction?stuID=<s:property value='#ssif.stuID' />">比賽</a>               </td>             </tr>             </s:iterator>         </table>

實(shí)現(xiàn)數(shù)據(jù)獲取

這是我結(jié)合Bootstrap和SSH做的,結(jié)合例子來(lái)說(shuō)明實(shí)現(xiàn)過(guò)程,希望可以幫到學(xué)習(xí)的人,有疑惑請(qǐng)留言哈


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 临西县| 罗甸县| 新龙县| 青神县| 中牟县| 酉阳| 淮南市| 资兴市| 库车县| 弋阳县| 丰顺县| 咸宁市| 奉节县| 民县| 滕州市| 梁山县| 涪陵区| 汉川市| 剑川县| 武邑县| 崇左市| 延边| 芜湖县| 安国市| 西贡区| 琼结县| 罗江县| 沙湾县| 格尔木市| 元朗区| 双城市| 饶阳县| 金门县| 红原县| 安泽县| 龙泉市| 奈曼旗| 宁陕县| 安远县| 苏尼特右旗| 炉霍县|