Struts教程-Struts模块化编程教程

初学者必看——最简单最清晰的Struts2项目搭建流程 我在项目中想要使用Struts2框架,我该怎么做?如何开始?这是我的疑问,我想也是很多初学者的最大的疑问。网上的理论知识应有尽有,详细的说明与操作过程却是凤毛麟角,因此把这两天的学习过程记录下来。这篇文章仅面向初学者,如果您对Struts框架已经有所了解,那么请不要浪费时间。 之前学习JavaWEB的时候曾经粗略的学习过一段时间的Struts2框架,相关概念与原理了解了很多。但转了一大圈下来 阅读详情
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>www.javabc.com
1、前言

    STRUTS是标准的"模型2"的WEB应用框架,其中的ActionServlet代表了"模型2"MVC设计模式中的"控制器" .STRUTS应用程序一般使用JSP代码生成用户界面,这些代码不包括任何商业逻辑,代表了MVC中的“VIEW”部分。需要执行商业逻辑的用户界面中的表单或超链将会由"控制器" ActionServlet接收和处理。在STRUTS中,只有一个ActionServlet实例,这个实例将接收和处理应用中的相关用户交互请求。ActionServlet实例将选择和调用相应的ACTION类来处理商业逻辑。在设计模式上,ACTION类被称为“控制辅助者”,它将修改JavaBeans,这些JavaBeans就是MVC中的“ model”部分。本文将分析在STRUTS中进行模块化编程的具体细节。

    2、样例描述

    我们将作一个模块编程的例子,这个例子包括三个模块,缺省模块、registration模块和approval模块。缺省模块下有资源index.html,我们使用它来连接其它两个模块。registration模块和approval模块的编程类似,都包含一个index.jsp和一个结果jsp:result.jsp.下面是目录结构:


点此在新窗口浏览图片

    目录结构表明,struts的模块由配置文件、java类(这里者action和form类)和资源文件构成,另外各模块可以共享web.xml,message (这里是applicatonResources.properties)文件。

    我们的例子的界面交互图可以表示如下:

点此在新窗口浏览图片

    缺省模块的index.html包括两个链接,分别连接两个模块的index.jsp资源,registration模块的index.jsp提交后,如果验证失败会重新返回到该模块的index.jsp,否则用资源resultok.jsp显示注册成功的结果。模块approval的index.jsp提交后进入到resultok.jsp的界面,显示批准与否的结果。

    我们从应用程序的文件组成和交互两方面的模块情况对我们要实现的例子进行了比较清晰的组织,下面我们讲解如何在struts中实现模块化编程。

    3、STRUTS的模块化机制

    我们将讲解STRUTS的相关配置,这些配置大部分与模块化编程有关系,有些没关系但对理解STRUTS程序有利。

    3.1 ActionServlet参数

    ActionServlet有好多参数可供设置,STRUTS在WEB应用部署描述符中定义这些参数:

    ·Config——逗号相隔的应用上下文相对的配置文件的路径,这些配置文件包含了STRUTS WEB应用的缺省模块的设置。缺省值为 /WEB-INF/struts-config.xml;

    ·config/${module} -逗号相隔的应用上下文相对的配置文件的路径,这些配置文件包含了STRUTS WEB应用的${module}模块的设置。这个模块的前缀是/${module},多个config/${module}参数定义了多个STRUTS WEB应用模块;

    ·convertNull - 如果这个参数的值为 true, 数值型Java 包装类(比如java.lang.Integer)的初始值将会是null,而不是0.缺省值[false]

    ·rulesets-逗号相隔的附加的org.apache.commons.digester.RuleSet列表,Digester在分析配置文件时,除了针对标准的配置元素的RuleSet之外,还会利用这些对象来分析配置文件,这样提供了一个配置扩展机制……

    ·validatin - 指示我们是否使用验证型的XML分析器来处理配置文件,缺省值为 [true]

    3.2 配置文件

    我们说STRUTS针对每个模块可以有一个或多个配置文件,这些配置文件使用XML来书写,下面是标准的配置文件XML的元素解释。

    3.2.1 元素 action

    这个元素描述了一个ActionMapping 对象,这个对象将用来处理用户针对某个模块相对应的URI 的请求。

点此在新窗口浏览图片

    3.2.2元素 action-mappings

    这个元素描述了一个ActionMapping 对象集,类型是org.apache.struts.action.ActionMapping.与STRUTS的ActionServlet 注册的URL模式匹配的用户请求将具体地被这些ActionMapping 对象处理。子元素定义了各个ActionMapping对象。

点此在新窗口浏览图片

    3.2.3元素 controller

    这个元素描述了一个struts模块运行环境的配置——ControllerConfig bean

点此在新窗口浏览图片

点此在新窗口浏览图片

点此在新窗口浏览图片

    3.2.4 元素 data-source

    这个元素描述了一个DataSource 对象——JDBC 2.0 标准扩展。这个对象将被保存在应用上下文中,而且可以象JavaBean 一样被设置。

点此在新窗口浏览图片

 

 
Waymo数据集里的隐藏彩蛋:5个激光雷达数据融合实战(附Python代码) 本文深入解析Waymo数据集中5个激光雷达的数据融合技术,提供Python实战代码,帮助开发者掌握多传感器协同工作的关键方法。通过时间同步、坐标转换和运动补偿等技术,实现高精度3D场景重建,提升自动驾驶系统的环境感知能力。 阅读详情

相关推荐

10-142 6-4 查询厂商“D“生产的PC和便携式电脑的平均价格

分数 10全屏浏览题目切换布局作者 lhm单位 河北农业大学本题目要求编写SQL语句,查询厂商D生产的PC和便携式电脑的平均价格。

dqd66的博客 2727

Struts2笔记1:--Struts2原理、优点、编程流程、6大配置文件以及核心配置文件struts.xml...

Struts2原理(底层使用的是Servlet的doFilter方法): Struts2优点: 第一个Struts程序:   在开发Struts程序之前,首先要导入额外的jar包,基本需求的是14个jar包,关于14个ja包是什么,有什么作用,此处不讲述。   还要配置web.xml文件,注册Struts启动项,如下: 1 <!--注册Struts启动...

weixin_30628801的博客 242

Struts、Spring与iBatis集成实战教程

本文还有配套的精品资源,点击获取 简介:本教程将引导开发者深入理解并掌握Struts、Spring和iBatis三大Java开源框架的集成应用,覆盖MVC架构、依赖注入、事务管理以及数据访问层的高效实现。文档详细描述了从环境准备到运行测试的全过程,助力开发者构建企业级Java Web应用。 1. Struts框架及其MVC模式实现 1.1 Struts框架概...

weixin_42584758的博客 822

Struts初学者教程

Welcome to Struts Tutorial for Beginners. Struts is one of the oldest frameworks to build Java Web Application. 欢迎使用Struts初学者教程Struts是构建Java Web应用程序的最古老的框架之一。 Struts教程 (Struts Tutorial) Struts wa...

从零开始的教程世界 858

struts2编程式校验和声明式校验

1.struts2数据验证 验证的方式: 客服端校验:使用js结合正则表达式来校验,不和服务器打交道,开发简单,安全性差 服务器端校验:请求web服务器,开发量比较大,但是安全性好,如果需要和数据库打交道的就必须要使用服务器端校验。 实际开发中,客户端校验比较多,最好的是客户端和服务端都校验。 struts2的校验属于服务器端校验。 (1)struts2编程式校验 编程式校验:重写父类...

小匠心的博客 452

学习编程的主要Struts-以及初学者为什么应该掌握它们。

by Rainer Hahnekamp 通过Rainer Hahnekamp 学习编程的主要Struts-以及初学者为什么应该掌握它们。 (The main pillars of learning programming — and why beginners should master them.) I have been programming for more than 20 years...

379

Struts模块化编程经典实战教程(二)

  3、STRUTS模块化机制  我们将讲解STRUTS的相关配置,这些配置大部分与模块化编程有关系,有些没关系但对理解STRUTS程序有利。    3.1 ActionServlet参数    ActionServlet有好多参数可供设置,STRUTS在WEB应用部署描述符中定义这些参数:    ·Config--逗号相隔的应用上下文相对的配置文件的路径,这些配置文件包含了STRUTS WEB

zaowei22的专栏 449

Struts模块化编程经典实战教程(一)

  1、前言  STRUTS是标准的"模型2"的WEB应用框架,其中的ActionServlet代表了"模型2"MVC设计模式中的"控制器" 。STRUTS应用程序一般使用JSP代码生成用户界面,这些代码不包括任何商业逻辑,代表了MVC中的"VIEW"部分。需要执行商业逻辑的用户界面中的表单或超链将会由"控制器" ActionServlet接收和处理。在STRUTS中,只有一个ActionServ

zaowei22的专栏 357

Struts模块化编程教程

[url]http://www.cnblogs.com/sgsoft/articles/88282.html[/url]

小嘴冰凉 133

struts2之4--模块化开发的支持

如图: 我如果需要开发一个新的模块,在组织代码的时候,为了便于后期维护,我就需要独立的文件夹,独立的配置文件来维护代码。struts2在这些方面给了住够灵活的支持。 主要体现在namespace,include 两个元素上。国际化的时候,属性文件由基本名称来进行模块化支持。

卫国的专栏 2124

Struts模块化开发学习小结

Struts模块化开发学习小结:1、  采用struts1.1及以上版本2、  采用多配置文件,一个模块一个配置文件(一个核心struts-config.xml和多个struts-config-xxxx.xml),需要在web.xml文件中配置,以下形式举例:init-param>      param-name>configparam-name>      param-val

沉 麟 的专栏 1255

Java Struts框架全教程:从基础到实战

本文还有配套的精品资源,点击获取 简介:Java Struts是一个MVC框架,用于构建高效、可扩展的Web应用程序。本教程旨在帮助开发者深入了解Struts框架及其实际应用,涵盖基础概念、配置、视图层开发、模型实现、控制器编程、异常处理、国际化以及性能优化等方面。通过阅读详细指导和完成实战项目,学习者可以深入掌握Struts框架的使用,提升Web应用开发技能。 ...

weixin_32480007的博客 1818

Jakara Struts 编程 读书笔记(1)(章节:1-2)

    书桌上摆着一本一年前就已经买好的书。 从来就没觉得web技术有多复杂,无非是架构在http协议上的一种用户和服务器之间交互的技术而已,不过最近拿起来这本书看了看,才发现这里面还是讲了不少好东西,不仅仅是web上的,还有一些讨论设计架构的知识。    言归正传,书中的第一章简单的介绍了web相关的一些常识。包括当年为了使用web技术不得不编写CGI而且还要让系统对每一个http请求都开一

一块积木 5078

Struts: Action编程要点

Action编程要点 Strtuts中Action接口定义一个单一的必须由Action类实现的方法,就像下面这样:public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IO

jianghe727的专栏 830

struts2的简单的编程步骤

1.导入jar包   a.struts2-core-2.1.8.1.jar-Struts2核心包,是Struts框架的“外衣。 b.xwork-core-2.1.6.jar-Struts2核心包,是WebWork内核。 c.ognl-2.7.3.jar-用来支持ognl表达式的,类似于EL表达式,功能比EL表达式强大的多。 d.freemarker-2.3.15.jar-freemark

烟雨青山 999

使用Struts2开发程序的基本步骤

使用Struts2开发程序的基本步骤如下:struts.apache.org 第一步:导入架包 (1)commons-fileupload-1.3.2.jar    文件上传时需要使用 (2)commons-io-2.2.jar              Java io扩展 (3)commons-lang3-3.2.jar           包含了一些数据类型的工具类 (4)commo

XHui_Lin的博客 2885

关于学习编程struts)的一点小感想

昨天开始学习struts,但是第一天就遇到一个麻烦,

chenxinqiang2005的专栏 708

设计模式精讲】4.单例模式(Singleton)

【摘要】:全局配置、日志器、线程池,这类对象在整个进程里只需要一份。多数人的第一反应是定义一个全局变量,随后便陷入初始化顺序失控、重复构造、多线程竞争的泥潭。本文从全局变量的三宗罪讲起,给出单例模式的意图与结构;重点拆解 C++ 中线程安全单例的三种写法——Meyers’ Singleton、双检锁的坑与修正、std::call_once,并比较它们的行为差异。文章最后讨论单例的代价与替代方案,提醒读者:单例是受限的全局状态,能少用就少用。

码工许师傅 498

bouc_wen_simulink.rar_BOUC-WEN SIMULINK_Bouc_Wen_Bouc–Wen_bouc w

bouc-wen模型的simlink仿真

上一篇: struts2学习笔记
下一篇: struts2的struts.properties配置文件详解
smile6688
博客等级 码龄21年 1粉丝 9原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值