struts2 mysql配置文件路径_Struts2(四)Struts2配置文件的配置

Struts2的常见配置

1.Struts2的配置文件的加载顺序:

每次从客户端发送到请求到服务器都要先从Struts2的核心过滤器StrutsPrepareAndExeccuteFilter,这个过滤器有两个功能:预处理和执行。在预处理中主要就是来加载配置文件的。对应的过滤器中的init方法,而执行是用来执行一组拦截器完成部分功能的,对应的是过滤器的doFilter方法,所以我们如果要去了解Struts2的配置文件的加载顺序,那么我们需要查询过滤器init方法

02d72716dfed69b4a9412e5b36375b25.png

在init方法中,调用了init的initDispatcher 的方法来加载配置文件,进入到该代码中

34c430e93a80d9e7b7653ec2573e36b9.png

我们会发现这个方法又调用dispatcher的init方法。进入到init 方法内部

3e3b560612ac1bb8e346baea6a7f09de.png

这一系列的代码就是用来加载Struts的配置文件的

init_DefaultProperties(); //[1]

加载org.apache.struts.default.properties配置的是struts2的所有常量

init_TraditionalXmlConfigurations()://[2]

加载Struts-default.xml 、Struts-plugin.xml 、 struts.xml

init_LegacyStrutsProperties();//[3]

加载用户自定义Struts.properties

init_CustomConfigurationProviders();//[5]

加载用户配置的提供对象

init_FilterInitParameters(); //【6】

加载 web.xml

init_AliasStandardObjects(); //[7]

加载标准对象。

根据上面的代码我们可以得到配置文件的加载顺序如下

default.properties

struts-default.xml

struts-plugin.xml

struts.xml            ---------配置Action以及常量(*******)

Struts.properties    ------------配置常量

web.xml   ---------------配置核心过滤器及常量

前三个配置文件是Struts2内部配置文件,我们无法修改。能修改的文件是Struts.xml  ,Struts.properties ,web.xml配置文件 。这几个配置文件的加载是有一定的顺序的。这三个配置文件都可以修改Struts常量的值。后加载配置文件中的常量值会将先加载的配置文件中常量的值给覆盖。

Action的配置:

Struts2框架的核心配置文件是Struts.xml  文件,该文件用来配置Action 和请求的对应关系

[的配置]

struts2框架的核心组件是Action和拦截器,它使用包来管理Action和拦截器 。每个包就是多个Action 、多个拦截器、多个拦截器引用的集合。在Struts.xml 文件中,package元素用于定义包配置,每个package元素定义了一个包配置。package元素的常见属性,如表所示:

96cb7e86c783f35b18c7db1925a0b56b.png

在配置包时:

1.必须指定name属性,就是包的标识。

2。还可以指定一个可选的extends属性,extends 属性值必须是另一个包的name属性值。该属性值通常都设置为struts-default,这样包中的Action就具有Struts2 框架默认拦截器等功能。

3.abstract:  struts2还提供了一种所谓的抽象包struts2还提供了一种所谓的抽象包 。为了显示指定一个包时抽象包,可以为该package元素增加abstract="true"属性

4。namespace  :  在package 中还有namespace的配置,namespace的属性与action标签的name属性共同决定了访问路径。namespace有如下三种配置。

默认名称空间          : 默认的空间名称就是  namespace=""

跟名称空间       :      跟名称空间的就是  namespace="/"

带名称的名称空间   :带名称的名称空间就是   namespace="/demo1"

不能为:  namespace="demo1"

[Action 的配置]

Action 映射是框架中的基本“工作单元”。Action映射就是将一个请求的URL映射到Action 类,当一个请求匹配某个Action名称是,框架就使用这个映射

来确定如何处理请求。在struts.xml  文件中,通过元素对请求的Action和Action类进行配置

元素中共有4个属性,这4个属性的说明如表所示。

dfadb157c8e04a1ec3287982b0a335f6.png

默认action请求:

1 <?xml version="1.0" encoding="UTF-8"?>

2 "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"4 "http://struts.apache.org/dtds/struts-2.3.dtd">

5

6

7

8

9

10

11

12

13

14 /hello.jsp

15

16

17

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!
提供的源码资源涵盖了小程序应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!
首先,你需要在你的项目中添加 MySQL 的 JDBC 驱动程序,可以通过以下步骤来实现: 1. 将 MySQL JDBC 驱动程序的 jar 文件复制到你的项目的 lib 目录下。 2. 在项目的 classpath 中添加这个 jar 文件。可以在项目配置文件中添加以下代码: ``` <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>版本号</version> </dependency> ``` 其中,版本号是你下载的 MySQL JDBC 驱动程序的版本号。 接下来,你可以按照以下步骤来连接 MySQL 数据库: 1. 在 Struts2配置文件中添加以下代码: ``` <constant name="struts.devMode" value="true" /> <constant name="struts.custom.i18n.resources" value="ApplicationResources" /> <constant name="struts.objectFactory" value="spring" /> <package name="default" namespace="/" extends="struts-default"> <action name="login" class="com.example.action.LoginAction"> <result name="success">/WEB-INF/views/success.jsp</result> <result name="error">/WEB-INF/views/error.jsp</result> </action> </package> ``` 其中,`com.example.action.LoginAction` 是你实现的登录功能的 Action 类。 2. 在 `com.example.action.LoginAction` 类中添加以下代码: ``` public class LoginAction extends ActionSupport { private String username; private String password; private Connection conn; // set and get methods for username and password public String execute() { String url = "jdbc:mysql://localhost:3306/mydb"; String driver = "com.mysql.jdbc.Driver"; String user = "root"; String password = "password"; try { Class.forName(driver); conn = DriverManager.getConnection(url, user, password); } catch (SQLException ex) { ex.printStackTrace(); return ERROR; } catch (ClassNotFoundException ex) { ex.printStackTrace(); return ERROR; } // execute SQL query and handle results return SUCCESS; } } ``` 其中,`url` 是你的 MySQL 数据库的连接字符串,`user` 和 `password` 是你的 MySQL 数据库的用户名和密码。 在 `execute()` 方法中,你可以执行 SQL 查询并处理结果。请注意,这里只是示例代码,你需要根据你的实际情况进行修改。 希望这个回答能够帮助到你!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值