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的位置错误

以前写的东西,贡献出来尽一点绵力吧。后续会有更多文章,希望与大家互相学习。如果有错误请不吝赐教。
数据集介绍:电力线目标检测数据集 一、基础信息 数据集名称:电力线目标检测数据集 图片数量: 训练集:2898张图片 验证集:263张图片 测试集:138张图片 总计:3299张图片 分类类别: 类别ID: 0(电力线) 标注格式: YOLO格式,包含对象标注信息,适用于目标检测任务。 数据格式:JPEG/PNG图片,来源于空中拍摄或监控视觉。 二、适用场景 电力设施监控与巡检: 数据集支持目标检测任务,帮助构建能够自动识别和定位电力线的AI模型,用于无人机或固定摄像头巡检,提升电力设施维护效率和安全性。 能源与公用事业管理: 集成至能源管理系统中,提供实时电力线检测功能,辅助进行风险 assessment 和预防性维护,优化能源分配。 计算机视觉算法研究: 支持目标检测技术在特定领域的应用研究,促进AI在能源和公用事业行业的创新与发展。 专业培训与教育: 数据集可用于电力行业培训课程,作为工程师和技术人员学习电力线检测与识别的重要资源。 三、数据集优势 标注精准可靠: 每张图片均经过专业标注,确保电力线对象的定位准确,适用于高精度模型训练。 数据多样性丰富: 包含多种环境下的电力线图片,如空中视角,覆盖不同场景条件,提升模型的泛化能力和鲁棒性。 任务适配性强: 标注格式兼容YOLO等主流深度学习框架,便于快速集成和模型开发,支持目标检测任务的直接应用。 实用价值突出: 专注于电力线检测,为智能电网、自动化巡检和能源设施监控提供关键数据支撑,具有较高的行业应用价值。
【弹簧阻尼器】基于卡尔曼滤波弹簧质量阻尼器系统噪声测量实时状态估计研究(Matlab代码实现)内容概要:本文围绕“基于卡尔曼滤波的弹簧质量阻尼器系统噪声测量与实时状态估计”展开研究,利用Matlab代码实现对系统状态的精确估计。重点在于应用卡尔曼滤波技术处理系统中存在的噪声干扰,提升对弹簧质量阻尼器系统动态行为的实时观测能力。文中详细阐述了系统建模、噪声特性分析及卡尔曼滤波算法的设计与实现过程,展示了滤波算法在抑制测量噪声、提高状态估计精度方面的有效性。同时,该研究属于更广泛的信号处理与状态估计技术应用范畴,适用于复杂动态系统的监控与控制。; 适合人群:具备一定控制系统理论基础和Matlab编程经验的高校研究生、科研人员及工程技术人员,尤其适合从事动态系统建模、状态估计与滤波算法研究的相关人员。; 使用场景及目标:①应用于机械、航空航天、自动化等领域中对振动系统状态的高精度实时估计;②为噪声环境下的传感器数据融合与状态预测提供算法支持;③作为卡尔曼滤波算法在实际物理系统中应用的教学与科研案例。; 阅读建议:建议读者结合Matlab代码实践,深入理解系统建模与滤波器设计的关键步骤,关注噪声建模与滤波参数调优对估计性能的影响,并可进一步拓展至扩展卡尔曼滤波(EKF)或无迹卡尔曼滤波(UKF)在非线性系统中的应用。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值