Struts2-入门学习

 

Struts2入门

 

Struts2是基于Struts 和webwork形成的,比Struts1提供了更多更强大的功能。(可以说Struts2是webwork的衍生)

一、使用Struts2所必须的jar包

:commons-filoupload-1.2.1.jar

commons-io-1.3.2.jar

commons-logging-1.0.4.jar

ognl-3.0.jar //对象表达语言

strus2-core-2.2.1.1.jar//struts2核心库

xwork-core-2.2.1.1.jar

freamarker-2.3.16.jar //从struts2.0开始需要此jar包

javassist-3.7.ga.jar

 

二、创建Struts2的配置文件

:在 src下面创建struts.xml //导入struts2.0.dtd 它在struts2-core-2.2.1.1.jar的目录下

/*为什么要在src下面创建struts.xml

因为Struts2框架真正的配置文件在项目中的classes文件中

创建在src下面是为了让IDE能够自动拷贝到Struts真正执行的配置文件中

*/

 

//如何配置struts.xml
		<?xml version="1.0" encoding="UTF-8"?>
		   
<!DOCTYPE struts PUBLIC 
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
			"http://struts.apache.org/dtds/struts-2.0.dtd">
			
<struts>
<package name="struts2" extends="struts-default">
        //继承了struts-default.xml
	//配置一个Action对象
	/*package 中name的值无任何实际意义 可以用于其它packeage的继承*/
	<action name="login" class="org.viancent.action.LoginAction">
		<result name="success">/result.jsp</result>
/*
		result标签中还有一个属性Type用于指定跳转的类型它默认的是使用dispathcer 请求转发redirect则是重定向等等在struts-default.xml都有定义
*/
	</action>
</package>	
</struts>

//在struts2 在web.xml的配置如下:struts2需要配置在web.xml文件文件中配置一个过滤器

<filter>
	<filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
       <filter-name>struts2</filter-name>
		<url-pattern>
                   /*    //(这里一般使用"/*")
           </url-pattern> //注意啦,这里不能用"/*.action" (能够使用“*.action” 但是只有在项目中没有Jsp使用struts2标签的时候才能使用,否则会抛出异常)
</filter-mapping>

 

//在LoginAction类中的信息
		public class LoginAction {
		private String username;  
		/*
		当表单将数据发送进来后,表单中的属性名会与LoginAction中的
		(set+表单元素的名称的方法 如:setUsername()方法对应
		<input type="text" name="userName" id="userName">元素)进行比对,
		*/		
		private String password;
		//如果相同则将数据信息赋值给该属性,并且将数据信息保存在request作用域中

		public String getUsername() {
			return username;
		}

		public void setUsername(String username) {
			this.username = username;
		}

		public String getPassword() {
			return password;
		}

		public void setPassword(String password) {
			this.password = password;
		}

		public  String execute() {
			return "success";
		}
		}

//在index.jsp中的信息为:

 

<body>
	<form action="login.action"> 
       //这里填写struts.xml 文件中配置的与之处理相关的Action 标签的name属性的值+.action
		username:<input type="text" name="username" id="username" />
		<br />
                password:<input type="password" name="password" id="password"/>
		<br />
		<input type="submit" value="submit" />
	 </form>
</body>

//配置一个result.jsp 显示结果页面

//启动服务器

		//在tomcat apache-tomcat-6.0.14服务器中config文件夹中的service.xml
		/*文件中的<host>标签中添加项目启动信息
		<Context path="/struts2" docBase="C:\Users\Administrator\Workspaces\MyEclipse 8.5\Struts2\WebRoot"
		reloadable="true"/>
		reloadable :设置当工程有改动的时候是否自动加载
		path: 浏览器访问时需要的路径
		docBase:启动的项目路径 对应WebRoot路径
		*/

//在浏览器中

//使用 http://localhost:8080/struts2/ 访问index.jsp界面

//struts2 项目中可能出现的异常

a):java.lang.reflect.InvocationTargetException
Caused by: java.lang.IllegalArgumentException: Javassist library is missing in classpath! Please add missed dependency!
解析:这个问题说明项目中缺少javassist-3.7.ga.jar 此异常常出现在struts2.2.1.1版本中老版中将此jar包封装在struts2库中所以不会出现此类异常

b):There is no Action mapped for namespace / and action name login
解析:这个问题出在服务器没有找到对应的acion对象 可能出现的原因有一下几点:
1.struts.xml 写错了,大小写都会去区分
2.url访问的ation 的名称错误
3.struts.xml的位置错误

以前写的东西,贡献出来尽一点绵力吧。后续会有更多文章,希望与大家互相学习。如果有错误请不吝赐教。
具有多种最大功率点跟踪(MPPT)方法的光伏发电系统(P&O-增量法-人工神经网络-模糊逻辑控制-粒子群优化)之使用粒子群算法的最大功率点追踪(MPPT)(Simulink仿真实现)内容概要:本文介绍了一个涵盖多个科研领域的综合性MATLAB仿真资源集合,重点聚焦于光伏发电系统中基于粒子群优化(PSO)算法的最大功率点追踪(MPPT)技术的Simulink仿真实现。文档还列举了多种MPPT方法(如P&O、增量电导法、神经网络、模糊逻辑控制等),并展示了该团队在电力系统、智能优化算法、机器学习、路径规划、无人机控制、信号处理等多个方向的技术服务能力与代码实现案例。整体内容以科研仿真为核心,提供大量可复现的Matlab/Simulink模型和优化算法应用实例。; 适合人群:具备一定电力电子、自动控制或新能源背景,熟悉MATLAB/Simulink环境,从事科研或工程仿真的研究生、科研人员及技术人员。; 使用场景及目标:①学习并实现光伏系统中基于粒子群算法的MPPT控制策略;②掌握多种智能优化算法在电力系统与自动化领域的建模与仿真方法;③获取可用于论文复现、项目开发和技术攻关的高质量仿真资源。; 阅读建议:建议结合提供的网盘资料,按照研究方向选取对应模块进行实践,重点关注Simulink模型结构与算法代码逻辑的结合,注重从原理到仿真实现的全过程理解,提升科研建模能力。
热成像人物检测数据集 一、基础信息 数据集名称:热成像人物检测数据集 图片数量: 训练集:424张图片 验证集:121张图片 测试集:61张图片 总计:606张热成像图片 分类类别: - 热成像人物:在热成像图像中的人物实例 - 非热成像人物:在非热成像或普通图像中的人物实例,用于对比分析 标注格式: YOLO格式,包含边界框和类别标签,适用于目标检测任务。数据来源于热成像和视觉图像,覆盖多种场景条件。 二、适用场景 热成像监控与安防系统开发: 数据集支持目标检测任务,帮助构建能够在低光、夜间或恶劣环境下自动检测和定位人物的AI模型,提升监控系统的可靠性和实时响应能力。 红外视觉应用研发: 集成至红外摄像头或热成像设备中,实现实时人物检测功能,应用于安防、军事、救援和工业检测等领域。 学术研究与创新: 支持计算机视觉与热成像技术的交叉研究,助力开发新算法用于人物行为分析或环境适应型检测模型。 教育与培训: 可用于高校或培训机构,作为学习热成像人物检测和AI模型开发的教学资源,提升实践技能。 三、数据集优势 精准标注与多样性: 每张图片均由专业标注员标注,确保边界框定位准确,类别分类清晰。包含热成像和非热成像类别,提供对比数据,增强模型的泛化能力和鲁棒性。 场景实用性强: 数据覆盖多种环境条件,如不同光照和天气,模拟真实世界应用,适用于复杂场景下的人物检测任务。 任务适配性高: YOLO标注格式兼容主流深度学习框架(如YOLOv5、YOLOv8等),可直接加载使用,支持快速模型开发和评估。 应用价值突出: 专注于热成像人物检测,在安防、监控和特殊环境检测中具有重要价值,支持早期预警和高效决策。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值