JavaWeb框架复习笔记-Struts2(配置技巧)

Action的三种编写方式

1. 普通类,没有继承任何类也没有实现任何接口
在这里插入图片描述

2. 实现Action接口
在这里插入图片描述
3.继承ActionSupport类
在这里插入图片描述
总结三种编写方式,比较常用的是第一种和第三种,为什么呢?我们来看看源码
在这里插入图片描述
可以看出,这个ActionSupport类已经实现了Action接口,所以可以使用Action接口里面的所有方法同时又不用强制实现里面的方法,增加了灵活性

现在我们看一下Action接口的源码
在这里插入图片描述
可以看到它里面帮我们定义了一些常用的返回值和一个默认的方法,由于接口的变量和方法的修饰符都是默认public static final。所以我们不能改变但是可以直接使用

访问Action的两种方法(有一种动态配置不了解不写出来了)

1.使用action标签里面的method属性(假如我们一个Action里面有很多方法,那么就可以通过这个method属性指定要执行的方法,只需要写上方法的名字即可)
例子如下:
就使用我们刚才创建的这个Action(里面有两个不同名的方法)在这里插入图片描述
去struts.xml配置Action
在这里插入图片描述
测试各个方法效果
在这里插入图片描述
在这里插入图片描述
可以看出根据我们的填写的路径名字不同访问的方法也不同了,但是要注意,我们method填写的是Action类里面的方法名字,但是访问的路径要写的是action标签的name属性的值(其中后缀.action可以省略,但是不建议)

  1. 使用通配符配置(常用,比较有用)
    struts.xml配置如下:
    在这里插入图片描述
    测试运行结果:
    在这里插入图片描述
    在这里插入图片描述
    可以看出*号代表了我们所访问的方法名字,使用这种方法就可以统一配置一个Action类下的所有方法了,然后按需访问

多模块开发配置

这个就是一个项目肯定是多个人一起开发的,如果每个人写不同的功能然后取struts.xml文件中配置的话就会打乱这个配置,造成开发困难,如果让每个人独立配置一个xml文件,再统一导入struts.xml中就解决这个问题了。

我们先另外配置一个核心文件
在这里插入图片描述
将其导入struts.xml中测试
在这里插入图片描述
测试效果
在这里插入图片描述
在这里插入图片描述
最后解释一下那个method={1}这个原因,这个1代表匹配第一个*号,数字多少代表匹配多少个星号

最后再说一个可能会出现异常的情况

启动tomcat出现严重异常
1.首先检查相应的jar包是否导入了,一般错误有提示,没有导入的话就去tomcat的解压包里面找到相应的jar包(lib目录下)
2.首先要检查web.xml文件中的过滤器是否配置好
3.检查struts.xml文件是否配置正确。注意class属性配置的是Action类的全路径,不要搞成方法的
4.检查方法的返回值是否和result的name属性一样(不一样访问会出现404)

猜你喜欢

转载自blog.csdn.net/weixin_42341232/article/details/94178327