博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Struts+Spring+Hibernate真正入门级实例
阅读量:2456 次
发布时间:2019-05-10

本文共 28658 字,大约阅读时间需要 95 分钟。

    

网上有很多关于SSH架构的实例文章,但都显得复杂,我想,入门的朋友,还是希望从最简单的CRUD操作开始,一些复杂的数据库关系,逻辑关系,以后在项目中就能碰到,所以,本文定位于从零开始的一个SSH架构的例子,功能很简单,就是完成一个人员的CRUD操作,麻雀虽小,五脏俱全,希望能对从来没有接触过三者结合开发的朋友带来一点点帮助,这个例子,也算是我的入门实例,从此,开始Struts+Spring+Hibernate之旅 

开发工具:MyEclipse5.1+Tomcat+Mysql

开发前准备:数据库安装,tomcat安装,下载jar包这些就不费口水了,直接切入正题吧

CREATE TABLE `people` (
  `id` int(11) NOT NULL auto_increment,
  `name` varchar(100) default NULL,
  `location` varchar(100) default NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312 ROW_FORMAT=COMPRESSED;

首先,建立工程和package,以下是我的工程目录

  action
      DeletePeopleAction.java     //删除人员action
      EditPeopleAction.java         //编辑人员action第一步,读取需要修改的人员资料
      EditPeopleActionDo.java   //修改人员action
      ListPeopleAction.javaSave   //显示人员列表action
      SavePeopleAction.java         //新增人员action 
      SearchPeopleAction.java     //查找人员action
dao
      IDAO.java    //数据库操作接口
      StudentDAOImpl.java  //数据库操作实现
domain
      AbstractPeople.java   //实体抽象类
      People.hbm.xml         //数据库映射
      People.java                 //实体类
service
      IService.java   //服务层接口
      StudentManagerImpl.java   //服务层实现
util
     Character.java   //字符编码过滤器
     PageSupport.java   //分页
applicationContext_hibernate.xml   //Spring配置文件(hibernate部分)
applicationContext_service.xml      //Spring配置文件(Service部分)

JSP:这几个jsp从名字就能看出功能,不说了

   addStudent.jsp
   editStudent.jsp
   searchList.jsp
   searchStudent.jsp
   studentList.jsp

 

代码:

   

 applicationContext_hibernate.xml 

  

<?
xml version="1.0" encoding="UTF-8"
?>
<!
DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"
>
<
beans
>
<!--
  
    <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
       <property name="jndiName">
          <value>java:comp/env/jdbc/StudentManager</value>
       </property>      
    </bean>
 
-->
 
<
bean 
id
="dataSource"
 class
="org.springframework.jdbc.datasource.DriverManagerDataSource"
>
    
<
property 
name
="driverClassName"
>
      
<
value
>
com.mysql.jdbc.Driver
</
value
>
    
</
property
>
    
<
property 
name
="url"
>
      
<
value
>
jdbc:mysql://localhost:3306/studentmanager
</
value
>
    
</
property
>
    
<
property 
name
="username"
>
      
<
value
>
root
</
value
>
    
</
property
>
    
<
property 
name
="password"
>
      
<
value
>
1234
</
value
>
    
</
property
>
    
 
</
bean
>
 
 
<
bean 
id
="TransactionManager"
 class
="org.springframework.jdbc.datasource.DataSourceTransactionManager"
>
<
property 
name
="dataSource"
>
<
ref 
bean
="dataSource"
/>
</
property
>
</
bean
>
 
   
    
<
bean 
id
="sessionFactory"
        class
="org.springframework.orm.hibernate3.LocalSessionFactoryBean"
>
        
<
property 
name
="dataSource"
>
            
<
ref 
local
="dataSource"
 
/>
        
</
property
>
        
<
property 
name
="hibernateProperties"
>
            
<
props
>
                
<
prop 
key
="hibernate.dialect"
>
                    org.hibernate.dialect.MySQLDialect
                
</
prop
>
                
<
prop 
key
="hibernate.show_sql"
>
true
</
prop
>
                
<
prop 
key
="hibernate.cache.use_query_cache"
>
true
</
prop
>
                
<
prop 
key
="hibernate.cache.provider_class"
>
                    org.hibernate.cache.HashtableCacheProvider
                
</
prop
>
            
</
props
>
        
</
property
>
        
<!--
  
        <property name="mappingDirectoryLocations">
            <list>
                <value>classpath:/domain</value>
            </list>
        </property>
-->
        
<
property 
name
="mappingResources"
>
           
<
list
>
             
<
value
>
domain/People.hbm.xml
</
value
>
           
</
list
>
        
</
property
>
    
</
bean
>
    
    
<
bean 
id
="StudentDAO"
 class
="dao.StudentDAOImpl"
>
       
<
property 
name
="sessionFactory"
>
         
<
ref 
local
="sessionFactory"
/>
       
</
property
>
    
</
bean
>
</
beans
>

 

 applicationContext_service.xml

<?
xml version="1.0" encoding="UTF-8"
?>
<!
DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"
>
<
beans
>
   
<
bean 
id
="transactionManager"
 class
="org.springframework.orm.hibernate3.HibernateTransactionManager"
>
     
<
property 
name
="sessionFactory"
>
       
<
ref 
bean
="sessionFactory"
/>
     
</
property
>
   
</
bean
>
   
   
   
<
bean 
id
="studentManager"
 class
="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"
>
       
<
property 
name
="transactionManager"
>
          
<
ref 
bean
="transactionManager"
></
ref
>
       
</
property
>
      
<
property 
name
="target"
>
          
<
bean 
class
="service.StudentManagerImpl"
>
            
<
property 
name
="studentDAO"
>
                
<
ref 
bean
="StudentDAO"
/>
           
</
property
>
          
</
bean
>
      
</
property
>
      
<
property 
name
="transactionAttributes"
>
        
<
props
>
          
<
prop 
key
="save*"
>
PROPAGATION_REQUIRED
</
prop
>
          
<
prop 
key
="list*"
>
PROPAGATION_REQUIRED,readOnly
</
prop
>
          
<
prop 
key
="delete*"
>
PROPAGATION_REQUIRED
</
prop
>
          
<
prop 
key
="get*"
>
PROPAGATION_REQUIRED,readOnly
</
prop
>
          
<
prop 
key
="edit*"
>
PROPAGATION_REQUIRED
</
prop
>
          
<
prop 
key
="search*"
>
PROPAGATION_REQUIRED
</
prop
>
       
</
props
>
     
</
property
>
    
<
property 
name
="proxyTargetClass"
>
       
<
value
>
true
</
value
>
    
    
</
property
>
     
   
</
bean
>
   
</
beans
>

 

 Web.xml

 

<?
xml version="1.0" encoding="UTF-8"
?>
<
web-app 
xmlns
="http://java.sun.com/xml/ns/j2ee"
 xmlns:xsi
="http://www.w3.org/2001/XMLSchema-instance"
 version
="2.4"
 xsi:schemaLocation
="http://java.sun.com/xml/ns/j2ee   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
>
  
<
context-param
>
    
<
param-name
>
contextConfigLocation
</
param-name
>
    
<
param-value
>
                 /WEB-INF/classes/applicationContext_service.xml,
                 /WEB-INF/classes/applicationContext_hibernate.xml
                                  
    
</
param-value
>
  
</
context-param
>
  
  
<
resource-ref
>
   
      
<
description
>
SqlServer   Datasource   example
</
description
>
   
      
<
res-ref-name
>
jdbc/StudentManager
</
res-ref-name
>
   
      
<
res-type
>
javax.sql.DataSource
</
res-type
>
   
      
<
res-auth
>
Container
</
res-auth
>
   
  
</
resource-ref
>
  
  
<
filter
>
        
<
filter-name
>
hibernateFilter
</
filter-name
>
        
<
filter-class
>
            org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
        
</
filter-class
>
        
<
init-param
>
        
<
param-name
>
singleSession
</
param-name
>
        
<
param-value
>
true
</
param-value
>
        
</
init-param
>
    
</
filter
>
    
<
filter-mapping
>
        
<
filter-name
>
hibernateFilter
</
filter-name
>
        
<
url-pattern
>
*.do
</
url-pattern
>
    
</
filter-mapping
>
        
<
listener
>
           
<
listener-class
>
org.springframework.web.context.ContextLoaderListener
</
listener-class
>
        
</
listener
>
    
     
 
  
<
servlet
>
    
<
servlet-name
>
action
</
servlet-name
>
    
<
servlet-class
>
org.apache.struts.action.ActionServlet
</
servlet-class
>
    
<
init-param
>
      
<
param-name
>
config
</
param-name
>
      
<
param-value
>
/WEB-INF/struts-config.xml
</
param-value
>
    
</
init-param
>
    
<
init-param
>
      
<
param-name
>
debug
</
param-name
>
      
<
param-value
>
3
</
param-value
>
    
</
init-param
>
    
<
init-param
>
      
<
param-name
>
detail
</
param-name
>
      
<
param-value
>
3
</
param-value
>
    
</
init-param
>
    
<
load-on-startup
>
0
</
load-on-startup
>
  
</
servlet
>
  
<
servlet-mapping
>
    
<
servlet-name
>
action
</
servlet-name
>
    
<
url-pattern
>
*.do
</
url-pattern
>
  
</
servlet-mapping
>
</
web-app
>

struts-config.xml

<?
xml version="1.0" encoding="UTF-8"
?>
<!
DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd"
>
<
struts-config
>
  
<
data-sources 
/>
  
<
form-beans
>
    
<
form-bean 
name
="people"
 type
="domain.People"
></
form-bean
>
  
</
form-beans
>
  
<
global-exceptions 
/>
  
<
global-forwards 
/>
  
<
action-mappings 
>
    
<
action 
path
="/savePeople"
 name
="people"
 type
="action.SavePeopleAction"
>
      
<
forward 
name
="success"
 path
="/listPeople.do"
></
forward
>
    
</
action
>
    
    
<
action 
path
="/listPeople"
 name
="people"
 type
="action.ListPeopleAction"
>
      
<
forward 
name
="success"
 path
="/studentList.jsp"
></
forward
>
    
</
action
>
    
     
<
action 
path
="/deletePeople"
 name
="people"
 type
="action.DeletePeopleAction"
>
      
<
forward 
name
="success"
 path
="/studentList.jsp"
></
forward
>
    
</
action
>
    
     
<
action 
path
="/editPeople"
 name
="people"
 type
="action.EditPeopleAction"
>
      
<
forward 
name
="success"
 path
="/editStudent.jsp"
></
forward
>
    
</
action
>
    
     
<
action 
path
="/editPeopleDo"
 name
="people"
 type
="action.EditPeopleActionDo"
>
      
<
forward 
name
="success"
 path
="/studentList.jsp"
></
forward
>
    
</
action
>
    
     
<
action 
path
="/searchPeople"
 name
="people"
 type
="action.SearchPeopleAction"
>
      
<
forward 
name
="success"
 path
="/searchList.jsp"
></
forward
>
    
</
action
>
  
</
action-mappings
>
  
<
controller 
contentType
="text/html;charset=gb2312"
        processorClass
="util.Character"
 
/>
  
<
message-resources 
parameter
=""
 
/>
</
struts-config
>

 

 DeletePeopleAction.java

/*
 * Generated by MyEclipse Struts
 * Template path: templates/java/JavaClass.vtl
 
*/
package
 action;
import
 java.util.ArrayList;
import
 java.util.List;
import
 javax.servlet.http.HttpServletRequest;
import
 javax.servlet.http.HttpServletResponse;
import
 org.apache.struts.action.ActionForm;
import
 org.apache.struts.action.ActionForward;
import
 org.apache.struts.action.ActionMapping;
import
 org.springframework.web.struts.ActionSupport;
import
 service.StudentManagerImpl;
import
 domain.People;
/** 
 * MyEclipse Struts
 * Creation date: 01-17-2007
 * 
 * XDoclet definition:
 * @struts.action validate="true"
 
*/
public
 
class
 DeletePeopleAction 
extends
 ActionSupport 
{
    
public ActionForward execute(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response) 
{
       
        
        Integer id
=new Integer(request.getParameter("id"));
        StudentManagerImpl manager
=(StudentManagerImpl)getWebApplicationContext().getBean("studentManager");
        manager.deletePeople(id);
     
        List studentList
=manager.listPeople(0,5,"from People");
   
        request.setAttribute(
"studentList", studentList);
        request.setAttribute(
"currentPage"1);
        
return mapping.findForward("success");
    }
}
EditPeopleAction.java
/*
 * Generated by MyEclipse Struts
 * Template path: templates/java/JavaClass.vtl
 
*/
package
 action;
import
 java.util.ArrayList;
import
 java.util.List;
import
 javax.servlet.http.HttpServletRequest;
import
 javax.servlet.http.HttpServletResponse;
import
 org.apache.struts.action.ActionForm;
import
 org.apache.struts.action.ActionForward;
import
 org.apache.struts.action.ActionMapping;
import
 org.springframework.web.struts.ActionSupport;
import
 service.StudentManagerImpl;
import
 domain.People;
/** 
 * MyEclipse Struts
 * Creation date: 01-17-2007
 * 
 * XDoclet definition:
 * @struts.action validate="true"
 
*/
public
 
class
 EditPeopleAction 
extends
 ActionSupport 
{
    
public ActionForward execute(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response) 
{
       
        String id
=request.getParameter("id");
    
        StudentManagerImpl manager
=(StudentManagerImpl)getWebApplicationContext().getBean("studentManager");
        People people
=(People)manager.getPeople(new Integer(id));
        
        request.setAttribute(
"id", id);
        request.setAttribute(
"name", people.getName());
        request.setAttribute(
"location", people.getLocation());
        
        
return mapping.findForward("success");
    }
}
EditPeopleActionDo.java
/*
 * Generated by MyEclipse Struts
 * Template path: templates/java/JavaClass.vtl
 
*/
package
 action;
import
 java.util.ArrayList;
import
 java.util.List;
import
 javax.servlet.http.HttpServletRequest;
import
 javax.servlet.http.HttpServletResponse;
import
 org.apache.struts.action.ActionForm;
import
 org.apache.struts.action.ActionForward;
import
 org.apache.struts.action.ActionMapping;
import
 org.springframework.web.struts.ActionSupport;
import
 service.StudentManagerImpl;
import
 domain.People;
/** 
 * MyEclipse Struts
 * Creation date: 01-17-2007
 * 
 * XDoclet definition:
 * @struts.action validate="true"
 
*/
public
 
class
 EditPeopleActionDo 
extends
 ActionSupport 
{
    
public ActionForward execute(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response) 
{
       
        People people
=(People)form;
        
        StudentManagerImpl manager
=(StudentManagerImpl)getWebApplicationContext().getBean("studentManager");
        
        People sPeople
=(People)manager.getPeople(new Integer(people.getId()));
        sPeople.setName(people.getName());
        sPeople.setLocation(people.getLocation());
        
        manager.editPeople(sPeople);
        
       
        List studentList
=manager.listPeople(0,5,"from People");
        request.setAttribute(
"studentList", studentList);
        request.setAttribute(
"currentPage"1);
        
return mapping.findForward("success");
    }
}
ListPeopleAction.java
/*
 * Generated by MyEclipse Struts
 * Template path: templates/java/JavaClass.vtl
 
*/
package
 action;
import
 java.util.List;
import
 javax.servlet.http.HttpServletRequest;
import
 javax.servlet.http.HttpServletResponse;
import
 org.apache.struts.action.ActionForm;
import
 org.apache.struts.action.ActionForward;
import
 org.apache.struts.action.ActionMapping;
import
 org.springframework.web.struts.ActionSupport;
import
 service.StudentManagerImpl;
import
 util.PageSupport;
/** 
 * MyEclipse Struts
 * Creation date: 01-17-2007
 * 
 * XDoclet definition:
 * @struts.action validate="true"
 
*/
public
 
class
 ListPeopleAction 
extends
 ActionSupport 
{
    
public ActionForward execute(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response) 
{
       
        
        String page
=request.getParameter("page");
        
int firstRow=0;
        
int lastRow=0;
        
        StudentManagerImpl manager
=(StudentManagerImpl)getWebApplicationContext().getBean("studentManager");
        
        PageSupport sPage
=new PageSupport(page);
        sPage.setPagetotal(manager.listPeople().size());
        firstRow
=sPage.calcFirstPage();
        lastRow
=sPage.calcLastPage();
        
        
        List studentList
=manager.listPeople(firstRow-1,lastRow,"from People");
     
        request.setAttribute(
"studentList", studentList);
        request.setAttribute(
"currentPage", sPage.getThispage());
        
return mapping.findForward("success");
    }
}
SavePeopleAction.java
/*
 * Generated by MyEclipse Struts
 * Template path: templates/java/JavaClass.vtl
 
*/
package
 action;
import
 java.util.ArrayList;
import
 java.util.List;
import
 javax.servlet.http.HttpServletRequest;
import
 javax.servlet.http.HttpServletResponse;
import
 org.apache.struts.action.ActionForm;
import
 org.apache.struts.action.ActionForward;
import
 org.apache.struts.action.ActionMapping;
import
 org.springframework.web.struts.ActionSupport;
import
 service.StudentManagerImpl;
import
 domain.People;
/** 
 * MyEclipse Struts
 * Creation date: 01-17-2007
 * 
 * XDoclet definition:
 * @struts.action validate="true"
 
*/
public
 
class
 SavePeopleAction 
extends
 ActionSupport 
{
    
public ActionForward execute(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response) 
{
       
        People people
=(People)form;
    
        StudentManagerImpl manager
=(StudentManagerImpl)getWebApplicationContext().getBean("studentManager");
        manager.savePeople(people);
        
        
        
return mapping.findForward("success");
    }
}
SearchPeopleAction.java
/*
 * Generated by MyEclipse Struts
 * Template path: templates/java/JavaClass.vtl
 
*/
package
 action;
import
 java.util.ArrayList;
import
 java.util.List;
import
 javax.servlet.http.HttpServletRequest;
import
 javax.servlet.http.HttpServletResponse;
import
 org.apache.struts.action.ActionForm;
import
 org.apache.struts.action.ActionForward;
import
 org.apache.struts.action.ActionMapping;
import
 org.springframework.web.struts.ActionSupport;
import
 service.StudentManagerImpl;
import
 util.PageSupport;
import
 domain.People;
/** 
 * MyEclipse Struts
 * Creation date: 01-17-2007
 * 
 * XDoclet definition:
 * @struts.action validate="true"
 
*/
public
 
class
 SearchPeopleAction 
extends
 ActionSupport 
{
    
public ActionForward execute(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response) 
{
       
        People people
=(People)form;
        String page
=request.getParameter("page");
        
int firstRow=0;
        
int lastRow=0;
        
        String name
=people.getName();
        String location
=people.getLocation();
        String hql
="from People where name="+name+" and location="+location;
        
        StudentManagerImpl manager
=(StudentManagerImpl)getWebApplicationContext().getBean("studentManager");
        
        PageSupport sPage
=new PageSupport(page);
        sPage.setPagetotal(manager.searchPeople(hql).size());
        firstRow
=sPage.calcFirstPage();
        lastRow
=sPage.calcLastPage();
        
        
        
        List studentList
=manager.searchPeople(firstRow-1, lastRow, hql);
        
        
        request.setAttribute(
"studentList", studentList);
        request.setAttribute(
"currentPage", sPage.getThispage());
        
        
return mapping.findForward("success");
    }
}

IDAO.java

package
 dao;
import
 java.util.List;
import
 org.hibernate.criterion.DetachedCriteria;
public
 
interface
 IDAO 
{
   
public void save(Object obj);
   
public List list(final int firstRow,final int lastRow,final String hql);
   
public List list();
   
public void delete(Object obj);
   
public Object getPeople(Integer id);
   
public void editPeople(Object obj);
   
public List searchPeople(final int firstRow,final int  lastRow,final String hql);
   
public List searchPeople(final String sql);
}
StudentDAOImpl.java
package
 dao;
import
 java.sql.SQLException;
import
 java.util.ArrayList;
import
 java.util.List;
import
 org.hibernate.Criteria;
import
 org.hibernate.HibernateException;
import
 org.hibernate.Query;
import
 org.hibernate.Session;
import
 org.hibernate.criterion.DetachedCriteria;
import
 org.springframework.orm.hibernate3.HibernateCallback;
import
 org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import
 domain.People;
public
 
class
 StudentDAOImpl 
extends
 HibernateDaoSupport 
implements
 IDAO 
{
    
public List searchPeople(final int firstRow,final int lastRow,final String hql){
        
return getHibernateTemplate().executeFind(new HibernateCallback() 
            
public Object doInHibernate(Session s) throws HibernateException, SQLException 
                Query query 
= s.createQuery(hql); 
                query.setFirstResult(firstRow); 
                query.setMaxResults(lastRow); 
                List list 
= query.list(); 
             
                
return list; 
            }
 
        }
); 
    }
    
public List searchPeople(final String hql){
        
return getHibernateTemplate().executeFind(new HibernateCallback() 
            
public Object doInHibernate(Session s) throws HibernateException, SQLException 
                Query query 
= s.createQuery(hql); 
                List list 
= query.list();         
                
return list; 
            }
 
        }
); 
    }
    
public void save(Object obj) {
        
if(obj instanceof People){
            People people
=(People)obj;
            
try{
                getHibernateTemplate().save(people);
                
            }
catch(Exception e){
                e.printStackTrace();
            }
        }
    }
  
     
public List list(){
         
return getHibernateTemplate().find("from People");
     }
     
     
public List list(final int firstRow,final int lastRow,final String hql){
             
return getHibernateTemplate().executeFind(new HibernateCallback() 
                    
public Object doInHibernate(Session s) throws HibernateException, SQLException 
                        Query query 
= s.createQuery(hql); 
                        query.setFirstResult(firstRow); 
                        query.setMaxResults(lastRow); 
                        List list 
= query.list(); 
                     
                        
return list; 
                    }
 
                }
); 
    
     }
     
public void editPeople(Object obj){
         
if(obj instanceof People){
                People people
=(People)obj;
                
try{
                    getHibernateTemplate().saveOrUpdate(people);
                }
catch(Exception e){
                    e.printStackTrace();
                }
            }
     }
     
public Object getPeople(Integer id){
         
return getHibernateTemplate().get(People.class, id);
     }
     
public void delete(Object obj){
         
if(obj instanceof People){
             getHibernateTemplate().delete((People)obj);
         }
     }
}
AbstractPeople.java
package
 domain;
import
 org.apache.struts.action.ActionForm;
public
 
abstract
 
class
 AbstractPeople 
extends
 ActionForm 
implements
 java.io.Serializable 
{
    
// Fields    
     
private Integer id;
     
private String name;
     
private String location;
    
// Constructors
    
/** default constructor */
    
public AbstractPeople() {
    }
    
    
/** full constructor */
    
public AbstractPeople(String name, String location) {
        
this.name = name;
        
this.location = location;
    }
   
    
// Property accessors
    
public Integer getId() {
        
return this.id;
    }
    
    
public void setId(Integer id) {
        
this.id = id;
    }
    
public String getName() {
        
return this.name;
    }
    
    
public void setName(String name) {
        
this.name = name;
    }
    
public String getLocation() {
        
return this.location;
    }
    
    
public void setLocation(String location) {
        
this.location = location;
    }
   
}
People.hbm.xml
<?
xml version="1.0" encoding="utf-8"
?>
<!
DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"
>
<!--
 
    Mapping file autogenerated by MyEclipse - Hibernate Tools
-->
<
hibernate-mapping 
package
="domain"
>
    
<
class 
name
="People"
 table
="people"
  
>
        
<
id 
name
="id"
 type
="java.lang.Integer"
>
            
<
column 
name
="id"
 
/>
            
<
generator 
class
="increment"
></
generator
>
        
</
id
>
        
<
property 
name
="name"
 type
="java.lang.String"
>
            
<
column 
name
="name"
 length
="100"
 
/>
        
</
property
>
        
<
property 
name
="location"
 type
="java.lang.String"
>
            
<
column 
name
="location"
 length
="100"
 
/>
        
</
property
>
    
</
class
>
</
hibernate-mapping
>
People.java
package
 domain;
/**
 * People generated by MyEclipse - Hibernate Tools
 
*/
public
 
class
 People 
extends
 AbstractPeople 
implements
 java.io.Serializable 
{
    
// Constructors
    
/** default constructor */
    
public People() {
    }
    
    
/** full constructor */
    
public People(String name, String location) {
        
super(name, location);        
    }
   
}
IService.java
package
 service;
import
 java.util.List;
public
 
interface
 IService 
{
   
public void savePeople(Object obj);
   
public List listPeople(int firstRow,int lastRow,String hql);
   
public List listPeople();
   
public void deletePeople(Integer id);
   
public Object getPeople(Integer id);
   
public void editPeople(Object obj);
   
public List searchPeople(String hql);
   
public List searchPeople(int firstRow,int lastRow,String hql);
}

 

StudentManagerImpl.java

package
 service;
import
 java.util.ArrayList;
import
 java.util.List;
import
 dao.IDAO;
import
 domain.People;
public
 
class
 StudentManagerImpl 
implements
 IService 
{
    
private IDAO studentDAO;
    
public void savePeople(Object obj) {
       
if(obj instanceof People){
           People people
=(People)obj;
           studentDAO.save(people);
       }
       
      
    }
    
    
public List searchPeople(String hql){
        
return studentDAO.searchPeople(hql);
    }
    
public List searchPeople(int firstRow,int lastRow,String hql){
        
return studentDAO.searchPeople(firstRow, lastRow, hql);
    }
    
public List listPeople(int firstRow,int lastRow,String hql){
        List peopleList
=new ArrayList();
        
        peopleList
=studentDAO.list(firstRow,lastRow,hql);
        
return peopleList;
        
    }
    
public List listPeople(){
        
return studentDAO.list();
    }
    
public void editPeople(Object obj){
        
if(obj instanceof People){
               People people
=(People)obj;
               studentDAO.editPeople(people);
           }
    }
    
public Object getPeople(Integer id){
        
return studentDAO.getPeople(id);
    }
    
public void deletePeople(Integer id){
         studentDAO.delete(
this.getPeople(id));
    }
    
public IDAO getStudentDAO() {
        
return studentDAO;
    }
    
public void setStudentDAO(IDAO studentDAO) {
        
this.studentDAO = studentDAO;
    }
    
}

Character.java

 

package
 util;
import
 java.io.IOException;
import
 java.io.UnsupportedEncodingException;
import
 javax.servlet.ServletException;
import
 javax.servlet.http.HttpServletRequest;
import
 javax.servlet.http.HttpServletResponse;
import
 org.apache.struts.action.ActionMapping;
import
 org.apache.struts.action.RequestProcessor;
public
 
class
 Character 
extends
 RequestProcessor
{
    
protected boolean processRoles(HttpServletRequest request,
            HttpServletResponse response, ActionMapping mapping)
            
throws IOException, ServletException {
        
return super.processRoles(request, response, mapping);
    }
    
protected void processContent(HttpServletRequest request,
            HttpServletResponse response) 
{
        
try {
            request.setCharacterEncoding(
"gb2312");
            System.out.println(request.getCharacterEncoding());
        }
 catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        
super.processContent(request, response);
    }
}

PageSupport.java

package
 util;
public
 
class
 PageSupport 
{
    
int thispage = 0;// 当前页数
    int pagesize = 5;// 每页最大记录数
    int firstpage = 0;// 记录开始的位置
    int lastpage = 0;// 记录结束的位置
    int pagetotal = 0;// 总记录数
    int pagenums = 0;// 总页数
    
    
    
public PageSupport(String page){
        
if(page==null||page.equals("")){
            thispage
=1;
        }
        
else{
            thispage
=Integer.parseInt(page);
        }
    }
    
    
public  int calcFirstPage(){
        
    
        pagenums 
= pagetotal / pagesize;
        
if (pagetotal % pagesize != 0){
            pagenums 
= pagenums + 1;
        }
    
        
if (thispage > pagenums)
            thispage 
= pagenums;
        
else if(thispage<=0){
            thispage
=1;
        }
        
        
if(thispage<=1){
            firstpage
=1;
        }
        
else{
            firstpage 
= (thispage-1* pagesize+1;
        }
        
return this.firstpage;
    }
    
public int calcLastPage(){
        
return this.pagesize;
    }
    
    
    
    
public int getFirstpage() {
        
return firstpage;
    }
    
public void setFirstpage(int firstpage) {
        
this.firstpage = firstpage;
    }
    
public int getLastpage() {
        
return lastpage;
    }
    
public void setLastpage(int lastpage) {
        
this.lastpage = lastpage;
    }
    
public int getPagenums() {
        
return pagenums;
    }
    
public void setPagenums(int pagenums) {
        
this.pagenums = pagenums;
    }
    
public int getPagesize() {
        
return pagesize;
    }
    
public void setPagesize(int pagesize) {
        
this.pagesize = pagesize;
    }
    
public int getPagetotal() {
        
return pagetotal;
    }
    
public void setPagetotal(int pagetotal) {
        
this.pagetotal = pagetotal;
    }
    
public int getThispage() {
        
return thispage;
    }
    
public void setThispage(int thispage) {
        
this.thispage = thispage;
    }
    
    
}
 
 
addStudent.jsp
<%
@ page language="java" contentType="text/html;charset=gb2312"
%>
<!
DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
>
<
html
>
  
<
head
>
  
</
head
>
  
  
<
body
>
  
    
<
form 
action
="/StudentManager/savePeople.do"
 method
="post"
>
       姓名:
<
input 
type
="text"
 name
="name"
/><
br
>
       籍贯:
<
input 
type
="text"
 name
="location"
/><
br
>
      
<
input 
type
="submit"
 name
="submit"
 value
="提交"
/>
    
</
form
>
    
    
<
href
="searchStudent.jsp"
>
查询
</
a
>
  
</
body
>
</
html
>
editStudent.jsp
<%
@ page language="java" contentType="text/html;charset=gb2312"
%>
<!
DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
>
<
html
>
  
<
head
>
  
</
head
>
  
  
<
body
>
  
    
<
form 
action
="/StudentManager/editPeopleDo.do"
 method
="post"
>
      
<
input 
type
="hidden"
 name
="id"
 value
="<%=request.getAttribute("
id") %
>
"/>
       姓名:
<
input 
type
="text"
 name
="name"
 value
="<%=request.getAttribute("
name") %
>
"/>
<
br
>
       籍贯:
<
input 
type
="text"
 name
="location"
 value
="<%=request.getAttribute("
location") %
>
"/>
<
br
>
      
<
input 
type
="submit"
 name
="submit"
 value
="提交"
/>
    
</
form
>
  
</
body
>
</
html
>
searchList.jsp
<%
@ page language="java" contentType="text/html;charset=gb2312"
%>
<%
@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" 
%>
<%
@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" 
%>
<%
@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" 
%>
<!
DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
>
<
html
>
  
<
head
>
  
<%
     
int previousPage=((Integer)request.getAttribute("currentPage")).intValue()-1;
     
int nextPage=((Integer)request.getAttribute("currentPage")).intValue()+1;
   
%>
  
</
head
>
  
  
<
body
>
  
   
<
table 
border
=1
>
      
<
tr
>
         
<
td
>
姓名
</
td
><
td
>
籍贯
</
td
><
td 
align
="center"
>
操作
</
td
>
      
</
tr
>
      
      
<
logic:present 
name
="studentList"
 scope
="request"
>
         
<
logic:iterate 
id
="student"
 name
="studentList"
>
           
<
tr
>
            
<
td
><
bean:write 
name
="student"
 property
="name"
/></
td
>
            
<
td
><
bean:write 
name
="student"
 property
="location"
/></
td
>
            
<
td 
align
="center"
><
href
="/StudentManager/deletePeople.do?id=<bean:write name="
student" property
="id"
/>
">删除
</
a
>
&nbsp;
<
href
="/StudentManager/editPeople.do?id=<bean:write name="
student" property
="id"
/>
">修改
</
a
></
td
>
            
</
tr
>
         
</
logic:iterate
>
      
</
logic:present
>
   
</
table
>
   
<
href
="/StudentManager/searchPeople.do?page=<%=previousPage%>"
>
上一页
</
a
>
   
<
href
="/StudentManager/searchPeople.do?page=<%=nextPage%>"
>
下一页
</
a
>
   
   
<
br
><
br
>
     
<
href
="addStudent.jsp"
>
新增
</
a
>
   
<
href
="searchStudent.jsp"
>
查询
</
a
>
  
</
body
>
</
html
>
searchStudent.jsp
<%
@ page language="java" contentType="text/html;charset=gb2312"
%>
<!
DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
>
<
html
>
  
<
head
>
  
</
head
>
  
  
<
body
>
    输入查询条件:
    
<
form 
action
="/StudentManager/searchPeople.do"
 method
="post"
>
       姓名:
<
input 
type
="text"
 name
="name"
/><
br
>
       籍贯:
<
input 
type
="text"
 name
="location"
/><
br
>
      
<
input 
type
="submit"
 name
="submit"
 value
="查询"
/>
    
</
form
>
  
</
body
>
  
<
href
="addStudent.jsp"
>
新增
</
a
>
</
html
>

 

studentList.jsp

<%
@ page language="java" contentType="text/html;charset=gb2312"
%>
<%
@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" 
%>
<%
@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" 
%>
<%
@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" 
%>
<!
DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
>
<
html
>
  
<
head
>
  
<%
     
int previousPage=((Integer)request.getAttribute("currentPage")).intValue()-1;
     
int nextPage=((Integer)request.getAttribute("currentPage")).intValue()+1;
   
%>
  
</
head
>
  
  
<
body
>
  
   
<
table 
border
=1
>
      
<
tr
>
         
<
td
>
姓名
</
td
><
td
>
籍贯
</
td
><
td 
align
="center"
>
操作
</
td
>
      
</
tr
>
      
      
<
logic:present 
name
="studentList"
 scope
="request"
>
         
<
logic:iterate 
id
="student"
 name
="studentList"
>
           
<
tr
>
            
<
td
><
bean:write 
name
="student"
 property
="name"
/></
td
>
            
<
td
><
bean:write 
name
="student"
 property
="location"
/></
td
>
            
<
td 
align
="center"
><
href
="/StudentManager/deletePeople.do?id=<bean:write name="
student" property
="id"
/>
">删除
</
a
>
&nbsp;
<
href
="/StudentManager/editPeople.do?id=<bean:write name="
student" property
="id"
/>
">修改
</
a
></
td
>
            
</
tr
>
         
</
logic:iterate
>
      
</
logic:present
>
   
</
table
>
   
<
href
="/StudentManager/listPeople.do?page=<%=previousPage%>"
>
上一页
</
a
>
   
<
href
="/StudentManager/listPeople.do?page=<%=nextPage%>"
>
下一页
</
a
>
   
   
<
br
><
br
>
   
<
href
="addStudent.jsp"
>
新增
</
a
>
   
<
href
="searchStudent.jsp"
>
查询
</
a
>
  
</
body
>
</
html
>
 

转载地址:http://yzihb.baihongyu.com/

你可能感兴趣的文章
foss测试_2014年FOSS十大法律发展
查看>>
本周最热门的5篇文章:Raspberry Pi A +,Ansible和Jen的Linux历程
查看>>
owncloud_一周前五篇文章:Linux理念,ownCloud集成等
查看>>
最佳 开源 人脸识别算法_本周最佳5篇文章:今年最佳开源,以及更多
查看>>
firefox 开源_一周最热门的5篇文章:移动版Firefox OS和年度开源奇迹
查看>>
18年开源前端框架排名_2014年排名前20位的开源故事
查看>>
十大开源项目_2014年十大开源访谈
查看>>
展望2019年_感谢您创纪录的一年(并展望2015年)
查看>>
go开源项目整理-新手篇_一周的前5篇文章:您正在从事什么开源项目?
查看>>
您不懂JavaScript,但您应该
查看>>
医疗项目 开源_免费和开源医疗保健成功的背后是什么?
查看>>
开源教学系统_通过开源进行教学和口语学习
查看>>
命令行python路径命令_探索命令行英雄中Python的过去,现在和未来
查看>>
Codethink开源是入职流程的一部分
查看>>
kubernetes 集群_使用k9s加速Kubernetes集群的管理
查看>>
fsf不推荐debian_FSF揭示了他们用于聊天,视频等的工具
查看>>
kubernetes 应用_Kubernetes如何保存我的桌面应用程序
查看>>
kubectl命令_系统管理员需要了解的9个kubectl命令
查看>>
ansible 视频_Jeff Geerling的Ansible 101视频以及更多Ansible新闻
查看>>
git meld不支持_不爱差异吗? 改用Meld
查看>>