视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001 知道1 知道21 知道41 知道61 知道81 知道101 知道121 知道141 知道161 知道181 知道201 知道221 知道241 知道261 知道281
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
项目OA之框架搭建整合基于SSH,Jquery,MySQL
2020-11-09 07:52:00 责编:小采
文档

1.重中之重项目的开始一些的准备工作是很多的,比如数据库的创建,表的设计,需求的分析,框架环境的搭建等等,其实OA系统是很锻炼大家的知识整合在这里我们用到了很多的知识比如SSH包括如何整合如何搭建环境,前端包括Jquery JS html css,数据库运用的MySQ

1.重中之重项目的开始一些的准备工作是很多的,比如数据库的创建,表的设计,需求的分析,框架环境的搭建等等,其实OA系统是很锻炼大家的知识整合在这里我们用到了很多的知识比如SSH包括如何整合如何搭建环境,前端包括Jquery JS html css,数据库运用的MySQL,系统中涉及工作流的支持,论坛,MD5加密技术等等很多使用的模块,具体的设计思想上传到附件。

2.首先项目的第一步就是环境的搭建和测试,一个良好的项目结构是成功的一半,从老师的讲解中明白了很多的东西也学到很多,结构和所需的jar包如下:


jar包是第一步之后add一下,一个都不能少。

3.第三步首先添加struts2的支持,web.xml struts.xml这2个文件首先添加到项目中,具体的代码如下:

web.xml 默认拦截所有请求





	
	
	org.springframework.web.context.ContextLoaderListener
	
	
	contextConfigLocation
	classpath:applicationContext*.xml
	


	
	
	struts2
	org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
	
	
	struts2
	/*
	


	
	index.jsp
	

struts.xml 下面已经配置好了一个action是因为测试需要用到




	
 
	
 



 
	
	
	 /success.jsp
	

 

4.第四步添加Hibernate支持 首先是Hibernate.cfg.xml 数据库的连接信息单独写在jdbc.properties文件中,是因为大家都是用这不同的DB方便更换DB,然后就是添加一个User.hbm.xml文件

Hibernate.cfg.xml 为了方便测试已经写了一个hbm文件映射





	
	org.hibernate.dialect.MySQL5Dialect
	

	
	true
	update

	


jdbc.properties
jdbcUrl	= jdbc:mysql:///oa
driverClass	= com.mysql.jdbc.Driver
username	= root
password	= 123

User.hbm.xml






 

 
 
 
 
 
 
 
 
 
	
	

 

5.第五步也是最重要的一步添加spring支持,首先是applicationContext.xml文件

applicationContext.xml 内容比较多哟C3p0连接池,自动扫描,加载外部属性文件,配置sessionFactory,事务管理,基于注解的





	
	


	
	


	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	

	
	
	
	
	
	


	
	
	
	
	
	


6.至此SSH环境搭建好,下面需要通过测试在投入到项目下一步,具体测试代码如下,首先测试最重要的sessionFactory和Transcation(以上同时也已经将Hibernate与Spring整合完毕,整合的主要是将sessionFactory交给spring容器管理,其实Hibernate的配置文件都可以不要也行,都交给spring)

建立SpringTest.java

package com.icss.spring;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.hibernate.SessionFactory;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class SpringTest {

	private ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");

	

	// 测试SessionFactory
	@Test
	public void testSessionFactory() throws Exception {
	SessionFactory sessionFactory = (SessionFactory) ac.getBean("sessionFactory");
	System.out.println(sessionFactory);

	}
 // 测试事务
	@Test
	public void testTranscation(){
	
	UserService userService=(UserService) ac.getBean("userService");
	userService.saveTwoUsers();
	}
	
}
使用junit运行testSessionFactory打印台如果能打印出sessionFactory信息则成功:

下面测试事务,事务需要与数据库有关系,首先建立一个保存2个User的方法,利用Service层,建立一个User实体类

package com.icss.spring;

public class User {
 
	private Integer id;
	private String name;
	
	public Integer getId() {
	return id;
	}
	public void setId(Integer id) {
	this.id = id;
	}
	public String getName() {
	return name;
	}
	public void setName(String name) {
	this.name = name;
	}
	
	
}
在建立UserService 需要注意的是因为我们采用的是基于注解的方式,所以对于各种注解应该熟悉
package com.icss.spring;

import javax.annotation.Resource;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@Service
public class UserService {
	
	@Resource
	private SessionFactory sessionFactory ;
	@Transactional
	public void saveTwoUsers(){
	Session session=	sessionFactory.getCurrentSession();
	session.save(new User());
	session.save(new User());
	
	}

}
下面就到SpringTest调用,运行保存方法,如果在数据库中看到数据则成功,因为是new没设È,所以name为空。


7.下面可以测试下Struts2支持,同时也整合spring与struts2

首先建立TestAction 此处直接整合spring基于注解的,其中Scope是让其变成多例因为你不可能一个action只new一次,resource注入Service层

package com.icss.spring;

import javax.annotation.Resource;

import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;

import com.opensymphony.xwork2.ActionSupport;

@Controller
@Scope("prototype")
public class TestAction extends ActionSupport {

	@Resource
	private TestService testService;

	@Override
	public String execute() throws Exception {
	System.out.println("--------> TestAction.execute()");
	testService.saveTwoUsers();
	return "success";
	}
}

很重的一点需要在web.xml文件中设置spring
	
	org.springframework.web.context.ContextLoaderListener
	
	
	contextConfigLocation
	classpath:applicationContext*.xml
	
当与Spring整合后,class属性写的就是Spring中bean的名称(默认是类名的第一个字母小写本文中为testAction)

建立相对应的success.jsp页面,部署项目,在浏览器中输入http;//localhost8080/OA/test.action,如果能显示success页面中的内容并且控制台打印,则所有后台整合搭建成功,明天整理设计思路!

"--------> TestAction.execute()


整体的结构如下:(可以建立一个文件夹config专门用来放置配置文件)

下载本文
显示全文
专题