J2EE Web 框架整合(Struts, hibernate, Spring)

MVC三层模型(struts+spring+hibernate)总结 简单的说: struts 控制用的 hibernate 操作数据库的 spring 用解耦的 详细的说: STRUTS 在 SSH 框架中起控制的作用 , 其核心是 Controller, 即 ActionServlet, 而 ActionServlet 的核心就是 Struts-confi g.xml. 主要控制逻辑关系的处理 . hibernate 是数据持 阅读详情

近来一直在实践 J2EE Web 框架整合(Struts, hibernate, Spring),遇到的问题还是真多啊。好多问题也解决了,大多都是通过在网上查资料、看其他同僚的成果。很多解决方案还是很有帮助的,很开眼界,虽然不一定适合我的问题。所以这里就打算把自己遇到的问题以及我的解决方案整理一下。其中一写问题想不起来具体细节了,就先从昨天的收获说起吧。

我的环境是:

IDE: MyEclipse6.0

JDK: 1.5.0_11

Tomcat: apache-tomcat-6.0.14

Struts: Struts 1.1(1.1和其他的版本不太一样,编辑界面的菜单也多几项)

Spring: Spring 2.0

Hibernate: Hibernate 3.1

 步骤如下:

整合的顺序,是1)struts 2)spring 3)hibernate

我不知道为什么struts一定要放在第一位。倒是先整合spring,之后配置hibernate可以公用applicationContext.xml减少复杂性。

1.建好工程后,先开始整合struts,这个没什么好说的,看着界面自己点点就可以了。

2整合Spring

直接构选 Spring 2.0 persistence JDBC这个选项,否则会却包,之后applicationContext文件会表错,说找不到包。

web libraries也要选中,其中包含一些儿与集成相关的包

添加包有两种方式,默认是在工程中做个映射;第二种就是把包拷到lib下面。推荐第二种方式,因为,这种方式在与hibernate集成的时候会出错,而且spring 和 hibernate会有相同的包,用第二种方式可以减少包冲突

要把applicationContext.xml放在/WEB-INF/下面,否则在整合hibernate的时候会找不到这个文件

3整合hibernate

包都选上吧,一样也把包拷到lib下面,

选择Spring的配置文件。

Session Factory已经创建了,就不用钩选这个选项了,会重复的。

环境初步搭建完毕!

Java Web框架整合实战源代码大全 Java EE 容器是Java EE平台的核心,它负责管理组件的生命周期、提供服务、处理安全性和事务管理等。容器的主要类型包括Web容器、EJB容器和应用客户端容器。容器通过定义一系列的标准接口和契约来隐藏服务器的复杂性,使得开发者可以专注于业务逻辑的实现。Web容器负责托管Servlet和JavaServer Pages (JSP)等Web组件,EJB容器则负责企业级Bean的生命周期和事务。应用客户端容器主要负责托管运行在客户端的应用程序。 阅读详情

相关推荐

Java EE企业级Web应用开发:三大框架实战指南

Java EE(Java Platform, Enterprise Edition)是Java在企业级应用领域中的一种标准化平台。它提供了一系列的技术和服务,以支持企业应用程序的构建、部署和运行。Java EE的核心组件包括Web组件、企业Bean组件以及客户端组件,而这些组件都构建在Java Servlet、JavaServer Pages(JSP)、JavaServer Faces(JSF)、Java Persistence API(JPA)等技术之上。

weixin_29840475的博客 893

使用open source产品组装你的web应用架构

使用open source产品组装你的web应用架构 totodo(翻译) 优快云 其实,就算用Java建造一个不是很烦琐的web应用,也不是件轻松的事情。 在构架的一开始就有很多事情要考虑。 从高处看,摆在开发者面前有很多问题:要考虑是怎样建立用户接口?在哪里处理业务逻辑? 怎样持久化的数据。 而这三层构架中,每一层都有他们要仔细考虑的。 各个层该使用什么技术? 怎样的设计能松散耦合还能灵活

1286

J2EE利用Hibernate采用B/S架构网页设计

package hib; import org.hibernate.HibernateException; import org.hibernate.Session; import org.hibernate.cfg.Configuration; /** * Configures and provides access to Hibernate sessions, tied to the * current thread of execution. Follows the Thread Local Session * pattern, see {@link http://hibernate.org/42.html }. */ public class HibernateSessionFactory { /** * Location of hibernate.cfg.xml file. * Location should be on the classpath as Hibernate uses * #resourceAsStream style lookup for its configuration file. * The default classpath location of the hibernate config file is * in the default package. Use #setConfigFile() to update * the location of the configuration file for the current session. */ private static String CONFIG_FILE_LOCATION = "/hibernate.cfg.xml"; private static final ThreadLocal<Session> threadLocal = new ThreadLocal<Session>(); private static Configuration configuration = new Configuration(); private static org.hibernate.SessionFactory sessionFactory; private static String configFile = CONFIG_FILE_LOCATION; static { try { configuration.configure(configFile); sessionFactory = configuration.buildSessionFactory(); } catch (Exception e) { System.err .println("%%%% Error Creating SessionFactory %%%%"); e.printStackTrace(); } } private HibernateSessionFactory() { } /** * Returns the ThreadLocal Session instance. Lazy initialize * the <code>SessionFactory</code> if needed. * * @return Session * @throws HibernateException */ public static Session getSession() throws HibernateException { Session session = (Session) threadLocal.get(); if (session == null || !session.isOpen()) { if (sessionFactory == null) { rebuildSessionFactory(); } session = (sessionFactory != null) ? sessionFactory.openSession() : null; threadLocal.set(session); } return session; } /** * Rebuild hibernate session factory * */ public static void rebuildSessionFactory() { try { configuration.configure(configFile); sessionFactory = configuration.buildSessionFactory(); } catch (Exception e) { System.err .println("%%%% Error Creating SessionFactory %%%%"); e.printStackTrace(); } } /** * Close the single hibernate session instance. * * @throws HibernateException */ public static void closeSession() throws HibernateException { Session session = (Session) threadLocal.get(); threadLocal.set(null); if (session != null) { session.close(); } } /** * return session factory * */ public static org.hibernate.SessionFactory getSessionFactory() { return sessionFactory; } /** * return session factory * * session factory will be rebuilded in the next call */ public static void setConfigFile(String configFile) { HibernateSessionFactory.configFile = configFile; sessionFactory = null; } /** * return hibernate configuration * */ public static Configuration getConfiguration() { return configuration; } }

J2EE开发的框架及开源项目介绍[转]

主要就我所了解的J2EE开发的框架或开源项目做个介绍,可以根据需求选用适当的开源组件进行开发.主要还是以Spring为核心,也总结了一些以前web开发常用的开源工具和开源类库 1持久层: 1)Hibernate 这个不用介绍了,用的很频繁,用的比较多的是映射,包括继承映射和父子表映射 对于DAO在这里介绍个在它基础上开发的包bba96, 目前最新版本是bba96 2.0它对Hiber...

Bobby的部落阁 259

时间同步中 TOD 与GPRMC和IRIG-B的区别

时间同步中 TOD 与GPRMC和IRIG-B的区别

ftdlk的博客 1725

从零到一:在RK3588 Android12上实战RTL8723DU WiFi蓝牙双模驱动移植

本文详细介绍了在RK3588 Android12系统上实战RTL8723DU WiFi蓝牙双模驱动移植的全过程。从驱动源码获取与修改、系统级集成与编译,到调试与性能优化,提供了完整的解决方案。特别针对USB接口适配、电源管理和蓝牙共存等关键问题给出了具体代码示例,帮助开发者快速完成驱动适配并提升设备稳定性。

weixin_28703489的博客 324

Struts框架与J2EE Web应用简介

Struts作为Java Web应用的框架,Struts大大的提高了Web应用开发的速度,它是一群经验丰富的开发专家集体的智慧结晶,在全世界范围内得到了广泛的应用.要学习Struts首先就要了解Java Web应用.Java Web应用的核心技术是JSP和Servlet,此外开发一个完整的JavaWeb应用还要涉及JavaBean组件,EJB组件,自定义JSP标签,XML,Web服务器.Ser

thinkpadleo的专栏 1453

半导体EAP系统入门指南:从零开始理解设备自动化程序(附实战案例)

本文深入浅出地介绍了半导体制造中EAP(设备自动化程序)系统的核心作用与工作原理。EAP作为连接MES与生产设备的桥梁,负责指令翻译、数据采集与实时控制,是实现晶圆厂全自动化的关键。文章通过对比手动与自动模式,阐述了EAP在提升效率、保障良率方面的价值,并提供了一个实战案例,帮助读者从零构建对半导体CIM体系中这一关键组件的理解。

weixin_29200741的博客 734

java web主流框架整合开发_开发者突击:Java Web主流框架整合开发(J2EE+Struts+Hibernate+Spring)(第2版) PDF扫描版...

开发者突击:Java Web主流框架整合开发 图书简介:本书是畅销书《开发者突击:Java Web主流框架整合开发(J2EE+Struts+Hibernate+Spring)》的第2版,全面地讲解了JavaWeb开发中的流行技术和软件架构,涵盖了目前从JSP、JavaBean、Servlet到Hibernate、Struts、Spring、Struts2的主流开发框架,同时通过办公自动化系统实战演...

weixin_34447182的博客 394

置顶必读(2) | 《YOLOv11实战:从入门到深度优化》目录导航篇(持续更新中)

🏆 本文收录于 《YOLOv11实战:从入门到深度优化》 专栏。 本专栏系统梳理并持续复现全网各类 YOLOv11 / YOLO系列改进方案与实战案例,目前已覆盖 分类、检测、分割、追踪、关键点、OBB 检测 等多个方向。 内容坚持 持续更新 + 深度拆解 + 工程落地导向,不仅讲“怎么改”,更讲“为什么这样改、如何真正落地到项目中”。

**My Coding Family** 11万+

Kubeflow系统性学习教程:从入门到高级实践

Kubeflow学习教程摘要(150字): Kubeflow是基于Kubernetes的云原生MLOps平台,提供端到端机器学习解决方案。核心功能包括Jupyter Notebooks开发环境、Pipelines工作流编排、分布式训练支持和模型服务部署。教程采用三阶段学习路径:初学者搭建Kind集群体验Notebooks;中级开发自定义Pipeline组件;高级实现企业级应用。通过容器化和K8s CRD深度集成,解决环境一致性、实验跟踪和资源调度等MLOps痛点,相比MLflow/Airflow更适合大规模

自可乐的博客 886

JavaEE面试题

1.    HashMap和Hashtable的区别 都属于Map接口的类,实现了将惟一键映射到特定的值上。 HashMap 类没有分类或者排序。它允许一个 null 键和多个 null 值。 Hashtable 类似于 HashMap,但是不允许 null 键和 null 值。它也比 HashMap 慢,因为它是同步的。 2.    Collection 和 Collections的

mumuJun_的博客 759

AI辅助Android开发:从传统到智能化的技术演进

AI辅助开发的核心在于利用算法模型自动化或优化传统任务。在Android开发中,AI可应用于需求分析、设计、编码、测试和维护各阶段。需求分析:AI工具如基于NLP的模型(例如GPT系列)可解析用户需求文档,自动生成用户故事和原型设计。假设产品需求为“开发一个航班查询应用”,AI能提取关键词,输出UML图或伪代码。代码生成:使用AI代码助手(如GitHub Copilot),工程师输入自然语言描述,AI生成Java/Kotlin代码片段。

郑伟强dev的专栏 137

用maven整合struts+spring+hibernate之三 加入框架支持

创建完web工程之后,一般我们就可以开始开发了。所以,这一节我们需要为这个web工程加入j2ee框架的支持。  这里其实不太好分清楚先加哪后加哪,因为系统框架是需要整体运行的,相互的关系很紧密,比如我只加入struts2.那么在运行时会报错。因为struts2缺省是用spring来做容器的。(当然也可以修改,但这里不是不作讨论)。  一、依赖包

songzhi909的专栏 488

GEE训练教程:如何批量从Google assets中将时序影像批量导出到Google drive

本文介绍了一种使用Google Earth Engine(GEE)批量导出2000-2023年叶绿素a(Chl-a)浓度数据的方法。通过JavaScript代码自动生成多个年份的导出任务,将数据保存至Google Drive指定文件夹。文章详细说明了代码参数配置、使用步骤和注意事项,包括资产命名规则验证、导出任务启动方式,以及分辨率、区域范围等关键参数的调整建议。同时提供了常见问题的解决方案,如处理缺失年份数据、解决导出像素超限等问题。该方法可显著提高多年份Chl-a数据批量导出的效率,适用于水体环境研究的

此星光明博客 90

ROS从入门到精通2-1:机器人3D可视化工具——Rviz

本文详细介绍了Rviz是什么?为什么要使用这个工具?清晰地列出了Rviz的安装流程和界面的基本功能元素;讲解了Rviz基本数据类型与话题,并用两个实例深入理解Rviz数据可视化的过程

FRIGIDWINTER的博客 5346

myeclipse中配置spring+Struts+hibernate框架

最近学习有关spring+Struts+hibernate(SSH)框架的内容,SSH框架按照功能划分则是Spring起到业务层作用,Struts起到控制层作用,Hibernate当然用于持久化层作用。SSH框架的整合其实就是spring+Struts的整合。 (本文章仅为本人加强记忆) 以下是以myeclipse为环境搭建spring+Struts+hibernate框架的过程: 首先,建立

mg-xiaojing的博客 737

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

二、Spring六大模块功能

Spring框架,可以解决对象创建以及对象之间依赖关系的一种框架。 且可以和其他框架一起使用;Spring与Struts, Spring与hibernate (起到整合(粘合)作用的一个框架) Spring提供了一站式解决方案: 1) Spring Core spring的核心功能: IOC容器, 解决对象创建及依赖关系 2) Spring Web Spring对web模块的支持。 - 可以与struts整合,让struts的action...

weixin_45602227的博客 538

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

struts2 spring3 hibernate4 SSH框架搭建

经过几天的折腾,总算把J2EE的SSH框架搭建起来了。第一步: 安装 Jdk , MyEcplise , Tomcat 下载Struts2.3.14, Spring3.2.2 ,Hibernate4.2.0 如果使用proxool数据连接池技术 必须加入proxool-0.9.1.jar和proxool-cglib.jar 除了proxool之外,还

rosepicker的专栏 1957

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

java 框架的作用_java三大框架的作用

Java 工程师三大框架面试题 1. hibernate3 提供了属性的延迟加载...整合SSH三大框架介绍_计算机软件及应用_IT/计算机_专业资料。一.在 MyEclipse 里先建立一个 Web project 的项目,选最新版本的 java ee。 二.添加 struts2 框架......JAVA三大框架面试题-如果... 39页 2下载券 JAVA-SSH面试题 ...Java工程师...

weixin_35307279的博客 306

Spring和Struts的区别?

strusts:是一种基于MVC模式的一个web层的处理。 Spring:提供了通用的服务,ioc/di aop,关心的不仅仅web层,应当j2ee整体的一个服务,可以很容易融合不同的技术struts hibernate ibatis ejb remote springJDBC springMVC ...

jardownload的博客 147

Spring、Struts、Hibernate框架之间的关系是什么以及怎么处理

Spring、Struts、Hibernate框架之间的关系是什么以及怎么处理

kngines 1万+

轻量级java web整合开发入门_轻量级Java Web 整合开发入门—Struts 2+Hibernate 4+Spring 3 pdf扫描版[41MB]...

SSH(Struts、Spring 、Hibernate) 框架是目前Java Web 开发中应用非常广泛的开源框架组合,基于SSH 框架,开发人员可以在短期内搭建结构清晰、可复用性好、维护方便的Java Web 应用程序。轻量级Java Web 整合开发入门详细讲解了Struts 2、Hibernate 和Spring 的基本用法,及其相互之间的整合流程,可以作为初学者学习Java EE 整合开...

weixin_39883129的博客 212

NingShanFeng_2019面试之Spring 概述

Spring 框架,可以解决对象创建以及对象之间依赖关系的一种框架。 且可以和其他框架一起使用;Spring 与 Struts, Spring 与 hibernate (起到整合(粘合)作用的一个框架) Spring 提供了一站式解决方案: 1) Spring Core spring 的核心功能: IOC 容器, 解决对象创建及依赖 关系 2...

家元之洋洋的博客 168

java 框架整合技术_JAVA轻量级框架整合技术研究

1概述在Internet迅速发展的今天,传统的C/S模式已经无法满足企业级的应用需求,基于B/S模式的多层web应用开发就应运而生并迅速的发展起来。在多层web体系结构设计中,普遍存在着开发产品性能差,维护工作量大,应变能力不足等缺点。因此,如何利用企业级分布式平台进行web应用开发,使多层web应用软件在面对多样化的用户需求,灵活的业务模式,复杂的业务流程等问题时能简单高效的完成任务,成为我们首...

weixin_39710594的博客 167

SSH框架整合更新

SSH框架整合: 1. 数据库(mysql)的创建: create databases myoa default character set utf8; 2. 查看创建的数据 show create database myoa; Contr+shift+t: 查找方言 Alt+shit+a快速去除重复的字段 Spring :  SHH框架整合: spring与struts整合

奋斗的小鸟专栏 1113
下一篇: 解决问题(一)——Exception
码匠君
博客等级 码龄22年 153粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码匠君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值