必知的技术知识:HHS整合(Struts2+Spring+Hibernate)

简介: 必知的技术知识:HHS整合(Struts2+Spring+Hibernate)

一、搭建Struts2


  具体步骤可以参考Struts2官网 如何创建Struts 2 Web应用程序:


  1、在maven的pom.xml添加struts2-core的依赖节点


  [/span>dependency

"color: rgba(0, 0, 255, 1)"]

   [/span>groupId

   [/span>artifactId

   [/span>version

  

  2、添加日志记录


  log4j2.xml在src/main/resources包含以下内容的文件夹中设置配置


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


[/span>Configuration

[/span>Appenders

[/span>Console name="STDOUT" target="SYSTEM_OUT"

[/span>PatternLayout pattern="%d %-5p 【%t】 %C{2} (%F:%L) - %m%n"/>




[/span>Loggers

[/span>Logger name="com.opensymphony.xwork2" level="debug"/>


[/span>Logger name="org.apache.struts2" level="debug"/>


[/span>Root level="warn"

[/span>AppenderRef ref="STDOUT"/>





  3、添加log4j依赖节点


[/span>dependency

[/span>groupId

[/span>artifactId

[/span>version


[/span>dependency

[/span>groupId

[/span>artifactId

[/span>version


  4、添加Struts2 servlet过滤器


    在web.xml中添加过滤器


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


[/span>web-app id="WebApp_ID" version="2.4"


xmlns=""


xmlns:xsi=""


xsi:schemaLocation=" "

[/span>display-name

[/span>welcome-file-list

[/span>welcome-file


[/span>filter

[/span>filter-name

[/span>filter-class


[/span>filter-mapping

[/span>filter-name

[/span>url-pattern



  5、创建struts.xml核心配置文件,放在src/main/resources文件夹中


    在struts.xml文件中我们开启动态方法调用


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


<!DOCTYPE struts PUBLIC


"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"


""

[/span>struts

[/span>constant name="struts.devMode" value="true" />


[/span>constant name="struts.enable.DynamicMethodInvocation" value="true"/>


[/span>package name="basicstruts2" extends="struts-default" strict-method-invocation="false"

[/span>action name="index"

[/span>result




  这样我们的struts2就搭建好了


  6、Struts2的hello world 编写测试类


    struts.xml中配置action


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


<!DOCTYPE struts PUBLIC


"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"


""

[/span>struts

[/span>constant name="struts.devMode" value="true" />


[/span>constant name="struts.enable.DynamicMethodInvocation" value="true"/>


[/span>package name="basicstruts2" extends="struts-default" strict-method-invocation="false"

[/span>action name="index"

[/span>result


[/span>action name="test" class="com.blb.action.TestAction"

[/span>result name="success"




    编写测试类继承ActionSupport


package com.blb.action;


import com.opensymphony.xwork2.ActionSupport;


public class TestAction extends ActionSupport {


public String hello(){


return SUCCESS;


}


}


  运行项目,访问地址: localhost:8080/项目名/test!hello


  这样Struts2的环境就搭建完成了


二、搭建Spring


  1、在项目中添加spring-context依赖节点


[/span>dependency

[/span>groupId

[/span>artifactId

[/span>version


  因为是web项目,我们还需要导入spring-webmvc依赖


[/span>dependency

[/span>groupId

[/span>artifactId

[/span>version


  2、创建applicationContext.xml核心配置文件,放在src/main/resources文件夹中


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


[/span>beans xmlns=""


xmlns:xsi=""


xsi:schemaLocation="


"


  3、在web.xml文件中添加spring监听,使spring在程序运行时启动


[/span>context-param

[/span>param-name

[/span>param-value


[/span>listener

[/span>listener-class


  这样我们的spring就搭建完成了


三、整合Struts2+Spring


  1、在项目中添加struts2-spring-plugin依赖节点


[/span>dependency

[/span>groupId

style="color: rgba(0, 0, 255, 1)"]org.apache.struts

[/span>artifactId

[/span>version


  由于struts2-spring-plugin依赖包含spring-context,spring-web,struts2-core依赖,所以我们需要把这三个依赖移除


  2、在applicationContext.xml文件中注入我们的TestAction类


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


[/span>beans xmlns=""


xmlns:xsi=""


xsi:schemaLocation="


"

[/

相关文章
智慧班牌源码,采用Java + Spring Boot后端框架,搭配Vue2前端技术,支持SaaS云部署
智慧班牌系统是一款基于信息化与物联网技术的校园管理工具,集成电子屏显示、人脸识别及数据交互功能,实现班级信息展示、智能考勤与家校互通。系统采用Java + Spring Boot后端框架,搭配Vue2前端技术,支持SaaS云部署与私有化定制。核心功能涵盖信息发布、考勤管理、教务处理及数据分析,助力校园文化建设与教学优化。其综合性和可扩展性有效打破数据孤岛,提升交互体验并降低管理成本,适用于日常教学、考试管理和应急场景,为智慧校园建设提供全面解决方案。
157 70
Java程序员在AI时代必会的技术:Spring AI
在AI时代,Java程序员需掌握Spring AI技术以提升竞争力。Spring AI是Spring框架在AI领域的延伸,支持自然语言处理、机器学习集成与自动化决策等场景。它简化开发流程,无缝集成Spring生态,并提供对多种AI服务(如OpenAI、阿里云通义千问)的支持。本文介绍Spring AI核心概念、应用场景及开发步骤,含代码示例,助你快速入门并构建智能化应用,把握AI时代的机遇。
SaaS云计算技术的智慧工地源码,基于Java+Spring Cloud框架开发
智慧工地源码基于微服务+Java+Spring Cloud +UniApp +MySql架构,利用传感器、监控摄像头、AI、大数据等技术,实现施工现场的实时监测、数据分析与智能决策。平台涵盖人员、车辆、视频监控、施工质量、设备、环境和能耗管理七大维度,提供可视化管理、智能化报警、移动智能办公及分布计算存储等功能,全面提升工地的安全性、效率和质量。
建筑施工一体化信息管理平台源码,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
智慧工地云平台是专为建筑施工领域打造的一体化信息管理平台,利用大数据、云计算、物联网等技术,实现施工区域各系统数据汇总与可视化管理。平台涵盖人员、设备、物料、环境等关键因素的实时监控与数据分析,提供远程指挥、决策支持等功能,提升工作效率,促进产业信息化发展。系统由PC端、APP移动端及项目、监管、数据屏三大平台组成,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
157 7
|
6月前
|
简单两步,Spring Boot 写死的定时任务也能动态设置:技术干货分享
【10月更文挑战第4天】在Spring Boot开发中,定时任务通常通过@Scheduled注解来实现,这种方式简单直接,但存在一个显著的限制:任务的执行时间或频率在编译时就已经确定,无法在运行时动态调整。然而,在实际工作中,我们往往需要根据业务需求或外部条件的变化来动态调整定时任务的执行计划。本文将分享一个简单两步的解决方案,让你的Spring Boot应用中的定时任务也能动态设置,从而满足更灵活的业务需求。
450 4
|
7月前
|
在Spring Boot中使用缓存的技术解析
通过利用Spring Boot中的缓存支持,开发者可以轻松地实现高效和可扩展的缓存策略,进而提升应用的性能和用户体验。Spring Boot的声明式缓存抽象和对多种缓存技术的支持,使得集成和使用缓存变得前所未有的简单。无论是在开发新应用还是优化现有应用,合理地使用缓存都是提高性能的有效手段。
103 1
【颠覆传统】Spring框架如何用WebSocket技术重塑实时通信格局?揭秘背后的故事与技术细节!
【9月更文挑战第4天】随着Web应用对实时交互需求的增长,传统的HTTP模型已无法满足现代应用的要求,特别是在需要持续、双向通信的场景下。WebSocket协议由此诞生,提供全双工通信渠道,使服务器与客户端能实时互发消息。作为Java开发中最受欢迎的框架之一,Spring通过其WebSocket模块支持这一协议,简化了WebSocket在Spring应用中的集成。
110 0
技术进阶:使用Spring MVC构建适应未来的响应式Web应用
【9月更文挑战第2天】随着移动设备的普及,响应式设计至关重要。Spring MVC作为强大的Java Web框架,助力开发者创建适应多屏的应用。本文推荐使用Thymeleaf整合视图,通过简洁的HTML代码提高前端灵活性;采用`@ResponseBody`与`Callable`实现异步处理,优化应用响应速度;运用`@ControllerAdvice`统一异常管理,保持代码整洁;借助Jackson简化JSON处理;利用Spring Security增强安全性;并强调测试的重要性。遵循这些实践,将大幅提升开发效率和应用质量。
110 7
Spring与Angular/React/Vue:当后端大佬遇上前端三杰,会擦出怎样的火花?一场技术的盛宴,你准备好了吗?
【8月更文挑战第31天】Spring框架与Angular、React、Vue等前端框架的集成是现代Web应用开发的核心。通过RESTful API、WebSocket及GraphQL等方式,Spring能与前端框架高效互动,提供快速且功能丰富的应用。RESTful API简单有效,适用于基本数据交互;WebSocket支持实时通信,适合聊天应用和数据监控;GraphQL则提供更精确的数据查询能力。开发者可根据需求选择合适的集成方式,提升用户体验和应用功能。
145 0
告别繁琐 SQL!Hibernate 入门指南带你轻松玩转 ORM,解锁高效数据库操作新姿势
【8月更文挑战第31天】Hibernate 是一款流行的 Java 持久层框架,简化了对象关系映射(ORM)过程,使开发者能以面向对象的方式进行数据持久化操作而无需直接编写 SQL 语句。本文提供 Hibernate 入门指南,介绍核心概念及示例代码,涵盖依赖引入、配置文件设置、实体类定义、工具类构建及基本 CRUD 操作。通过学习,你将掌握使用 Hibernate 简化数据持久化的技巧,为实际项目应用打下基础。
607 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等