java三大框架搭建_java ssh三大框架搭建整合

今天开个坑java ssh三大框架搭建整合(注解+XML 用全注解不是很好,有点地方需要用模板的时候XML直接可以复制一段)

1 所用框架、技术

编号

工具

版本

说明

Struts 2

2.3.20

Hibernate

4.3.9

实现持久化操作

Spring

4.1.5

Junit

4

单元测试

2.  开发环境

操作系统

Windows 7

开发工具

Eclipse Java EE

数据库

Oracle 11g

Web容器

Tomcat 7.0.63

JAVA

JDK 1.7

3.建立project

新建一个 dynamic web project

8fc933b9a95bf9a0ef0490640707524d.png

最终的整个工程结构是这样的

07faebda529e928b3ef2b5a05ae272f1.png

4.添加Junit

2d048088cb6403447b4eda7abf0c7a6b.png

configure Build Path 后点Add library 选junit4 即可

0927b1f3d46c854d711cfbf012385ac6.png

5.添加Struts2

copy所需的jar包到lib文件夹(先排除struts2-spring-plugin.jar后面会说明原因)

308d3cd32a6bcdfae67123a11f9ea681.png

准备struts.xml,web.xml

模板,直接在Struts文件夹里面搜索文件名struts.xml,web.xml。

web.xml(示例)

我这些XML 元素web-app 有版本信息,不一致会报错。

1 <?xml version="1.0" encoding="UTF-8"?>

2

3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

4 xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

5

6

7

8

9 struts2

10 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

11

12

13 struts2

14 /*

15

16

17

18

19

20 index.jsp

21

22

23

struts.xml

1 <?xml version="1.0" encoding="UTF-8"?>

2 "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"4 "http://struts.apache.org/dtds/struts-2.3.dtd">

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21 /index.jsp

22

23

24

25

26

27

28

StrutsAction.java(放在如图位置)

3e47c2b9e85f3089f90688b453b6f9b7.png

1 packageedu.hainu.knowledge.test;2

3 importcom.opensymphony.xwork2.ActionSupport;4

5

6 public class StrutsAction extendsActionSupport{7

8 //用于 测试单个Struts是否成功

9 publicString execute(){10 System.out.println("success");11 return "success";12 }13 }

启动观察控制台有没有报错,报错的自行百度

用浏览器http://localhost:8080/edu.hainu.knowledge/test.action

http://服务器所在ip:端口号/projectName/actionName.action(注意我已经在struts.xml 配置类后缀为action)

其实这个地址可以也不用记住,我们可以直接run 一个页面,eclipse会自动访问该页面

71eb17faf026301fa9aaa5772cfae50c.png

48e77b81b23ac9cb36aa6ac2fd365451.png

页面成功跳转,添加struts2成功。

6.添加spring

添加jar包

9b64aa0a4f491c08063a6de73e823bc4.png

applicationContext.xml (示例)

同样的可以去spring文件夹搜索applicationContext.xml (QAQ 不知道为什么找不到)

配置一下 component-scan base-package="edu.hainu.knowledge" 就是Sping将会扫描edu.hainu.knowledge包所有类上的注解

1 <?xml version="1.0" encoding="UTF-8"?>

2

3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

4 xmlns:tx="http://www.springframework.org/schema/tx"

5 xmlns:context="http://www.springframework.org/schema/context"

6 xsi:schemaLocation="http://www.springframework.org/schema/beans7 http://www.springframework.org/schema/beans/spring-beans.xsd8 http://www.springframework.org/schema/context9 http://www.springframework.org/schema/context/spring-context.xsd10 http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd">

11

12

13

14

15

添加StrutsAction 的注解

@Controller

@Scope("prototype")

1 packageedu.hainu.knowledge.test;2

3 importorg.springframework.context.annotation.Scope;4 importorg.springframework.stereotype.Controller;5

6 importcom.opensymphony.xwork2.ActionSupport;7

8 @Controller9 @Scope("prototype")10 public class StrutsAction extendsActionSupport{11

12 //用于 测试单个Struts是否成功

13 publicString execute(){14 System.out.println("success");15 return "success";16 }17 }

在junit的Spring类

1 packageedu.hainu.knowledge.test;2

3 importorg.junit.Test;4 importorg.springframework.context.ApplicationContext;5 importorg.springframework.context.support.ClassPathXmlApplicationContext;6

7

8

9 public classSpring {10

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

13

14 //用于测试单个Spring是否成功

15 @Test16 public void testBean() throwsException {17

18 //Bean的名字 首字母要小写

19 StrutsAction StrutsAction = (StrutsAction) ac.getBean("strutsAction");20 System.out.println(StrutsAction);21 }22

23 }24

单元测试testBean()方法,能正常输出信息 edu.hainu.knowledge.test.StrutsAction@a383aab 表明添加Spring 成功

7.整合spring与struts2

在web.xml中配置Spring的监听器 (配置一下applicationContext.xml  所在位置)

1 <?xml version="1.0" encoding="UTF-8"?>

2

3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

4 xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

5

6

7

8

9 org.springframework.web.context.ContextLoaderListener

10

11

12 contextConfigLocation

13 classpath:applicationContext*.xml

14

15

16

17

18 struts2

19 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

20

21

22 struts2

23 /*

24

25

26

27

28

29 index.jsp

30

31

添加jar包 struts2-spring-plugin-2.3.20.jar(这就是文章开头struts2 排除的jar包,不然会报错)

修改struts.xml  ( )

1 <?xml version="1.0" encoding="UTF-8"?>

2 "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"4 "http://struts.apache.org/dtds/struts-2.3.dtd">

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20 /index.jsp

21

22

23

24

25 /WEB-INF/jsp/logAction/list.jsp

26 /WEB-INF/jsp/logAction/saveUI.jsp

27 log_list

28

29

30

31

32 /WEB-INF/jsp/homeAction/{1}.jsp

33

34

35

36

37

38

39

重新启动,访问 http://localhost:8080/edu.hainu.knowledge/test.action

成功跳转表明 整合spring与struts2成功(主要是修改struts.xml 证明)

8.添加hibernate 并且整合 hibernate 与 spring (我的习惯是)

添加jar包 sqljdbc41.jar 用于sqlserver  ojdbc6.jar 用于Oracle

ddaaed66f31faaedb4b02f1cd880c319.png

applicationContext.xml

管理SessionFactory实例(只需要一个)

声明式事务管理

1 <?xml version="1.0" encoding="UTF-8"?>

2

3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

4 xmlns:tx="http://www.springframework.org/schema/tx"

5 xmlns:context="http://www.springframework.org/schema/context"

6 xsi:schemaLocation="http://www.springframework.org/schema/beans7 http://www.springframework.org/schema/beans/spring-beans.xsd8 http://www.springframework.org/schema/context9 http://www.springframework.org/schema/context/spring-context.xsd10 http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd">

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

jdbc.properties

//通过SERVICE_NAME连接

1 jdbcUrl =jdbc:oracle:thin:@//ip:1521/SERVICE_NAME

2 driverClass =oracle.jdbc.driver.OracleDriver3 user =user4 password = password

Hibernate.java

1 packageedu.hainu.knowledge.test;2

3 importorg.hibernate.SessionFactory;4 importorg.junit.Test;5 importorg.springframework.context.ApplicationContext;6 importorg.springframework.context.support.ClassPathXmlApplicationContext;7

8

9

10 public classHibernate {11

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

14 //测试SessionFactory15 //用于测试Spring 与 hibernate

16 @Test17 public void testSessionFactory() throwsException {18 SessionFactory sessionFactory = (SessionFactory) ac.getBean("sessionFactory");19 System.out.println(sessionFactory);20 }21

22 }

单元测试 testSessionFactory()

控制台有输出org.hibernate.internal.SessionFactoryImpl@5cc5e9d2

整合 hibernate 与 spring 成功

9.总结

struts

1.导入相关jar包

2.准备 web.xml  struts2.xml

3.测试 action 成功跳转代表成功。

spring

1.导入相关jar包

2.准备 applicationContext.xml

3.测试 能否从spring管理中读取出bean

struts 整 合spring

1.struts2-spring-plugin-2.3.20.jar

2.web.xml  配置spring监听器

3.测试 struts.xml 当Struts2与Spring整合后,class属性可以写bean的名称(类名首字母小写)

hibernate  和 hibernate整合spring

1.导入相关jar包 (以及数据库连接jar包)

2.applicationContext,xml  配置SessionFactory 配置事务管理  修改 jdbc.properties

3.测试 能否从spring管理中读取出sessionFactory

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值