Struts+Spring+Hibernate入门实例

25 篇文章 0 订阅
11 篇文章 0 订阅

      网上有很多关于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 >
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值