专栏首页Java帮帮-微信公众号-技术文章全总结struts2+spring+hibernate整合步骤(2)

struts2+spring+hibernate整合步骤(2)

*新建测试类

Java代码

1.public class EmployeeTest {    
2.private static EmployeeService employeeService;    
3.    
4.    @BeforeClass 
5.    public static void setUpBeforeClass() throws Exception {    
6.        try {    
7.            ApplicationContext context = new ClassPathXmlApplicationContext(    
8.                    "beans.xml");    
9.            employeeService = (EmployeeService) context    
10.                    .getBean("employeeServiceBean");    
11.        } catch (Exception e) {    
12.            System.out.println(e.getMessage());    
13.        }    
14.    }    
15.    
16.    @Test 
17.    public void createTable() {    
18.        //new ClassPathXmlApplicationContext("beans.xml");   
19.    };    
20.        
21.    @Test 
22.    public void save() {    
23.        boolean result=employeeService.save(new Employee("long","long"));    
24.        if (result) {    
25.            System.out.println("保存成功。。。。。");    
26.        }else{    
27.            System.out.println("保存出错....");    
28.        }    
29.    };    
30.    
31.    @Test 
32.    public void delete() {    
33.        boolean result=employeeService.delete("long");    
34.        if (result) {    
35.            System.out.println("删除成功。。。。。");    
36.        }else{    
37.            System.out.println("删除出错....");    
38.        }    
39.    };    
40.    
41.    @Test 
42.    public void update() {    
43.        boolean result=employeeService.update((new Employee("qing","long"));    
44.        if (result) {    
45.            System.out.println("更新成功。。。。。");    
46.        }else{    
47.            System.out.println("更新出错....");    
48.        }    
49.    };    
50.    
51.    @Test 
52.    public void findAll() {    
53.        List<Employee> elist=employeeService.findAll();    
54.        Iterator itor=elist.iterator();    
55.        while(itor.hasNext()){    
56.            Employee emp=(Employee)itor.next();    
57.            System.out.println(emp.getPassword());    
58.        }    
59.    };    
60.        
61.    @Test 
62.    public void find(){    
63.        Employee employee=employeeService.find("qing");    
64.        System.out.println(employee.getPassword());    
65.    }    
66.}    

*ok 没问题spring和hibernate整合完毕

*再将struts2所需包加入lib中

*创建struts.xml配置文件

Java代码

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

2.<!DOCTYPE struts PUBLIC

3. "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"

4. "http://struts.apache.org/dtds/struts-2.0.dtd">

5.<struts>

6. <!-- 将struts的action交由spring管理 不在由struts的工厂介入 -->

7. <constant name="struts.objectFactory" value="spring" />

8.

9. <package name="employee" namespace="/employee" extends="struts-default">

10. <action name="list" class="employeeAction">

11. <result name="success">

12. /WEB-INF/feapp/employee.jsp

13. </result>

14. </action>

15.

16. <action name="manager_*" class="employeeManagerAction" method="{1}">

17. <result name="success">

18. /WEB-INF/feapp/employeeadd.jsp

19. </result>

20. <result name="message">

21. /WEB-INF/feapp/result.jsp

22. </result>

23. </action>

24. </package>

25.</struts>

*在web.xml中加入

Java代码  
1.<?xml version="1.0" encoding="UTF-8"?>    
2.<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" 
3.    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
4.    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee    
5.    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">   
6.    
7.    <!--    
8.        指定spring的配置文件,默认从web根目录寻找配置文件,我们可以通过spring提供的classpath:前缀指定从类路径下寻找    
9.    -->    
10.    <context-param>    
11.        <param-name>contextConfigLocation</param-name>    
12.        <param-value>classpath:beans.xml</param-value><!-- 多个配置文件的写法  classpath:beans1.xml,classpath:beans2.xml,classpath:beans3.xml -->    
13.    </context-param>    
14.    <!-- 对Spring容器进行实例化 -->    
15.    <listener>    
16.        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>    
17.    </listener>    
18.    
19.    <!-- struts2 的监听器 -->    
20.    <filter>    
21.        <filter-name>struts2</filter-name>    
22.        <filter-class>    
23.            org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>    
24.    </filter>    
25.    <filter-mapping>    
26.        <filter-name>struts2</filter-name>    
27.        <url-pattern>/*</url-pattern>    
28.    </filter-mapping>    
29.    
30.    <welcome-file-list>    
31.        <welcome-file>index.jsp</welcome-file>    
32.    </welcome-file-list>    
33.</web-app>    

*创建相关jsp和action

Java代码

1.@Controller @Scope("prototype")    
2.public class EmployeeManagerAction extends ActionSupport {    
3.    @Resource EmployeeService employeeService;    
4.    private Employee employee;    
5.            
6.    public String addUI(){    
7.        //System.out.println("user come");   
8.        return SUCCESS;    
9.    }    
10.        
11.    public String add(){    
12.        //System.out.println("--------------");   
13.        boolean result=employeeService.save(employee);    
14.        //ActionContext.getContext().put("genders", Gender.values());   
15.        if(result){    
16.            ActionContext.getContext().put("message", "保存成功!");    
17.        }else{    
18.            ActionContext.getContext().put("message", "保存失败!");    
19.        }    
20.        return "message";    
21.    }    
22.    
23.    public Employee getEmployee() {    
24.        return employee;    
25.    }    
26.    
27.    public void setEmployee(Employee employee) {    
28.        this.employee = employee;    
29.    }    
30.}    

本文分享自微信公众号 - Java帮帮(javahelp)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2016-12-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 复杂业务下向Mysql导入30万条数据代码优化的踩坑记录

    从毕业到现在第一次接触到超过30万条数据导入MySQL的场景(有点low),就是在顺丰公司接入我司EMM产品时需要将AD中的员工数据导入MySQL中,因此楼主负...

    haifeiWu
  • 知识体系解决迷茫的你

    最近在星球里群里都有小伙伴说道自己对未来的路比较迷茫,一旦闲下来就不知道自己改干啥,今天我这篇文章就是让你觉得一天给你 25 个小时你都不够用,觉得睡觉都是浪费...

    桃翁
  • 【倒计时7天】2018教育部-腾讯公司产学合作协同育人项目申请即将截止!

    腾讯高校合作
  • 【系统设置】CentOS 修改机器名

    ken.io
  • SQL中GROUP BY用法示例

    GROUP BY我们可以先从字面上来理解,GROUP表示分组,BY后面写字段名,就表示根据哪个字段进行分组,如果有用Excel比较多的话,GROUP BY比较类...

    Awesome_Tang
  • 不只是软件,在线也可以免费下载百度文库了。

    不管是学生,还是职场员工,下载各种文档几乎是不可避免的,各种XXX.docx,XXX.pptx更是家常便饭,人们最常用的就是百度文库,豆丁文库,道客巴巴这些下载...

    课代表
  • ISUX Xcube智能一键生成H5

    腾讯ISUX
  • 中国互联网协会发布:《2018中国互联网发展报告》

    在2018中国互联网大会闭幕论坛上,中国互联网协会正式发布《中国互联网发展报告2018》(以下简称《报告》)。《中国互联网发展报告》是由中国互联网协会与中国互联...

    钱塘数据
  • 考研英语-1-导学

    英二图表作文要重视。总体而言,英语一会比英语二难点。不过就写作而言,英语二会比英语一有难度,毕竟图表作文并不好写。

    用户1335799
  • 理工男图解零维到十维空间,烧脑已过度,受不了啦!

    让我们从一个点开始,和我们几何意义上的点一样,它没有大小、没有维度。它只是被想象出来的、作为标志一个位置的点。它什么也没有,空间、时间通通不存在,这就是零维度。

    钱塘数据

扫码关注云+社区

领取腾讯云代金券