搭建SSH开发环境.doc_第1页
搭建SSH开发环境.doc_第2页
搭建SSH开发环境.doc_第3页
搭建SSH开发环境.doc_第4页
搭建SSH开发环境.doc_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

搭建搭建 SSHSSH 开发环境开发环境 目录目录 1.1.环境准备环境准备 1 1.1 Spring.1 1.2 Struts2.1 1.3 Hibernate.1 1.4 jdbc driver.2 1.5 Apache commons jar.2 2.2.集成集成 SSHSSH .2 2.1 新建 Dynamic Web Project.2 2.2 编写测试代码.3 2.2.1 新建 databean.3 2.2.2 编写 hibernate 映射文件.4 2.2.3 编写业务 bean4 2.2.4编写 Spring 配置文件8 2.2.5 编写 JUnit 测试代码.9 2.3 集成 struts2.12 2.3.1 引入 struts2 依赖 jar12 2.3.2 编写控制层代码.12 2.3.3 编写 struts2 配置文件.14 2.3.4 修改 spring 配置文件.15 2.3.5 编写 jsp 代码.15 2.3.6 修改 web.xml.16 2.3.7 测试17 参考资料参考资料 19 1 / 20 1.1. 环境准备环境准备 1.11.1 SpringSpring url:/ 下载:spring-framework-2.5.6.SEC02.zip 所需 jar : 序号文件路径 1spring.jar/dist 2spring-aspects.jar/dist/weaving 1.21.2 Struts2Struts2 url:/ 下载:struts--lib.zip 所需 jar : 序号文件路径 1commons-fileupload-1.2.1.jar/lib 2commons-io-1.3.2.jar/lib 3freemarker-2.3.15.jar/lib 4ognl-2.7.3.jar/lib 5struts2-core-.jar/lib 6struts2-spring-plugin-.jar/lib 7xwork-core-2.1.6.jar/lib 1.31.3 HibernateHibernate url:/projects/hibernate/files/ 下载:hibernate-distribution-3.5.3-Final-dist.zip hibernate-annotations-3.4.0.GA.zip 所需 jar : hibernate-distribution-3.5.3-Final-dist.zip 序号文件路径 1hibernate3.jar/ 2antlr-2.7.6.jar/lib/required 3commons-collections-3.1.jar/lib/required 4dom4j-1.6.1.jar/lib/required 5javassist-3.9.0.GA.jar/lib/required 6jta-1.1.jar/lib/required 7slf4j-api-1.5.8.jar/lib/required 8ehcache-1.5.0.jar/Lib/optional/ehcache hibernate-annotations-3.4.0.GA.zip 2 / 20 序号文件路径 1ejb3-persistence.jar/lib 2log4j.jar/lib/test 3slf4j-log4j12.jar/lib/test 1.41.4 jdbcjdbc driverdriver url:/downloads/connector/j/ 下载:mysql-connector-java-5.1.13.zip 所需 jar : 序号文件路径 1mysql-connector-java-5.1.13-bin.jar/ 1.51.5 ApacheApache commonscommons jarjar url:/ 下载:commons-dbcp-1.3-bin.zip commons-pool-1.5.4-bin.zip commons-logging-1.1.1-bin.zip 所需 jar : commons-dbcp-1.3-bin.zip 序号文件路径 1commons-dbcp-1.3.jar/ commons-pool-1.5.4-bin.zip 序号文件路径 1commons-pool-1.5.4.jar/ commons-logging-1.1.1-bin.zip 序号文件路径 1commons-logging-1.1.1.jar/ 2commons-logging-api-1.1.1.jar/ 2.2. 集成集成 SSHSSH 2.12.1 新建新建 DynamicDynamic WebWeb ProjectProject a. 打开 Eclipse - 打开 Java EE Perspective (Window - Open Perspective - Other. - Java EE) - 打开 Package Explorer View (Window - Show View - Other. - Package Explorer) b. 新建 Project File - New - Dynamic Web Project - 输入 Project name: SSH,单击 Next - 修改 Default output folder: WebContent/WEB-INF/classes,单击 Finish c. 设置项目编码 utf-8 选中 SSH - Project - Properties - Resource - Text file encoding 3 / 20 - Other: UTF-8 - Apply d. 设置编译级别 选中 SSH - Project - Properties - Java Compiler - 选择 Compiler compliance level: 1.5 e. 添加 JUnit 支持 选中 SSH - Project - Properties - Java Build Path - Libraries - Add Library. - 选择 JUnit,单击 Next - 选择 JUnit Library version: JUnit 4 - Finish f. 添加 Spring, Hibernate, jdbc driver 及 Apache commons 的所需 jar 将需要的 jar 复制到 WebContent/WEB-INF/lib 目录中 - 选中 SSH - Project - Properties - Java Build Path - Libraries - 展开 Web App Libraries - 确认所需 jar 文件已在 build path 中 2.22.2 编写测试代码编写测试代码 .1 新建新建 databeandatabean / org.demo.bean.Person.javaPerson.java package org.demo.bean; /* * databean:Person * author * date 2010-7-17 * file org.demo.bean.Person.java */ public class Person private int id; private String name; public Person() public Person(String name) = name; public int getId() return id; public void setId(int id) this.id = id; public String getName() return name; public void setName(String name) = name; 4 / 20 Override public String toString() return “Person id=“ + id + “, name=“ + name + “; .2 编写编写 hibernatehibernate 映射文件映射文件 / org.demo.bean.Person.hbm.xmlPerson.hbm.xml 注:hibernate 映射文件的模板参见 hibernate-distribution-3.5.3-Final /documentation/manual/zh-CN/pdf/hibernate_reference.pdf 第 5 章对象/关系数据库映射基础(Basic O/R Mapping) .3 编写业务编写业务 beanbean / org.demo.service.PersonService.javaPersonService.java package org.demo.service; import java.util.List; import org.demo.bean.Person; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; /* * 业务层:PersonService * author * date 2010-7-20 5 / 20 * file org.demo.service.PersonService.java */ public interface PersonService /* * 保存 * param person */ public abstract void save(Person person); /* * 修改 * param person */ public abstract void update(Person person); /* * 删除 * param personId */ public abstract void delete(int personId); /* * 删除所有 */ public abstract void deleteAll(); /* * 获取 * param personId * return */ Transactional(readOnly = true, propagation = Propagation.NOT_SUPPORTED) public abstract Person get(int personId); /* * 分页查询 startRow get(int startRow,int maxResult); /* * 获取全部 6 / 20 * return */ Transactional(readOnly = true, propagation = Propagation.NOT_SUPPORTED) public abstract List getAll(); /org.demo.service.impl.PersonServiceImpl.javaPersonServiceImpl.java package org.demo.service.impl; import java.util.List; import org.demo.bean.Person; import org.demo.service.PersonService; import org.hibernate.Query; import org.hibernate.SessionFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; /* * 业务层:PersonBeanImpl * author * date 2010-7-20 * file org.demo.service.impl.PersonServiceImpl.java */ Transactional public class PersonServiceImpl implements PersonService Autowired /Resource /在 jdk1.6下 private SessionFactory sessionFactory; /* * 保存 * param person */ public void save(Person person) sessionFactory.getCurrentSession().persist(person); /* * 修改 * param person */ public void update(Person person) sessionFactory.getCurrentSession().merge(person); /* 7 / 20 * 删除 * param personId */ public void delete(int personId) Object bean = sessionFactory .getCurrentSession().load(Person.class,personId); sessionFactory.getCurrentSession().delete(bean); /* * 删除所有 */ public void deleteAll() List list = getAll(); for (int i=0; i get(int startRow,int maxResult) Query query = sessionFactory.getCurrentSession() .createQuery(“from Person“); query.setFirstResult(startRow); query.setMaxResults(maxResult); return query.list(); /* * 获取全部 * return */ 8 / 20 SuppressWarnings(“unchecked“) Transactional(readOnly=true,propagation=Propagation.NOT_SUPPORTED) public List getAll() return sessionFactory.getCurrentSession() .createQuery(“from Person“).list(); .4 编写编写 SpringSpring 配置文件配置文件 / src/beans.xml 9 / 20 org/demo/bean/Person.hbm.xml hibernate.dialect=org.hibernate.dialect.MySQL5Dialect hibernate.hbm2ddl.auto=update hibernate.show_sql=false hibernate.format_sql=false 注:Spring 配置文件的模板参见 /spring/docs/2.5.x/reference/xsd-config.html#xsd-config-body .5 编写编写 JUnitJUnit 测试代码测试代码 / test.junit.PersonServiceTest.javaPersonServiceTest.java package test.junit; import java.util.List; import org.demo.bean.Person; import org.demo.service.PersonService; import org.junit.BeforeClass; import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; /* * JUnit测试类:PersonServiceTest * author 10 / 20 * date 2010-7-20 * file test.junit.PersonServiceTest.java */ public class PersonServiceTest private static PersonService bean = null; BeforeClass public static void setUpBeforeClass() throws Exception try ApplicationContext ctx = new ClassPathXmlApplicationContext(“beans.xml“); bean = (PersonService)ctx.getBean(“personService“); catch (Exception e) e.printStackTrace(); Test public void testAllMethods() System.out.println(“+-save-+“); testSave(); testGetAll(); System.out.println(“+-update-+“); testUpdate(); testGetAll(); System.out.println(“+-get-+“); testGet(); System.out.println(“+-getAll-+“); testGetAll(); System.out.println(“+-delete-+“); testDelete(); testGetAll(); System.out.println(“+-deleteAll-+“); testDeleteAll(); testGetAll(); Test public void testSave() bean.save(new Person(“Zhangsan“); bean.save(new Person(“Lisi“); Test public void testUpdate() 11 / 20 Person person = new Person(“Zhangsan_uu“); / 注:此处 id 须修改 person.setId(1); bean.update(person); Test public void testDelete() / 注:此处 id 须修改 bean.delete(1); Test public void testDeleteAll() bean.deleteAll(); Test public void testGet() / 注:此处 id 须修改 Person person = bean.get(1); System.out.println(person); Test public void testGetPage() List list = bean.get(10,10); for(int i=0; i list = bean.getAll(); for(int i=0; i 选中 SSH - Project - Properties - Java Build Path - Libraries - 展开 Web App Libraries - 确认所需 jar 文件已在 build path 中 .2 编写控制层代码编写控制层代码 / org.demo.action.PersonAction.javaPersonAction.java package org.demo.action; import java.util.List; import javax.servlet.ServletRequest; import org.apache.struts2.ServletActionContext; import org.demo.bean.Person; import org.demo.service.PersonService; import org.springframework.beans.factory.annotation.Autowired; import com.opensymphony.xwork2.ActionSupport; /* * 控制层:PersonAction * author * date 2010-7-21 * file org.demo.action.PersonAction.java */ public class PersonAction extends ActionSupport 13 / 20 /* * */ private static final long serialVersionUID = 1L; Autowired private PersonService personService; /* * viewbean */ private Person person; /* * 转到增加页面 * return */ public String addUI() return “addUI“; /* * 保存 * return */ public String save() / 保存数据 personService.save(person); / new 一个新的 person person = new Person(); / 返回到查询页 return list(); /* * 查询所有 * return */ public String list() / 查询数据 List list = personService.getAll(); / 将数据放到 request 中 ServletRequest request = ServletActionContext.getRequest(); request.setAttribute(“personList“, list); / 返回 return “list“; /* 14 / 20 * get person * return */ public Person getPerson() return perso

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论