1.Struts2框架在三层架构中哪部分进行的再优化?
表现层(即MVC模式)
2.Struts1和Struts2的一个显著地区别是什么?
Struts1的核心控制器就是一个Servlet,Struts2的核心控制器是一个过滤器,即StrutsPrepareAndExecuteFilter
3.Struts2的编写步骤?
①导入必要的jar包②编写Struts2.xml③编写动作类④在web.xml中配置Struts2
4.Struts2的执行过程?
①启动服务器②读取web.xml③web.xml中配置了过滤器,过滤器中的init方法加载Struts2.xml
④客户端发送请求⑤请求到达过滤器⑥截取动作名称并从Struts2.xml中查找⑦找到动作名称实例化动作类(没有404)
⑧调用对应的动作方法,方法有返回值⑨根据返回值,找到name取值对应的结果视图⑩找到jsp界面,响应浏览器,展示 结果
5.Struts2的配置文件加载时机和加载顺序?
启动tomcat的时候,配合文件中过滤器的init初始化
加载顺序:
1.default.properties
2.Struts-default.xml
3.Struts-plugin.xml
4.Struts.xml
5.Struts.properties
6.web.xml
6.常量中struts.devMode是什么意思,如何配置?
开发模式
<constant name="struts.devMode" value="true"></constant>
7.struts.xml配置文件中package的四个属性分别是什么意思?
name:包名 extends:继承,一般继承自struts--default这个包
abstract:指声明为抽象包,抽象包是用来被继承的,没有action元素
namespace:名称空间,名称空间+动作名称=访问路径
8.访问带有名称空间的动作时,是如何查找的? /user/abc/action1.action
先查看user/abc目录下有没有这个动作名称,没有则查找/user,再没有找 / (找根目录)注意不是默认的
若user/abc目录下有,则去找,没有报错,有的话就执行
9.action元素的三个属性什么意思
name:动作名称 class:动作类全名 method:动作类中的方法名称(public String 无参)
10.result元素的两个属性分别指的是什么?
name:逻辑视图的名称,对应动作方法的返回值,默认值是success
type:结果类型,指的是用什么方法转到定义的界面,默认是dispatcher
11. 四个常用结果类型是什么?
dispatcher(默认) redirect重定向 redirectAction chain 请求转发
12.访问ServletAPI的两种方式?
一、使用的是ServletActionContext类
二、使用的是实现接口的方式
13.分文件编写struts.xml配置文件
不管做什么项目,必不可少的核心组件就是系统管理(team管理,模块管理,角色管理等等)
组件开发模式
分文件编写以后,然后引入,引入代码如下:
<include file="struts_user.xml"></include>