如题。。我是新手,请高手指点

解决方案 »

  1.   

    1.web.xml
    2.action的xml
    3.spring的xml
    4.hibernate的xml
    5.如果用spring注入相关,还要加相关service的xml
      

  2.   

    baidu  J2EE  SSH  环境搭建
    配置文件很多,说不过来
      

  3.   

    http://blog.csdn.net/cai5/article/details/6565523S2SH -CRUD简单示例 
      

  4.   

    S2SH -CRUD简单示例            
    一、 准备工作
     开发环境:tomcat5+jdk6+mysql5+eclipse:eclipse-jee-helios-SR1-win32.zip.  
     struts2+Spring2.0.6+Hibernate3.1。本示例通过对一个人力资源的系统,提供基本的增加、删除、修改、查询等功能。
     lib包需要以下所示的这些包: 
         antlr-2.7.6.jar                                                                                                                                                  
         commons-collections-3.2.jar
         commons-dbcp.jar
         commons-digester-2.0.jar
         commons-fileupload-1.2.1.jar
         commons-io-1.3.2.jar
         commons-logging-1.0.4.jar
         commons-pool.jar
         dom4j-1.6.1.jar
         freeer-2.3.16.jar
         hibernate3.jar
         javassist-3.9.0.GA.jar
         jta-1.1.jar
         log4j-1.2.15.jar
         mysql-connector-java-5.1.6-bin.jar(MySQL jar包)   
         ognl-3.0.jar    
         slf4j-api-1.5.8.jar
         slf4j-log4j12-1.5.0.jar
         spring.jar
         struts2-core-2.2.1.jar
         struts2-spring-plugin-2.2.1.jar
         xwork-core-2.2.1.jar  
         
    二、建立数据库
        create database stud ;
        
        use stud ;
        create table Employee(id int(11) not null auto_increment,name varchar(255) ,address varchar(255) ,phone varchar(255) ,primary key (id)) ;
        三、建立数据化持久层
    建立Hibernate逆向工程
    1、建立实体类及books.hbm.xml映射文件。
    Employee.javapackage com.ex.model;public class Employee { private Long id ;
     private String name ;
     private String address ;
     private String phone ;
     public Long getId() {
      return id;
     }
     public void setId(Long id) {
      this.id = id;
     }
     public String getName() {
      return name;
     }
     public void setName(String name) {
      this.name = name;
     }
     public String getAddress() {
      return address;
     }
     public void setAddress(String address) {
      this.address = address;
     }
     public String getPhone() {
      return phone;
     }
     public void setPhone(String phone) {
      this.phone = phone;
     }
     
     public Employee(){
      
     }
     
     public Employee(Long id, String name, String address, String phone) {
      super();
      this.id = id;
      this.name = name;
      this.address = address;
      this.phone = phone;
     }
     
     
    }
    2、把实体类Employee的属性映射到Employee表,生成下面的Employee.hbm.xml文件(com/ex/model/Employee.hbm.xml):
    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC
            "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
            "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><hibernate-mapping>    <class name="com.ex.model.Employee" table="Employee" lazy="true">
         <id name="id" type="java.lang.Long" column="id">
          <generator class="native" />
         </id>
         <property name="name" type="java.lang.String">
          <column name="name" />
         </property>
      <property name="address" type="java.lang.String">
       <column name="address" />
      </property>
      <property name="phone" type="java.lang.String">
       <column name="phone" />
      </property>
        </class>
    </hibernate-mapping>
    四、建立DAO层 
    1、建立DAO的接口类:EmployeeDao
    EmployeeDao.java
    package com.ex.dao;import java.util.List;import com.ex.model.Employee;public interface EmployeeDao { public void add(Employee employee) ;//添加新雇员
     public Employee getEmployee(Long id) ;//根据雇员ID得到雇员信息
     public List< Employee> getEmployees() ;//获取所有雇员信息
     public void delete(Long id ) ;//根据雇员ID,删除雇员
     public void saveOrUpdate(Employee employee) ;//修改或更新雇员信息
     public List< Employee> getEmployee(String name, String phone) ;//判断是否合法雇员
     
    }2、实现此接口的类文件,EmployeeDaoImpl
    EmployeeDaoImpl.java
    package com.ex.dao.impl;import java.util.List;import com.ex.dao.EmployeeDao;
    import com.ex.model.Employee;
    import org.hibernate.SessionFactory; 
    import org.springframework.orm.hibernate3.support.HibernateDaoSupport; public class EmployeeDaoImpl extends HibernateDaoSupport implements EmployeeDao { private SessionFactory sessionFactory ;
     
     public void setFactory(SessionFactory sessionFactory){
      
      this.sessionFactory = sessionFactory ;
     }
     public SessionFactory getFactory(){
      
      return this.sessionFactory ;
     }
     @Override
     public void add(Employee employee) {  this.getHibernateTemplate().save( employee) ;
     } @Override
     public Employee getEmployee(Long id) {  return (Employee) this.getHibernateTemplate().get(Employee.class, id) ;
     } @SuppressWarnings("unchecked")
     @Override
     public List<Employee> getEmployees() {
      
      return this.getHibernateTemplate().find("from Employee order by id" ) ;
     } @Override
     public void delete(Long id) {  this.getHibernateTemplate().delete(this.getEmployee(id)) ;
     } @Override
     public void saveOrUpdate(Employee employee) {  this.getHibernateTemplate().saveOrUpdate(employee) ;
     } @SuppressWarnings("unchecked")
     @Override
     public List<Employee> getEmployee(String name, String phone) {  Object values[] ={name, phone} ;
      System.out.println("查询的结果是:"+ name + "   "+ phone) ;
      return this.getHibernateTemplate().find("from Employee e where e.name=? and e.phone=? order by id", values) ;
      
     }}
    五、 建立业务逻辑层
    注明:在业务逻辑层需要认真思考每个业务逻辑所能用到的持久层对象和DAO。DAO层之上是业务逻辑层,DAO类可以有很多个,但业务逻辑类应该只有一个,可以在业务逻辑类中调用各个DAO类进行操作。
    1、创建服务接口类EmployeeManager
    EmployeeManager.java
    package com.ex.service;import java.util.List;import com.ex.model.Employee;public interface EmployeeManager { public void addEmployee(Employee employee) ;
     public List< Employee> listEmployee() ;
     public void deleteEmployee(Long id) ;
     public void saveOrUpdate(Employee employee) ;
     public Employee getEmployee(Long id) ;
     public Employee getEmployee(String name, String phone) ;
     
     
    } 2、实现此接口类:EmployeeManagerImpl:
    EmployeeManagerImpl.java
    package com.ex.service.impl;import java.util.List;import com.ex.dao.EmployeeDao;
    import com.ex.model.Employee;
    import com.ex.service.EmployeeManager;public class EmployeeManagerImpl implements EmployeeManager { private EmployeeDao employeeDao ;
     
     public void setEmployeeDao(EmployeeDao employeeDao){
      
      this.employeeDao = employeeDao ;
     }
     public EmployeeDao getEmployeeDao(){
      
      return this.employeeDao ;
     }
     @Override
     public void addEmployee(Employee employee) {  this.employeeDao.add(employee) ; } @Override
     public List<Employee> listEmployee() {
      
      return this.employeeDao.getEmployees() ;
      
     } @Override
     public void deleteEmployee(Long id) {
      
      this.employeeDao.delete(id) ; } @Override
     public void saveOrUpdate(Employee employee) {  this.employeeDao.saveOrUpdate(employee) ;
     } @Override
     public Employee getEmployee(Long id) {  return  this.employeeDao.getEmployee(id) ;
     } @Override
     public Employee getEmployee(String name, String phone) {  List< Employee> list = this.employeeDao.getEmployee(name, phone) ;
      if (list != null && list.size() >0){
       return list.get( 0 ) ;
      }else{
       return null ;
      }
     }}
    六、 创建Action类:EmployeeAction.java:EmployeeAction.java
    package com.ex.action;import java.util.List;import com.ex.model.Employee;
    import com.ex.service.EmployeeManager;
    import com.opensymphony.xwork2.ActionSupport;public class EmployeeAction extends ActionSupport { private static final long serialVersionUID = 1L; private EmployeeManager employeeManager;
     private List<Employee> employees;
     private Employee employee;
     private Long id;
     private Long[] ids;
     private String name;
     private String phone; public EmployeeManager getEmployeeManager() {
      return employeeManager;
     } public void setEmployeeManager(EmployeeManager employeeManager) {
      this.employeeManager = employeeManager;
     } public List<Employee> getEmployees() {
      return employees;
     } public void setEmployees(List<Employee> employees) {
      this.employees = employees;
     } public Employee getEmployee() {
      return employee;
     } public void setEmployee(Employee employee) {
      this.employee = employee;
     } public Long getId() {
      return id;
     } public void setId(Long id) {
      this.id = id;
     } public Long[] getIds() {
      return ids;
     } public void setIds(Long[] ids) {
      this.ids = ids;
     } public String getName() {
      return name;
     } public void setName(String name) {
      this.name = name;
     } public String getPhone() {
      return phone;
     } public void setPhone(String phone) {
      this.phone = phone;
     } // action
     public String add() {
      if (this.employeeManager.getEmployee(employee.getName(),
        employee.getPhone()) != null) {
       return INPUT;
      } else {
       this.employeeManager.addEmployee(employee);
       return SUCCESS;
      } } public String list() {
      this.employees = this.employeeManager.listEmployee();
      if (this.employees.size() > 0) {
       return SUCCESS;
      } else {
       return INPUT;
      }
     } public String delete() {
      if (null != this.id) {
       this.employeeManager.deleteEmployee(this.id);
      } else {
       if (ids.length > 0) {
        for (Long id : ids) {
         this.employeeManager.deleteEmployee(id);
        }
       }
      }
      if (this.employeeManager.listEmployee().size() > 0) {
       return SUCCESS;
      } else {
       return INPUT;
      } } public String saveOrUpdate() {  this.employeeManager.saveOrUpdate(employee);
      return SUCCESS; } public String edit() {  this.employee = this.employeeManager.getEmployee(id);
      return SUCCESS; } public String save() {
      Long id = this.employee.getId();
      employee = this.employeeManager.getEmployee(id);
      return SUCCESS;
     } public String update() {  Long id = this.employee.getId();
      this.employeeManager.saveOrUpdate(employee);
      return SUCCESS;
     } public String login() {
      Employee emp = this.employeeManager.getEmployee(name, phone);
      List list = this.employeeManager.listEmployee();
      if (null != emp) {
       return SUCCESS;
      } else {
       if (list.size() > 0) {
        return INPUT;
       } else {
        return ERROR;
       }
      } }
    }
      

  5.   

    楼上的很细心,不知道lz能看懂不?不知道你学没学过SSH框架,通过你的问题我猜你没学过。
      

  6.   

    The import org.springframework.orm cannot be resolved是不是少了spring jar文件?谁知道是少了那个jar包呢?
      

  7.   

    [code=Java][package com.experiment.Dao.DapImpl;import java.util.List;import org.hibernate.SessionFactory;
    import org.springframework.orm.hibernate3.support.HibernateDaoSupport;import com.experiment.Dao.UserManagerDao;
    import com.experiment.vo.UserInfo;public class UserManagerDaoImpl implements UserManagerDao {  private SessionFactory sessionFactory ;
     
     public void setFactory(SessionFactory sessionFactory){
      
      this.sessionFactory = sessionFactory ;
     }
     public SessionFactory getFactory(){
      
      return this.sessionFactory ;
     }
    public void add(UserInfo usr) {
    // TODO Auto-generated method stub
    this.getHibernateTemplate().save(user);
    } public void delete(int id) {
    // TODO Auto-generated method stub
    this.getHibernateTemplate().delete(this.getUser(id));
    } public UserInfo getUser(int id) {
    // TODO Auto-generated method stub
    return (UserInfo) this.getHibernateTemplate().get(UserInfo.class,id);
    } public List<UserInfo> getUser(String name, String account) {
    // TODO Auto-generated method stub
    Object values[] ={name,account};
    System.out.println("查询的结果是:"+name+" "+account);
    return this.getHibernateTemplate().find("from UserTable t where t.name=? and t.account=? order by id");
    } public List<UserInfo> getUsers() {
    // TODO Auto-generated method stub
    return this.getHibernateTemplate().find("from UserTable order by id");
    } public void saveOrUpdate(UserInfo user) {
    // TODO Auto-generated method stub
    this.getHibernateTemplate().saveOrUpdate(user) ;
    }
    }]this.getHibernateTemplate().这是什么错误?为什么下面有红线?