Struts 教程
Struts 教程
Struts - 概述
Struts - 环境设置
Struts - 架构
Struts - Hello World 示例
Struts - 配置文件
Struts - 动作
Struts - 拦截器
Struts - 结果和结果类型
Struts - 值栈/OGNL
Struts - 文件上传
Struts - 数据库访问
Struts - 发送电子邮件
Struts - 验证框架
Struts - 本地化、国际化 (i18n)
Struts - 类型转换
Struts - 主题和模板
Struts - 异常处理
Struts - 注解
Struts 标签
Struts - 控制标签
Struts - 数据标签
Struts - 表单标签
Struts - Ajax 标签
Struts 集成
Struts 和 Spring 集成
Struts 和 Tiles 集成
Struts 和 Hibernate 集成
上一节: Struts - Hello World 示例
上一节
下一节: Struts - 动作
下一节
Struts - 配置文件
简述
本章将带您完成基本配置 Struts 2应用。在这里,我们将看到可以借助几个重要的配置文件(例如web.xml, struts.xml, strutsconfig.xml 和 struts.properties
老实说,您只需使用即可开始工作 web.xml 和 struts.xml配置文件(正如您在上一章中看到的,我们的示例使用这两个文件工作)。但是,为了您的知识,我们还将解释其他文件。
web.xml 文件
web.xml 配置文件是一个 J2EE 配置文件,它决定了 servlet 容器如何处理 HTTP 请求的元素。它不是严格意义上的 Struts2 配置文件,而是 Struts2 需要配置才能工作的文件。
如前所述,该文件为任何 Web 应用程序提供了一个入口点。Struts2 应用程序的入口点将是部署描述符(web.xml)中定义的过滤器。因此,我们将在 web.xml 中定义FilterDispatcher类的条目 。文件夹下需要创建web.xml文件WebContent/WEB-INF.
如果您在没有生成它的模板或工具(例如 Eclipse 或 Maven2)的帮助下启动,这是您需要配置的第一个配置文件。
以下是我们在上一个示例中使用的 web.xml 文件的内容。
xmlns = "http://java.sun.com/xml/ns/javaee" xmlns:web = "http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id = "WebApp_ID" version = "3.0"> org.apache.struts2.dispatcher.FilterDispatcher
请注意,我们将 Struts 2 过滤器映射到 /*,而不是 /*.action这意味着所有 url 都将被 struts 过滤器解析。我们将在完成注释章节时介绍这一点。
Struts.xml 文件
这 struts.xml文件包含您将在开发操作时修改的配置信息。此文件可用于覆盖应用程序的默认设置,例如struts.devMode = false和在属性文件中定义的其他设置。这个文件可以在文件夹下创建WEB-INF/classes.
让我们看看我们在前一章解释的 Hello World 示例中创建的 struts.xml 文件。
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
class = "com.jc2182.struts2.HelloWorldAction" method = "execute">
<-- more actions can be listed here -->
<-- more packages can be listed here -->
首先要注意的是 DOCTYPE. 所有 struts 配置文件都需要具有正确的文档类型,如我们的小示例所示。
例如,如果您的项目具有三个域 - business_application、customer_application 和 staff_application,那么您可以创建三个包并将关联的操作存储在适当的包中。
包标签具有以下属性 -
序号
属性和描述
1
name (required)
包裹的唯一标识符
2
extends
这个包是从哪个包扩展的?默认情况下,我们使用 struts-default 作为基础包。
3
abstract
如果标记为 true,则该包不可用于最终用户消费。
4
namespace
操作的唯一命名空间
这 constant 标签以及名称和值属性应该用于覆盖定义的以下任何属性 default.properties,就像我们刚刚设置 struts.devMode财产。环境struts.devMode 属性允许我们在日志文件中查看更多调试消息。
我们定义 action 标签对应于我们想要访问的每个 URL,我们定义了一个带有 execute() 方法的类,每当我们访问相应的 URL 时都会访问它。
结果决定了执行操作后返回给浏览器的内容。操作返回的字符串应该是结果的名称。结果按上述配置,或作为“全局”结果,可用于包中的每个操作。结果有可选name 和 type属性。默认名称值为“成功”。
Struts.xml 文件会随着时间的推移而变大,因此通过包来分解它是一种模块化的方法,但是 Struts提供了另一种模块化 struts.xml 文件的方法。您可以将文件拆分为多个 xml 文件并按以下方式导入它们。
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
我们没有涉及的另一个配置文件是 struts-default.xml。该文件包含 Struts 的标准配置设置,您不必为 99.99% 的项目修改这些设置。出于这个原因,我们不会对此文件进行过多的详细介绍。如果您有兴趣,请查看default.properties 文件在 struts2-core-2.2.3.jar 文件中可用。
Struts-config.xml 文件
struts-config.xml 配置文件是 Web Client 中 View 和 Model 组件之间的链接,但您不必为 99.99% 的项目修改这些设置。
配置文件基本上包含以下主要元素 -
序号
拦截器和描述
1
struts-config
这是配置文件的根节点。
2
form-beans
这是您将 ActionForm 子类映射到名称的地方。在 strutsconfig.xml 文件的其余部分,甚至在 JSP 页面上,您都使用此名称作为 ActionForm 的别名。
3
global forwards
本节将您的 web 应用程序上的页面映射到一个名称。您可以使用此名称来引用实际页面。这可以避免在您的网页上硬编码 URL。
4
action-mappings
这是您声明表单处理程序的地方,它们也称为动作映射。
5
controller
本节配置 Struts 内部,在实际情况中很少使用。
6
plug-in
此部分告诉 Struts 在哪里可以找到您的属性文件,其中包含提示和错误消息
以下是示例 struts-config.xml 文件 -
"-//Apache Software Foundation//DTD Struts Configuration 1.0//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_0.dtd">
path = "/login" type = "test.struts.LoginAction" >
debug = "3" maxFileSize = "1.618M" locale = "true" nocache = "true"/> 有关 struts-config.xml 文件的更多详细信息,请查看您的 struts 文档。 Struts.properties 文件 此配置文件提供了一种更改框架默认行为的机制。实际上,包含在其中的所有属性struts.properties 配置文件也可以在 web.xml 使用 init-param, 以及在 struts.xml配置文件。但是,如果您希望将这些内容分开并更加具体,那么您可以在文件夹下创建此文件WEB-INF/classes. 此文件中配置的值将覆盖中配置的默认值 default.properties它包含在 struts2-core-xyzjar 发行版中。有几个属性可以考虑使用struts.properties 文件 - ### When set to true, Struts will act much more friendly for developers struts.devMode = true ### Enables reloading of internationalization files struts.i18n.reload = true ### Enables reloading of XML configuration files struts.configuration.xml.reload = true ### Sets the port that the server is run on struts.url.http.port = 8080 这里任何以开头的行 hash (#) 将被假定为注释,它将被忽略 Struts 2. 上一节: Struts - Hello World 示例 上一节 下一节: Struts - 动作 下一节 查看笔记 分享笔记 笔记内容: 称呼: Email: 站点: 分享笔记 重置 分类导航 前端 Ajax 教程 Angular 教程 Aurelia 教程 Bootstrap 教程 ChartJS 教程 CSS 教程 ES6 教程 FontAwesome 教程 HTML 教程 HTML 字符集 教程 HTML 游戏 教程 JavaScript 教程 jQuery 教程 Less 教程 React 教程 Sass 教程 Stylus 教程 TypeScript 教程 Unity 教程 Vue.js 教程 WebAssembly 教程 XAML 教程 颜色 教程 服务端 C# 教程 C++ 教程 COBOL 教程 C语言 教程 Fortran 教程 Go 教程 Groovy 教程 Java 教程 JSP 教程 JVM 教程 Kotlin 教程 Lisp 教程 Lua 教程 Node.js 教程 Pascal 教程 Perl 教程 PHP 教程 Python 教程 Python 3 教程 Ruby 教程 Rust 教程 Scala 教程 Spring 教程 Spring Boot 教程 Spring Cloud 教程 VB.Net 教程 移动端 Android 教程 IOS 教程 Objective-C 教程 React Native 教程 Swift 教程 小程序 教程 数据库 Access 教程 DB2 教程 Mariadb 教程 Memcached 教程 MongoDB 教程 MySQL 教程 Neo4j 教程 PL/SQL 教程 PostgreSQL 教程 Redis 教程 SQL 教程 SQL Server 教程 SQLite 教程 T-SQL 教程 数据格式 Jackson 教程 JSON 教程 SVG 教程 XML 教程 开发工具 ActiveMQ 教程 Ant 教程 Apache HttpClient 教程 Apache POI PPT 教程 AWS 教程 Docker 教程 ElasticSearch 教程 ExpressJS 教程 GIT 教程 GitLab 教程 Google Maps 教程 Gradle 教程 Java NIO 教程 JavaFX 教程 JavaMail 教程 JDBC 教程 jMeter 教程 JPA 教程 jsoup 教程 Junit 教程 KoaJS 教程 Kubernetes 教程 Log4j 教程 Logstash 教程 Lucene 教程 Makefile 教程 Maven 教程 RESTful 教程 Sed 教程 SEO 教程 Servlet 教程 SLF4J 教程 Socket.IO 教程 Struts 教程 SVN 教程 TestNG 教程 UML 教程 UNIX / LINUX 教程 WebSocket 教程 WPF 教程 xStream 教程 区块链 教程 数据处理 Flink 教程 Flume 教程 Hadoop 教程 Hbase 教程 Hive 教程 Kafka 教程 Kibana 教程 MapReduce 教程 MATLAB 教程 MyBatis 教程 Pig 教程 R语言 教程 Solr 教程 Spark 教程 Storm 教程 Zookeeper 教程 大数据分析 教程 数据仓库 教程 数据挖掘 教程 计算机基础 HTTP 教程 IPv4 教程 IPv6 教程 Ubantu 教程 WebServices 教程 嵌入式系统 教程 操作系统 教程 数据结构和算法 教程 汇编语言 教程 物联网 教程 电子电路基础 教程 编译器设计 教程 网站开发 教程 计算机 教程 计算机基础 教程 计算机网络 教程 设计模式 教程 AI CNTK 教程 Keras 教程 PyTorch 教程 TensorFlow 教程 人工智能 教程 机器学习 教程 Python 技术 Django 教程 Flask 教程 NumPy 教程 Pandas 教程 Pillow 教程 PyGTK 教程 PyQt5 教程 PySpark 教程 pytest 教程 Python -数据科学 教程 Python MySQL 教程 Python 取证 教程 Python 数据结构 教程 Python 文本处理 教程 Python 网络编程 教程 Python 网页抓取 教程 Python 设计模式 教程 RxPY 教程 SciPy 教程 Seaborn 教程 SymPy 教程 wxPython 教程 框架 Laravel 教程 Web 图标Icon 教程 Web2py 教程 WebGL 教程 WebRTC 教程 WordPress 教程 Yii 教程 Zend Framework 教程 SAP Crystal Reports 教程 Struts 教程 Struts 教程 Struts - 概述 Struts - 环境设置 Struts - 架构 Struts - Hello World 示例 Struts - 配置文件 Struts - 动作 Struts - 拦截器 Struts - 结果和结💡 关键要点