深入了解struts中的struts-config.xml

2023-11-13

  弄清楚struts-config.xml中各项元素的作用,对于我们构建web项目有莫大的好处。<struts-config>是struts的根元素,它主要有8个子元素,DTD定义如下:

<!ELEMENT struts-config
(data-sources?,form-beans?,global-exceptions?,global-forwards?,action-mappings?,controller?,message-resources*,plug-in*)
>
以上8个元素,下面一一描述:
1. date-sources元素
  date-sources元素用来配置应用程序所需要的数据源。java语言提供了javax.sql.DateSource接口,所有数据源必须实现该接口。如下配置:
<data-sources>
  <data-source type="org.apached.commons.dbcp.BasicDataSource">
    ………………
  </data-source>
</data-sources>
在Action中访问方式如:
javax.sql.DataSource dataSource;
java.sql.Connection myConnection;
try
{
  dataSource = getDataSource(request);
  myConnection = dataSource.getConnection();
}
…………
  如果是多数据源,可用如下配置:
<data-sources>
  <data-source key="a"  type="org.apached.commons.dbcp.BasicDataSource">
    ………………
  </data-source>
  <data-source key="b"   type="org.apached.commons.dbcp.BasicDataSource">
    ………………
  </data-source>
</data-sources>
访问方式:dataSource = getDataSource(request,"a");

 2. form-beans元素
  该元素主要用来配置表单验证的类。它包含如下属性:
  1. classname:一般用得少,指定和form-bean无素对应的配置类,默认为org.apache.struts.config.FormBeanConfig,如果自定义,则必须扩展FormBeanConfig类。可有可无。
  2. name:ActionForm Bean的惟一标识。必须。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

深入了解struts中的struts-config.xml 的相关文章

  • 为什么我不能在 Java 8 lambda 表达式中引发异常? [复制]

    这个问题在这里已经有答案了 我升级到 Java 8 并尝试用新的 lamdba 表达式替换通过 Map 的简单迭代 该循环搜索空值 如果找到则抛出异常 旧的 Java 7 代码如下所示 for Map Entry
  • 多次或单次 Try Catch [重复]

    这个问题在这里已经有答案了 我正在清理一些代码 但我不确定哪条路线更好 目前 我的大部分方法都有一个 try catch 块 它在最后处理一些单独的异常 但我认为有更多的 try catch 块对于维护来说会更好 然而 在分解代码时 我发现
  • ASP.NET MVC OutputCache 不适用于根 URI

    我正在学习 ASP NET MVC 并被一个问题困扰 在HomeController中 Index操作具有OutputCache属性 但它似乎不起作用 HandleError public class HomeController Cont
  • JavaFX:无法设置绑定值异常

    在我的 javafx 应用程序中 我创建了一个表视图 其中有一些项目 如果项目存在于表视图中 则应启用删除按钮 否则应禁用删除按钮 现在的问题是 当我选择项目并单击删除按钮时 它会引发以下异常 我该如何解决这个问题 这是我的表格视图代码 t
  • Android JNI异常处理

    我需要在 JNI 代码中实现异常处理 我不擅长 jni 找不到任何好的例子 因此 请提供完整的示例 这就是我正在做的 jint JNI OnLoad JavaVM vm void reserved jint result 1 g JavaV
  • 在 Spring 中,为什么 POJO 上的 CGLib 的行号会丢失?

    Spring MVC Web 应用程序 我有一个不带行号的堆栈跟踪 显示在底部 我认为这是由于 CGLib 在控制器上运行所致 但这对我来说很奇怪 实际的异常发生在ServerBatchRemoteRequestAcceptor 一个没有注
  • 如何处理过时的连接?

    我们的应用程序是一个 J2EE 应用程序 在 Websphere 6 1 上通过 Mainframe DB2 后端使用 Struts EJB Hibernate 最近已投入生产 我们收到过时的连接异常当用户第一次或有时登录应用程序时 此异常
  • Polly 策略记录异常并重新抛出

    我考虑使用Polly https github com App vNext Polly handing return values and policytresult创建策略来记录异常并重新抛出 我没有找到允许它开箱即用的现有方法 但我看到
  • 在 socket.on() 的回调上调度操作

    所以基本上我得到了这个套接字 它工作正常 向我发送 新订单 消息 我正在使用 redux 并且我想分派一个操作 然后减速器会得到它并且我的商店将会更新 但这段代码没有做任何事情 socket on new order order gt re
  • 使用 ViewBag 时出现 RuntimeBinderException

    我们收到 Layout cshtml 中使用的 Viewbag 项目的 RuntimeBinderException 我们在内存分析器中观察到这些异常 它们不是致命的 一切正常 但很烦人 我们想清除它们 例如 以下代码会导致异常 Rende
  • 如何以编程方式区分不同的 IOException?

    我正在对写入 Process 对象的 StandardInput 流的代码进行一些异常处理 Process 有点像 unix head 命令 它只读取输入流的一部分 当进程终止时 写入线程会失败并显示 IOException The pip
  • 当无法处理指定的情况时,在 switch 语句中抛出异常

    假设我们有一个函数可以在 MVC 应用程序的系统中更改用户的密码 public JsonResult ChangePassword string username string currentPassword string newPassw
  • 创建从 std::exception 派生的用户异常? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 如何从标准异常创建用户异常类 解决以下情况 假设我有一个类 其中包含一些指示对象类型的枚举 因此 根据类型 成员函数是可用的 调用不可用的成员函数应该
  • 何时捕获 java.lang.Error?

    在什么情况下应该抓住java lang Error在申请上 一般来说 永远不会 但是 有时您需要捕获特定的错误 如果您正在编写类似框架的代码 加载第 3 方类 那么最好抓住LinkageError 未找到类定义 链接不满足 类更改不兼容 我
  • 当整数被零除时,msvc 6 会抛出什么异常?

    我做了一些实验 发现当整数除以零时会引发异常 include
  • DBI:在 eval 中引发错误

    这个问题参考了池上的评论 But if you re going to put an eval around every statement just use RaiseError gt 0 in this thread https sta
  • Linux 中不使用 C++ 的 C 异常处理

    Linux 是否提供了 C 语言的异常处理而不求助于 C 或者 实现此类异常处理的最佳方法是什么 目标是避免检查每个调用的函数的返回码 而是执行类似于 C 的线程安全且易于移植的操作 您可以通过为其编写信号处理程序来处理信号 GNU 记录的
  • C# 中的异常转换

    为什么我会得到一个InvalidCastException当尝试这样做时 throw ArgumentNullException new Exception errormessage null 这是以下函数的简化版本 public stat
  • 抛出异常但保留堆栈跟踪

    我想抛出异常 但也带有自定义消息和持久堆栈跟踪 我已经经历了各种线程 catch Exception ex throw Message is read only but stacktrace persist throw ex Message
  • 通过构造函数抛出异常

    假设我有以下代码 public class Conf public Conf String szPath throws IOException ConfErrorException public void someMethod 然后我想这样

随机推荐

  • sklearn库使用问题汇总

    20200813 引言 打印分类报告 问题 1 打印分类报告 在分类过程结束之后 需要反馈分类效果 使用的函数是classification report 1 函数的全部分信息如下 sklearn metrics classificatio
  • TypeError: can only concatenate str (not “list“) to str 报错

    报错如下 这里报错的意思的你的数据是个数组 这里我附上我的源码 import requests from lxml import etree import pymysql import re headers User Agent Mozil
  • vue-cli配置less变量的两种方式

    方式一 build文件配置 步骤1 安装包 npm install sass resources loader save dev 步骤二 build 的utils js配置 找到exports cssLoaders function opt
  • 计算机视觉(二)——HSV色彩分离及目标跟踪

    HSV是根据颜色的直观特性由A R Smith在1978年创造的一种颜色空间 也称六角锥体模型 这个模型中颜色的参数分别是 色调 H 饱和度 S 明度 V HSV比传统的RGB颜色空间更能准确的感知颜色 并仍保持在计算上的简单 HSV色彩分
  • win10连接filco蓝牙键盘

    参考站点 http tieba baidu com 操作步骤 1 确保PC端蓝牙驱动已经正常安装2 确保键盘的蓝牙已经解绑3 蓝牙图标上右键 选择 加入个人区域网 4 点击添加设备5 找到蓝牙键盘后 正常执行蓝牙配对连接动作
  • 测试理论学习(分类、流程、方法)

    一 软件测试 将实际结果与预期结果做对比 软件测试是使用人工或自动的手段来运行或测定某个软件系统的过程 其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别 二 软件测试发展历程 三阶段 证明软件是正确的 证明软件是错误的
  • 【C++入门到精通】 C++入门—命名空间

    前言 前面我们学习了C语言 并且知道了C语言的基础语法与用途 接下来一段时间我们会再来学习一下基于C语言并且根据C语言改造的一门新的语言 C 硕硕相信只要各位大佬们跟着我的博客看下去 肯定能有不少的收获 二话不说咱们要开车了 坐稳扶好呦 C
  • Nginx常见模块

    nginx常见模块 4 Nginx常见模块 4 1 四层访问控制 访问控制基于模块ngx http access module实现 可以通过匹配客户端源IP地址进行限制 环境配置 注意 如果能在防火墙设备控制 最好就不要在nginx上配置
  • 深度学习项目,使用python进行表情识别,pytorch应用

    文章目录 前言 一 深度学习是什么 二 数据的预处理 1 数据分类 2 代码 三 构建模型与训练 1 模型与代码 2 使用方法 四 实时识别 总结 前言 这个项目是以前课设用到的功能之一 参考了其他人的人的博客 自己做了一下整理 需要用到的
  • Intra ERC Scheme

    Iterative Method First initial the corrupted MB with neighboring MB information then use iterative techniques to conceal
  • 机器学习中梯度下降法和牛顿法的比较

    在机器学习的优化问题中 梯度下降法和牛顿法是常用的两种凸函数求极值的方法 他们都是为了求得目标函数的近似解 在逻辑斯蒂回归模型的参数求解中 一般用改良的梯度下降法 也可以用牛顿法 由于两种方法有些相似 我特地拿来简单地对比一下 下面的内容需
  • Linux日志分析工具之AWStats

    Linux日志分析工具之AWStats 博客主页 微笑的段嘉许博客主页 欢迎关注 点赞 收藏 留言 本文由微笑的段嘉许原创 CSDN首发时间 2023年2月3日 坚持和努力一定能换来诗与远方 作者水平很有限 如果发现错误 一定要及时告知作者
  • python单元测试之pytest

    前提 需要安装pytest和pytest html 安装pytest 在控制台输入 命令 pip install pytest 进行下载安装 安装pytest html 在控制台输入 命令 pip install pytest html 进
  • syntax error near unexpected token `newline'脚本无法执行

    问题描述 执行run sh脚本是报错 报错信息如下 data app information provider No such file or directory command not found run sh line 4 syntax
  • python 多并发竞争微信token刷新问题的解决方案

    看日志 正常时候的日志 2017 09 24 07 35 30 723 views py line 34 INFO GetToken from Redis 2017 09 24 07 35 31 342 views py line 24 I
  • Windows Visual Studio Fortran MS-MPI配置

    0 Visual Studio及 Intel Fortran版本信息 Windows版本为Windows11 visual studio 版本采用的是Visual Studio 2019 版本 16 11 Intel Fortran 采用的
  • Unity2018.3 笔记 ——prefab解除绑定

    Unity2018 3可以对Prefab 进行嵌套操作 并且许多操作都要在Prefab Editor下进行 但是在Prefab的操作会影响到所有预制体 如果只是想对某一个Prefab删除特定的对象 就要解除对其原有Prefab的内容进行解绑
  • 电脑或网页打开很慢是什么原因?

    网页打开很慢是什么原因 一 电脑的配置太低会 电源里调为高性能 电脑配置太低是导致打开网页速度过慢的一个根本的原因 首先我们可以查看自己电脑配置到底如何 这样就可以查看到电脑的CPU和内存两者所占用率是怎样的 如果两者占有的比例都是很高的
  • java——多线程

    文章目录 Java 的并发基础知识 1 创建线程 2 同步方法和同步代码块 3 线程安全的容器 4 volatile 关键字 5 Lock 和 Condition 接口 Java 多线程编程的基本框架 1 创建和启动线程 2 线程的状态转换
  • 深入了解struts中的struts-config.xml

    弄清楚struts config xml中各项元素的作用 对于我们构建web项目有莫大的好处