struts基本使用方法总结

struts基本使用 有关struts的基本使用 立即下载

一、使用struts必须先配置web.xml文件

     web.xml包含一切映射联系,包含着Servlet映射、过滤器映射等,处理表单提交的一切信息。而struts也是基于Servlet的。可以出从以下配置文件看出来。

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	version="2.4"
	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<!-- 中文编码过滤器 -->
	<filter>
		<filter-name>CharacterEncodingFilter</filter-name>
		<filter-class>com.jwy.tools.CharacterEncodingFilter</filter-class>
		<init-param>
			<param-name>encoding</param-name>
			<param-value>GBK</param-value>
		</init-param>
	</filter>
	<filter-mapping>
		<filter-name>CharacterEncodingFilter</filter-name>
		<url-pattern>/*</url-pattern>
		<dispatcher>REQUEST</dispatcher>
		<dispatcher>FORWARD</dispatcher>
	</filter-mapping>

<!-- Struts应用配置,在这里也可以配置多个模块的struts-config.xml -->
	<servlet>
		<servlet-name>action</servlet-name>
		<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>       <!--1.从这里可以看出struts也是一个Servlet-->
		<init-param>
			<param-name>config</param-name>
			<param-value>/WEB-INF/struts-config.xml</param-value>
		</init-param>
		<init-param>
			<param-name>debug</param-name>
			<param-value>3</param-value>
		</init-param>
		<init-param>
			<param-name>detail</param-name>
			<param-value>3</param-value>
		</init-param>
		<load-on-startup>0</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>action</servlet-name>
		<url-pattern>*.do</url-pattern>                                                <!--2.从这里让struts解析所有.do请求-->
	</servlet-mapping>

  <!--3.下面举个普遍的Servlet以示区别-->
 <servlet>
  <servlet-name>User</servlet-name>
  <servlet-class>com.jwy.servlet.User</servlet-class>
 </servlet>
 <servlet-mapping>
  <servlet-name>User</servlet-name>
  <url-pattern>/User</url-pattern>  <!--解析User的请求,/是为了分段url中的User,必须要。该类处理的参数也是通过String username=new String(request.getParameter("username").getBytes("ISO-8859-1"),"GBK");//避免乱码-->
 </servlet-mapping>
 
<!-- 欢迎页面 -->
	<welcome-file-list>
		<welcome-file>index.jsp</welcome-file>
	</welcome-file-list>
</web-app>
归纳:可以看出Servlet采用的request传递参数,但是struts是采用form-bean,更加独立业务逻辑;

二、配置Action的*.xml文件

       不要以为struts-config.xml是struts自己带的。它只是一个Action的配置文件,对应着上面web.xml中config参数,可以自由命名。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">

<struts-config>
	<data-sources />
	<form-beans>
		<!-- 用户登录Form -->
		<form-bean name="userLoginForm" type="org.apache.struts.action.DynaActionForm">
			<form-property name="pwd" type="java.lang.String" />
			<form-property name="loginName" type="java.lang.String" />
			<form-property name="id" type="java.lang.Integer" />
			<form-property name="type" type="java.lang.String" />
			<form-property name="mail" type="java.lang.String" />
			<form-property name="pwd1" type="java.lang.String" />
		</form-bean>		
	</form-beans>
	<global-exceptions />
	<global-forwards/>
	<action-mappings>
		<!-- 处理用户登录页面请求类,必须继承下面三实现form-bean传递,对应上面的userLoginForm -->
		<action type="com.jwy.action.UserLoginAction" name="userLoginForm" path="/userLogin" scope="request">
			<forward name="index" path="/index.jsp" />
			<forward name="manager" path="/manager/manager.jsp" />
			<forward name="welcome" path="/stu/welcome.jsp" />
			<forward name="addStuInfo" path="/stu/addStuInfo.jsp" />		        </action>
	</action-mappings>
</struts-config>

三、实现action的类

1、业务逻辑单一,继承org.apache.struts.action.Action抽象类,实现excute()方法,不必覆盖它:

mport org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.DynaActionForm;
public class UserLoginAction extends Action{
        public ActionForward excute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)
          {
		DynaActionForm courseForm = (DynaActionForm) form; //提取出form-bean

		Course course = new Course();
		course.setName(courseForm.getString("name"));
		course.setSchooltime(courseForm.getString("schooltime"));
		course.setAddr(courseForm.getString("addr"));		
		courseDao.insert(course);
		mapping.findForward("index"); //上面配置文件的forward元素
	}
}


2、也业务不止一个,继承DispatchAction抽象类,它也继承Action,采用哪个业务逻辑由<action type="com.jwy.action.UserLoginAction" name="userLoginForm" path="/userLoginAction" scope="request"parameter=“first”>中的parameter和jsp中的<form action="userLoginAction?first=insert">的url参数决定的

mport org.apache.struts.action.DispatcherAction;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.DynaActionForm;
public class UserLoginAction extends DispatcherAction{
        public ActionForward  insert(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)
          {
		DynaActionForm courseForm = (DynaActionForm) form; //提取出form-bean

		Course course = new Course();
		course.setName(courseForm.getString("name"));
		course.setSchooltime(courseForm.getString("schooltime"));
		course.setAddr(courseForm.getString("addr"));		
		courseDao.insert(course);
		mapping.findForward("index"); //上面配置文件的forward元素
	}
}



Struts基本用法 Struts入门必备 立即下载

相关推荐

struts用法总结

很好的总结了struts的用法,以及开发中的注意点

Struts使用入门使用

Struts使用入门Struts简介 Struts简介 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190617161540519.png Struts 官网地址 :https://struts.apache.org/ 那么我们知道Strtus只一个web框架,用它可以来替换我们之前所用过的servlet技术,既然使用它,我们先来看下它执行的过程 ...

xiezhi_1130的博客 874

华为灵衢UB总线介绍

华为发布"灵衢"(UB)超节点互联协议,旨在构建支持AI大模型计算的基础设施。该协议采用统一内存语义和对等架构,使设备可直接访问远程内存,实现资源池化。技术突破包括2.1微秒超低时延和TB级带宽,支持64节点、52万张昇腾卡的集群互联。相比传统RDMA,"灵衢"更注重系统级资源调度,而非单纯数据传输。华为开放技术规范,推动生态建设,已有厂商开发兼容IP核。"灵衢"可适应x86、RISC-V等架构,未来将扩展至百万卡规模集群。

技术引领业务创新 4422

一、Struts基本介绍和使用

Struts的几个基本概念 1.struts是一个框架(frameset) 2.struts是一个web框架 3.框架提高了程序的规范同时,也约束了程序员的自由 4.struts是一个开源框架 Struts为什么有? struts的好处: 程序更加规范化 程序开发的效率提高了 程序的可读性增加 程序的可维护性增加了 struts的不足之处: 1.form表单有点鸡肋 2.action是单态(对网站...

也许是我送你哦 5万+

StarWind V2V Converter v9 虚拟磁盘转换工具使用教程 (转)

StarWind V2V Converter v9.0.1.268 是一款免费的虚拟磁盘转换工具,支持不同管理程序间的虚拟机镜像格式转换,包括VMDK、VHD/VHDX、IMG和QCOW2等格式。该工具具有窗口修复模式、零拷贝转换和管理程序切换等特色功能,能够轻松实现物理机到虚拟机的转换,并兼容主流管理程序如Hyper-V、ESXi等。使用教程详细介绍了从本地文件选择到格式转换的完整操作流程,转换过程简单高效且不影响原虚拟磁盘数据。

hsh的专栏 1481

Voicebox本地部署:模型下载与离线模式实战指南

在本地语音处理场景中,模型下载失败和离线运行需求是开发者最常遇到的两大难题。理解语音工具的本地推理原理,关键在于掌握模型文件与程序逻辑的分离管理:模型独立下载,程序负责推理,输出留在本机。这种架构带来显著的技术价值——数据不出本地、不依赖公网、批量任务不中断。无论是语音识别转写、语音合成,还是集成到自动化脚本中,本地离线模式都能在隐私敏感或网络不稳定环境下稳定运行。对开发者而言,先解决模型文件的完整获取,再验证离线启动流程,就能绕过“无法下载模型”的常见坑。本文从环境准备、模型放置、服务启动到接口调用,提供

weixin_29048309的博客 306

struts使用

1.struts配置 1.1在pom.xml导入struts与tomcat的jar依赖(在maven中默认没有tomcat) <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/ma

weixin_58670730的博客 688

告别抖动与滞后:深入博能传动伺服DSC功能,用105报文提升多轴同步性能

本文深入解析博能传动伺服DSC功能如何通过105报文实现多轴同步性能提升,有效解决工业自动化中的抖动与滞后问题。详细介绍了DSC技术原理、105报文实现机制及多轴同步工程实践,帮助工程师优化伺服系统性能,实现绝对齿轮同步。

weixin_30394981的博客 184

struts的初步使用

目标: 一:struts的配置 二:struts的动态方法调用 三:struts的传参 四:struts与tomcat的集成 一:struts的配置 第一步:导依赖(pom.xml) 首先在左侧菜单栏右键 然后点击Maven Project,再点击Next 继续Next 然后Catalog选择Internal,Filter选择最后一个,然后继续Next 然后Group Id为包名,Artifact Id为项目名,然后Finish 然后这一步还需要将...

A2895922320的博客 475

Synology-群晖(三)DSM7.0系统Video Station无法播放DTS eac3解决方案

群晖升级DSM7.0后,发现部分DTS eac3解码的视频无法通过Vedio Station 3.0.1-2067进行播放,提示不支持该格式视频,初步判断是无法加载ffmpeg解码导致,网上搜了很多处理办法都没有办法解决,最终在知乎上看到一片文章,按此办法解决了这个问题,目前经过验证,该方案完美支持最新版本Video Station 3.0.1-2067,验证系统为DSM7.0和DSM7.0.1,这里使用的NAS为 Vmware虚拟机 黑群晖 演示。大概步骤如下: 添加这个社群来源 http://p

weixin_45827203的博客 3万+

ARM架构下的SLAM部署避坑指南:香橙派AIpro与D435i深度相机的实战解析

本文详细解析了在ARM架构的香橙派AIpro开发板上部署SLAM算法并与Intel D435i深度相机配合的实战经验。内容涵盖系统配置、ROS编译、驱动安装、算法优化等关键步骤,提供了具体的避坑指南和性能调优技巧,帮助开发者在嵌入式平台上高效实现实时SLAM应用。

f0g1h2的博客 981

Struts的初步使用

本人分享一下这次字节跳动、美团、头条等大厂的面试真题涉及到的知识点,以及我个人的学习方法、学习路线等,当然也整理了一些学习文档资料出来是附赠给大家的。知识点涉及比较全面,包括但不限于前端基础,HTML,CSS,JavaScript,Vue,ES6,HTTP,浏览器,算法等等详细大厂面试题答案、学习笔记、学习视频等资料领取,点击资料领取直通车出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!**如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)

2401_84097941的博客 872

PCL点云算法与项目实战案例汇总(长期更新)

本专栏将深入探讨PCL(点云库)的基础算法,旨在帮助读者掌握点云处理的核心技术。内容涵盖点云的采样、过滤、配准、分割等基础操作,并结合实际案例,展示这些算法在工程中的应用。无论你是初学者还是有一定经验的开发者,都能通过本专栏加深对PCL的理解,提升在三维数据处理领域的技能。

纵马踏花向自由 3002

struts2框架编写web的基本方法

struts框架配置这里不多说,网上有很多相关教程。 1.目录介绍 2.action机制(struts.xml) 3.前端与后端action的交互

随它 608

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

如何配置struts+hibernate,基本使用方法

不少童鞋在自学SSH框架的时候,难在创建第一个项目,如何搭建好这些框架,很多书上只是给出了代码但是没有教如何使用,所以在本次博客中将会图文结合来说一下如何使用struts结合hibernate,并创建一个小栗子。 首先注明本例使用的是myeclipse+MySQL,在myeclipse环境中搭建。 首先,打开myeclipse,创建一个web project。 右击创建的项目,找到

Java知音 3265

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

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

struts中使用validation构架 基本配置方法

1、复制validation.xml,validation-rules.xml到WEB-INF文件夹下;2、需要在struts配置文件(struts-config.xml)中增加如下信息:         3、把ActionForm改为继承ValidatorForm;4、配置validator.xml5、页面显示错误提示信息                         

zhang9981204的专栏 1967

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Cropper基本属性和方法以及使用struts来下载图片

Cropper基本属性和方法 Cropper基本属性和方法以及使用struts来下载图片 导入struts相关jar包 c3p0-0.9.5.5.jar commons-dbutils-1.4.jar commons-fileupload-1.3.3.jar commons-io-2.5.jar commons-lang3-3.6.jar commons-logging-1.1.3.jar freemarker-2.3.26-incubating.jar javassist-3.22.0-GA.jar lo

Aqours的博客 540

构建struts2框架的基本方法

<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd">

Ricky_Damn的专栏 398

Struts、JSTL标签库的基本使用方法

一 使用Struts标签之前需要经过下面3个步骤的配置。   1、导入TLD文件。   2、在web.xml中注册标签库。   3、在页面中引入标签库。 下面详细介绍以上步骤。 1 导入TLD文件。 TLD文件是Struts的标签库描述文件,一般将其直接复制到应用工程的WEB-INF目录下,如图所示。 2 在web.xml中注册标签库。 在JSP文件中使用逻辑引用的方法来指向实...

weixin_33795833的博客 192

Struts2学习---基本配置,action,动态方法调用,action接收参数

&#13; 首先我们先来直接配置,然后再来讲原理: 第一步:jar包的引入: 我们可以到struts2的官网上下载: http://struts.apache.org/download.cgi#struts2513 然后解压将里面的app文件夹下的示例war文件解压,将里面的struts.xml复制到我们新创建的src目录下(特别说一下,struts2最新的Struts 2....

m0_37109682的博客 150

Struts2的基本项目实现、简易使用方法

Struts2的基本项目实现、简易使用方法项目描述:如何搭建基本的struts2运行环境,从前端发送带参请求,经过struts.xml的action-result配置转接进后端的java程序里处理,处理的功能包括:转换上传的参数,并把参数经过Action、Service、Dao层存储进数据库. 快速配置struts2环境 前端jsp和返回jsp创建 发送参数,转入后台,完成指定功能 编写后台程序 输

fwhezfwhez的博客 654

解决Struts2乱码问题基本方法

乱码问题由来已久,而且涉及多方面的知识,所以并非三言两语可以说明白,而且互联网上也已经有很多这方便的文章,大家可以Google一下。不过,如果你在开发的过程,多注意一下,避免乱码问题也不难。乱码多数是由于编码与解码所使用的方式不同造成的,所以我建议大家将编码方式都设为“utf-8”,如。另外,在配置web.xml时使用ActionContextCleanUp过滤器(Filter),如下面代码所

yehell的专栏 2856
上一篇: Spring整合Hibernate用法总结
下一篇: 就业任务之三——居安思危
Hobootu
博客等级 码龄15年 41粉丝 69原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值