基于maven搭建struts2框架项目

全网最强maven教程-使用Maven搭建Struts2框架的开发环境 Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。 Maven的主要目标是希望开发人员能在最短的时间内理解开发的完整状态。为了达到这个目标,Maven在下面几个方面做出了努力:简化构建过程、统一构建体系、提供高质量的项目信息、提供开发的最佳实践指南、实现透明的向新特性的迁移、简化构建过程。使用Maven不须要知道一些潜在的或底层的机制,Maven屏蔽了非常多细节。 1、创建基于Maven的Web项目 我使用的是MyEcli... 阅读详情

前言

上篇博客讲述了maven的环境搭建,这次我需要基于maven搭建一个struts项目。

struts2框架简述

Struts2 是基于MVC设计模式的web应用程序框架,最初是以WebWork框架和Struts框架为基础,通过提供增强和改进的Struts框架,进而实现简化web技术人员开发工作的目标。

详细部分请去相关文档:https://www.w3cschool.cn/struts_2/struts_architecture.html

搭建项目之添加框架依赖

添加相关框架依赖我们得去pom.xml当中,注意在这个文档当中需要良好的网络,因为你第一次添加完相关的jar包依赖保存后,他是会自动去中央仓库(之前配置环境时配置的源仓库)下载jar包的,:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.zengjing</groupId>
  <artifactId>mavenDemo</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>mavenDemo Maven Webapp</name>
  <url>http://maven.apache.org</url>
  
  <properties>
  	<servlet.version>4.0.1</servlet.version>
  	<junit.version>3.8.1</junit.version>
  	<struts2.version>2.5.16</struts2.version>
  </properties>
  
  <!-- Junit  -->
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>${junit.version}</version>
      <scope>test</scope>
    </dependency>
    
    <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
	<dependency>
	    <groupId>javax.servlet</groupId>
	    <artifactId>javax.servlet-api</artifactId>
	    <version>${servlet.version}</version>
	    <scope>provided</scope>
	</dependency>
	 
	
	
	<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
	<dependency>
	    <groupId>mysql</groupId>
	    <artifactId>mysql-connector-java</artifactId>
	    <version>5.1.44</version>
	</dependency>
	
	<!-- https://mvnrepository.com/artifact/org.apache.struts/struts2-core -->
	<dependency>
	    <groupId>org.apache.struts</groupId>
	    <artifactId>struts2-core</artifactId>
	    <version>${struts2.version}</version>
	</dependency>
	
	
    
  </dependencies>
   <build>
    <finalName>mavenDemo</finalName>
    <plugins>
    	<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.7.0</version>
				<configuration>
					<source>1.8</source>
					<target>1.8</target>
					<encoding>UTF-8</encoding>
				</configuration>
			</plugin>
    </plugins>
  </build>

</project>

那么上面的配置代码是不需要我们自己手动打的,我们可以去https://mvnrepository.com/当中搜索需要的依赖,将其对应的配置文件复制到pom.xml当中的标签当中,如下:
在这里插入图片描述
加载完的jar包依赖我们可以在maven Dependencies当中查看:
在这里插入图片描述

项目配置

到这里相关的环境配置我们是基本结束,搭建struts项目的第一步我们得先去web.xml当中配置struts2框架的filter,因为struts2框架的启动就是基于过滤器,这个过滤器就相当于mvc当中的总控制器servlet的配置。

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://java.sun.com/xml/ns/javaee"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
	id="WebApp_ID" version="3.0">
  <display-name>Archetype Created Web Application</display-name>

//注册一个过滤器
	<filter>
		<filter-name>encodingFilter</filter-name>
		<filter-class>com.zengjing.util.EncodingFilter</filter-class>
	</filter>
//过滤器的映射
	<filter-mapping>
		<filter-name>encodingFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>


	<filter>
		<filter-name>struts2</filter-name>
		<filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
	</filter>
	
	<filter-mapping>
		<filter-name>struts2</filter-name>
		<url-pattern>*.action</url-pattern>
	</filter-mapping>

</web-app>


这个过滤器的filter-class属性是:
在这里插入图片描述
然后创建项目需要的xml文件(都在src/main/resources),必须要有的struts.xml和struts-base.xml,另外两个是我所建立的功能模块对应的xml文件:
在这里插入图片描述

struts.xml(这里面是用include标签引入不同的模块功能所对应的xml名字,第一个必须是struts-base.xml,后面顺序一般来说没什么讲究):

<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE struts PUBLIC
	"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
	"http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
	<include file="struts-base.xml"></include>
	<include file="struts-hello.xml"></include>
	<include file="struts-login.xml"></include>
</struts>

struts-base.xml(首先是要开启开发者模式和自动加载配置文件,这个文件是所有模块配置文件的基础,它是继承于struts-default):

<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE struts PUBLIC
	"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
	"http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
	<!-- 开启开发者模式 -->
	<constant name="struts.devMode" value="true"></constant>

	<!-- 开启自动加载配置文件 -->
	<constant name="struts.configuration.xml.reload" value="true"></constant>
	

	<!-- 
		name:包名
		extends:继承
		abstract:是否是抽象类
		namespace:命名空间
	 --> 
	<package name="struts-base" extends="struts-default" abstract="true"  >
		<global-allowed-methods>regex:.*</global-allowed-methods>
	</package>
</struts>

struts-hello.xml就不说了,那个是我测试环境是否搭建成功的一个显示功能

主要我来讲一个登录(struts-login.xml),这种功能模块对应的xml文件里面一般来说就是package标签,它继承于我上面讲的基础的struts-base,里面是相关action的配置,name是路径,method是所携带的方法,和mvc还有所不同的是跳转页面的配置标签是result:

<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE struts PUBLIC
	"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
	"http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
	<package name="struts-login" extends="struts-base" >
		<action name="loginAction_*" method="{1}" class="com.zengjing.action.UserAction">
			<!-- 
				name:跳转路径
				type:重定向或者转发 默认是转发
			 -->
			<result name="success" type="dispatcher" >/index.jsp</result>
			<result name="error" type="dispatcher" >/error.jsp</result>
		</action>
	</package>
</struts>

这个简单的登录配置文件对应的action是,action和之前的mvc也有一点不一样,这里面可以写参数(必须写对应的get/set方法),这个参数是可以获取到jsp界面传过来的对应的参数名一样的参数,也可以写对象模型来接收对应的参数(这个优先级高于前者):

EL表达式由小到大:page->request->session->application
OGNL表达式由上往下:(值栈,先进后出的数据结构)

package com.zengjing.action;

import com.opensymphony.xwork2.ModelDriven;
import com.zengjing.entity.User;

public class UserAction implements ModelDriven<User>{
	
	private User user=new User();
	
	@Override
	public User getModel() {
		// TODO Auto-generated method stub
		return user;
	}
	
	private String userName;
	
	
	public String getUserName() {
		return userName;
	}


	public void setUserName(String userName) {
		this.userName = userName;
	}


	public String login() {
		System.out.println(userName);
		System.out.println(user);
		if(user.getUserName().equals("jiang")&&user.getPassWord().equals("666")) {
			return "success";
		}else {
			return "error";
		}
		
	}



}

测试成功跳转到首页:
在这里插入图片描述

【Maven】使用Maven搭建Struts2框架的开发环境 Maven入门到进阶视频教程: 2020最新Maven教程-Maven基础篇之Maven实战入门_哔哩哔哩_bilibili 2020最新Maven教程-Maven进阶篇之Maven多模块管理_哔哩哔哩_bilibili Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。 Maven的主要目标是希望开发人员能在最短的时间内理解开发的完整状态。为了达到这个目标,Maven在下面几个方面做出了努力:简化构建过程、统一构建体系、提供高质量的项目信息、提. 阅读详情

相关推荐

在IDEA使用Maven搭建Struts2框架

使用IDEA通过Maven搭建Struts2本机环境创建项目打开IDEA 创建Maven项目在pom文件中添加依赖指定项目的web目录配置Struts定义自定义Action添加jsp文件部署运行获取源码, struts框架是很多程序员从servlet过渡所使用的第一个web框架,本文使用如今比较流行的编辑器IDEA,结合Maven搭建Struts框架,希望能帮助大家 本机环境 编译器:IDEA 2...

ITMonkeyS的博客 2309

Maven配置Struts2框架

Maven配置Struts2框架 这里使用的是IDEA社区版,首先创建一个Maven工程,然后选择web-app这个archetype原型。然后我们先配置一下pom.xml,代码如下 <?xml version="1.0" encoding="UTF-8"?> <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the

weixin_55850954的博客 767

Struts2 maven 完整实例

maven搭建Struts2工程,struts2返回JSON有两种方式:1.使用Servlet的输出流写入JSON字符串;2.使用Struts2对JSON的扩展

Struts2入门案例-使用Maven创建

Struts2的入门小案例,一个简单的表单提交。概念不多说,直接上步骤。具体步骤:1.创建maven的工程,添加依赖,自动生成2.修改web.xml文件,加载Struts配置3.添加Struts.xml4.编写jsp页面5.编写Action控制器6.编写Struts文件7.测试这里只细致讲解了Struts2的一些配置的使用,具体的Tomcat和maven配置,看其他的文章,有什么问题可以提出并探讨。

m0_58895417的博客 795

UE5.2 DynamicMesh避坑指南:从蓝图生成到物理碰撞的完整流程

本文详细解析了在UE5.2中使用DynamicMesh组件时,如何正确选择ADynamicMeshActor与AGeneratedDynamicMeshActor,并提供了从蓝图生成、初始化到配置物理碰撞的完整避坑流程。重点解决了SpawnActor失效、碰撞更新等常见问题,帮助开发者高效实现程序化网格生成与动态变形效果。

rrr55的博客 314

ESP32开发环境避坑指南:用Thonny烧录MicroPython固件时常见的5个错误及解决方法

本文针对ESP32开发新手,详细解析了使用Thonny IDE烧录MicroPython固件时最常见的5个错误及其解决方案。内容涵盖驱动安装、端口识别、固件烧录失败、版本兼容性、连接不稳定以及文件系统操作异常等核心痛点,并提供硬件层面的深度排查指南,帮助开发者高效搭建稳定的ESP32开发环境。

weixin_29189003的博客 407

maven搭建struts2框架

Struts2的核心是什么?它和Servlet的关系是什么? Struts2的核心是interceptor(拦截器);Struts2将Servlet注入到Action中,他们不存在依赖关系。 搭建struts2的步骤 1.首先到官网下载struts2的源码,在其lib中找到所需要的jar包 2.struts所需的依赖: commons-io commons-fileupload comm...

ZhangY1217的博客 2060

数字蓝军智能体关键技术课题研究

本研究提出基于人工智能大模型技术构建智能数字蓝军智能体系统,旨在提升作战模拟推演的智能化水平。系统采用"大模型+小模型"混合架构,整合感知、决策、规划、学习等核心模块,实现动态、智能的作战方案生成。关键技术包括大模型与知识图谱融合、多智能体协同、战场态势数字化表示等。研究成果将形成可复用的垂直领域智能体框架,为军事训练提供智能化对抗平台。该系统不仅能模拟真实对手的决策行为,还能通过自我博弈持续进化,有效增强推演的真实性和对抗性。

weixin_49042442的博客 1547

maven项目,struts2+spring+mybatis框架搭建整合,tomcat部署,开发工具Idea

ssm框架搭建,搭建过程中有,找不到spring监听,发现问题是没有把war包部署,于是在maven 中添加了war包插件。目前遗留问题为404

spider_max的博客 6356

我用WorkBuddy“克隆“了一个我,从此每句话像我自己说的

各位,做这件事花了多长时间?准备样本可能要半小时,提炼风格十分钟,保存固化再花十分钟。加起来不到一个小时。但这一个小时之后呢?你就拥有了一个"永远在线的文字替身"。以后写口播稿,打开WorkBuddy跟它说;写课程逐字稿,跟它说;写公众号文章,也跟它说。写出来的东西,你的学员一看——“嘿,这不就是翟猛老师说的嘛。说到这儿,可能有人会问:老师,我的风格有那么重要吗?AI写的不都挺好的吗?各位你想想看,你为什么愿意听某个老师的课?不只是因为他讲的内容好,更是因为你喜欢他讲话的方式。

weixin_39284145的博客 819

PlutoSDR驱动安装避坑指南:从设备管理器异常到MATLAB 2023b完美识别

本文是一份详细的PlutoSDR驱动安装与MATLAB 2023b集成排错指南。针对Windows系统下常见的设备管理器异常、驱动兼容性问题,提供了从旧驱动清理、手动指定驱动文件到USB连接稳定性排查的完整解决方案。重点阐述了如何通过离线安装硬件支持包,并利用MATLAB命令进行连接测试与射频信号验证,最终实现设备的完美识别与稳定调用。

weixin_29159441的博客 428

Maven搭建Struts2框架

1:新建Maven Project。 Artifact Id选择web app。 Group Id:项目包名  Artifact Id:模块名  0.0.1-SNAPSHOT:快照  package:包名   创建出来的项目应该是这个样子的。现在报错的意思的,没有添加servelt依赖,我用的是eclipse 4.5,创建的maven项目 默认会报错,等下再解决。先把maven的...

weixin_30629977的博客 132

ISP图像处理Verilog仿真框架搭建(附代码)

基于Verilog的图像处理仿真框架搭建

路漫漫其修远兮,吾将上下而求索 1896

使用Maven搭建Struts2框架的开发环境

一、创建基于Maven的Web项目               我使用的是MyEclipse8.5的版本,创建好的Web项目如下所示:      我们知道,一个标准的Maven项目是必须包括【src/main/java】,【src/main/resources】,【src/tes...

chengluwei3014的博客 126

BurpSuite工具HaE插件好用正则收集

数据集合面板里面直接查询捕获到的相关数据内容,省去一个个翻找数据包内容的烦恼。插件捕获到匹配正则表达式的数据包后,可以在。可以对正则条目进行添加、编辑、删除。规则信息管理,我们点击。

墨痕诉清风的博客 646

Claude Code 100个真实案例 - 用AI搭建GIS地理信息系统(地图标注+热力图)

本案例展示如何使用 Claude Code 从零搭建一个完整的 GIS 地理信息系统。我们将使用 Python + Flask 作为后端,Leaflet.js 作为前端地图引擎,实现地图标注、热力图展示、区域绘制、坐标搜索等功能。全程通过与 Claude Code 对话完成,让你感受 AI 在地理信息领域的强大开发能力。

yueyeguzhuo的专栏 112

Maven搭建Spring+Struts2+Hibernate项目详解

Maven搭建Spring+Struts2+Hibernate项目详解 1、数据库设计   2、创建Maven的webapp项目 pom.xml配置中引入所需依赖包。        3、引入Spring  配置文件在src/main/java目录下,创建spring的配置文件spring.xml spring中需要配置的是自动扫描的dao,和service层的

u012254946的博客 1185

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

【Struts2】一_idea快速搭建struts2框架

SSH是的一个集成框架,是16年之前较为流行的一种Web应用程序开源框架。区别于 Secure Shell。集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序。其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理struts和hibernate。1、导入核心jar包。

m0_70083523的博客 3334

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

使用Maven搭建简单的Struts2框架及遇到的问题

enmmm本该昨天发的博客硬生生被我推到今天了,没办法,那就多写一篇吧~~~ 首先来说Struts2,其实Struts2的介绍我在之前的博客已经写过了,有兴趣的可以自己去看。废话不多说进入正题吧 1、新建一个Maven项目(Maven03) 2、打开pom.xml,写入依赖。 &lt;!-- 属性配置 --&gt; &lt;properties&gt; &lt...

weixin_41425059的博客 433

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

maven搭建struts2环境及struts2编程【在此文上持续更新】

日期线: |||| |||| 2019年7月5日 ^^^^ |||| ||| 实现maven与struts2整合: 测试例子: 项目准备:下载好struts2的包,以及搭建好的maven环境。使用mvn命令生成项目,然后导入eclipse,如下,然后编写完成得到如下目录。 项目目录: 以下是各文件内容: WEB-INF/web.xml <!DOCT...

weixin_30485799的博客 143

使用idea集成maven创建Struts2项目

使用idea继承maven创建Struts2项目 前言 本科毕设课题是基于Struts2框架设计一个B/S架构的管理系统,因为框架没得选择,只能使用Struts2来, 这里记录了如何使用idea继承maven项目管理工具来创建Struts工程的具体步骤。 0.环境简介 idea:2019.3.3 maven:3.6.3 jdk:1.8.0_261 1.创建web项目 2.添加struts2依赖 <dependency> <groupId>org.apache.struts<

vay_ee的博客 1191

【快速搭建系列】idea快速搭建struts2框架和测试

idea快速搭建struts2框架和一些测试示例

Tuerlechat,的博客 2112

idea 用maven搭建web项目 (后续添加框架)

idea构建web项目

海底世界 1941

附录二 使用Maven2 原型(Archetype) 建立Struts程序框架

附录二 使用Maven2 原型(Archetype) 建立Struts程序框架使用如下命令可以建立一个Struts2 Starter应用程序mvn archetype:create  -DgroupId=tutorial     -DartifactId=tutorial     -DarchetypeGroupId=org.apache.struts /    -Darc

Struts 2 的专栏 7913

SSH框架搭建

SSH框架搭建-IDEA使用IDEA搭建我使用的环境开始配置文件的编写 使用IDEA搭建 我使用的环境 JDK1.8 Maven3.6.3 IDEA2020.3 Ultimate 新建Maven项目 ,勾选webapp骨架; 项目名称自定义 配置Maven路径,修改成自己的位置,然后点击Finnish IDEA会自动构建Web项目,控制台出现如图所示构建成功 此时的工程目录结构 在src/main下新建java和resources,IDEA会自动识别成Source root 若没有也

qq_43437453的博客 562
上一篇: maven 环境配置详细步骤
下一篇: struts2之ognl表达式
Jiang呀
博客等级 码龄7年 16粉丝 59原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值