struts-2.5.20部署使用及三种Action使用方法

struts-2.5.20部署使用

准备

eclipse+Tomcat+struts-2.5.20-all.zip+apache-log4j-2.12.1-bin.zip
struts-2.5.20下载地址 点击下载
apache-log4j-2.12.1-bin.zip 下载地址 点此下载

注:本人使用的为eclipse4.12.0+Tomcat9.0+struts-2.5.20+apache-log4j-2.12.1

开始部署

新建web项目

此处略过

加入struts-2.5.20的jar包

1、解压struts-2.5.20-all.zip并找到其内lib目录,找到如下jar包

  • commons-beanutils-1.9.3.jar
  • commons-fileupload-1.4.jar
  • commons-io-2.6.jar
  • commons-lang3-3.8.1.jar
  • freemarker-2.3.28.jar
  • javassist-3.20.0-GA.jar
  • ognl-3.1.21.jar
  • struts2-core-2.5.20.jar

将以上jar包放入网站的lib目录下
2、由于struts2.5.20使用了log4j2,所以我们还要准备

  • log4j-api-2.12.1.jar
  • log4j-core-2.12.1.jar
    将这两个jar包也放入网站的lib目录下

配置struts核心过滤器和log4j2

配置struts核心过滤器

打开/WebContent/WEB-INF/web.xml,如果没有请新建一个。
注意web.xml的文件位置,切勿创建错误!!

复制如下内容填写进去,注意:web-app标签上的所有版本信息需和自己的Apache版本对应,如需知其他对应版本请移步百度!

<web-app metadata-complete="true"
	version="4.0"
	xmlns="http://xmlns.jcp.org/xml/ns/javaee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd">
	<!-- struts2核心过滤器 -->
	<filter>  
		<filter-name>struts</filter-name>
		<filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>struts</filter-name> 
		<url-pattern>/*</url-pattern>
	</filter-mapping>
</web-app>
配置log4j2

在src目录下新建log4j2.xml文件,填写如下内容

<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
    <Appenders>
        <Console name="STDOUT" target="SYSTEM_OUT">
            <PatternLayout pattern="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
        </Console>
    </Appenders>
    <Loggers>
        <Logger name="com.opensymphony.xwork2" level="debug"/>
        <Logger name="org.apache.struts2" level="debug"/>
        <Root level="warn">
            <AppenderRef ref="STDOUT"/>
        </Root>
    </Loggers>
</Configuration>

将web项目加入Tomcat并启动

仔细观察控制台中log4j2打印出来的日志信息,如若报错,请检查上述过程是否有误。
以上操作后的截图如下
在这里插入图片描述

至此,基本配置算是完成!

三种Action使用方法

在开始之前,我们需要在src下新建struts.xml文件,填写如下信息

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

</struts>

稍后我们会在这个文件中配置Action信息

方法一

直接新建一个Action类
示例:

在src新建lf.blank.action包,包内新建文件UseOneAction.java
在这里插入图片描述
UseOneAction中写一个login方法
在这里插入图片描述
在struts.xml中配置此Action信息,结果视图转发的页面别忘了创建一个,配置好重启服务器
在这里插入图片描述
访问一下看看
在这里插入图片描述
看一下控制台里有没有输出
在这里插入图片描述

方法二

新建一个Action类实现Action接口
示例:
在lf.blank.action包内新建UseTwoAction.java,使此类实现Action接口
如图
在这里插入图片描述
我们可以看到,Action接口内有一个execute函数,我们必须实现它,否则会报错
配置一下UseTwoAction,配置好重启服务器
在这里插入图片描述
访问一下
在这里插入图片描述
看看控制台输出
在这里插入图片描述

方法三

新建一个Action类继承ActionSupport类
示例:
在lf.blank.action包内新建UseThreeAction.java,使此类继承ActionSupport类
如图
在这里插入图片描述
配置一下UseThreeAction,配置好重启服务器
在这里插入图片描述
访问一下
在这里插入图片描述
看看控制台
在这里插入图片描述

这三种方法的区别

区别这三种方法最好的办法就是去阅读源码,我们来看一看Action接口和ActionSupport类的源码

Action接口代码如图
在这里插入图片描述
我们可以看到,这个接口定义了几个视图常量和一个execute函数,非常的简洁,如果我们只需要简单的访问输出,这个接口很适合。

再看看ActionSupport类的源码
在这里插入图片描述
通过观察,我们可以看到此类实现了Action接口,同时也实现了其他接口,显然是一个复杂的类,如果你的Action要实现复杂的功能,继承此类是最好的方法。

所以通过上面的比较,还是推荐使用继承ActionSupport类

结束

以上就是本文的全部内容了,此篇博客为本人初学所写,言辞有不合适或理解有不到位的地方希望路过大佬指教,拜了个拜!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值