ITPub博客

首页 > IT职业 > IT生活 > Eclipse下struts2.5环境搭建与struts2.3的区别

Eclipse下struts2.5环境搭建与struts2.3的区别

IT生活 作者:zyzqy 时间:2021-09-09 08:59:52 0 删除 编辑

在慕课网《struts2入门》视频教程中,老师讲解的struts2环境搭建与基本知识是基于struts2.3版本的,目前最新版的struts是2.5版本的。本着与时俱进的原则,本人下载了2.5版本的参与学习,发现有很多地方还是有细微差别的,不注意就要折腾很久,现在汇总一下。

1、jar包的导入

在struts2.3中,老师前后一共导入了9个常用jar包。但是在struts2.5中是没有xwork那个jar包的,所以不用导入也找不到,更不用再去低版本里去单独下载这个包,因为它和struts-core包合并了。其次,当我使用这8个包部署项目后,启动Tomcat会报错,原因是还少了log4j和slf4j这两个jar包,导入后就可以解决问题了。所以前后一共是10个jar包。如下图所示。
图片描述

2、web.xml文件过滤器的配置

配置web.xml文件,在编写标签时,如果按照2.3版本写,用Ctrl+鼠标移动是不会出现链接的,也就是说写的不对。正确的写法是org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter,它与2.3版本相比少了一个ng包。完整的示例如下所示。

  struts2org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilterstruts2/*
3、struts.xml文件的配置

在eclipse下新建XML文件是不会有struts的dtd版本头部信息的。而老师的头部信息很明显是2.3版本的,2.5版本的头部信息如下,新建struts.xml时需要直接拷贝粘贴进去。

4、动态调用Action的方式

通过在标签中指定method属性来调用的这种方式两者并无区别,但是如果是使用感叹号和通配符方式,与2.3版本是有细微的不同的。
如下有一个Action类,里面有两个方法update()和delete()。

public class HelloWorldAction extends ActionSupport {

    @Override
    public String execute() throws Exception {
        return SUCCESS;
    }

    public String add(){ //通过指定method属性
        return SUCCESS;
    }

    public String delete(){ //通过感叹号方式
        return "delete";
    }

    public String update(){ //通过通配符方式
        return "update";
    }
}

感叹号方式和通配符方式的struts.xml文件配置示例如下,需要在global-allowed-methods标签或allowed-methods标签中指定相关的方法,多个方法要用“,”隔开。具体的标签含义及使用还是和struts2.3版本老师讲的一样,可参考视频教程,这里不再赘述。

delete/result.jsp/delete.jsp
/result.jsp/{1}.jspupdate

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/2332/viewspace-2807574/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-04-16

  • 博文量
    99
  • 访问量
    720