、Struts 2的工作流程,从请求说起
(1)客户端浏览器发出HTTP请求。
(2)根据web.xml配置,该请求被FilterDispatcher接收。
(3)根据struts.xml配置,找到需要调用的Action类和方法,经过一系列的拦截器(Interceptor)执行后,程序执行到action中的指定的方法, 并且从前台接收的参数通过IoC方式,将值注入给Aciton。
(4)Action调用业务逻辑组件处理业务逻辑,这一步包含表单验证。
(5)Action执行完毕,根据struts.xml中的配置result找到对应的返回结果result,并跳转到相应页面。
(6)返回HTTP响应到客户端浏览器。
2、拦截器Interceptor和过滤器Filter的区别
(1)拦截器是基于Java反射机制的,而过滤器则可以对几乎所有请求起作用
(2)过滤器依赖于servlet容器,而拦截器不依赖servlet容器。
(3)拦截器只能对执行到Action中的请求起作用,而过滤器可以对任意请求起作用,比如直接跳转到jsp的请求
(4)拦截器可以访问action中上下文值栈里面的对象,过滤器不能。
(5)在action的生命周期中,拦截器可以多次调用,而filter只能在servlet容器初始化的时候调用。
3、在请求中将数据发送到action的方法有几种
(1)url中用问号加上参数名等于参数值(url?name=value)
(2)form表单提交
(3)ajax中传递参数
4、action中如何接收请求request中传递的参数
(1)使用request.getParameter("parametername")
(2)在action中定义一个参数,然后分别给它添加setter方法
5、action中的对象数据如何传递到jsp
(1)request.setAttribute("name",value);
(2)将对象赋值给action中的某一个有getter方法的属性
(3)request.getSession().setAttribute("name",value);
6、jsp中如何接收action设置的参数数据
(1)request.getAttribute("parametername")
(2)EL表达式直接获取
(3)request.getSession().getAttribute("parametername")
7、谈一下对struts的认识和理解(优点和好处)
(1)struts框架简化了基于MVC的web应用程序的开发。
(2)struts可以清晰地区分控制,事务逻辑和外观,从而简化了开发应用程序的过程。struts提供的类使得开发工作更加简单,这些类包括:
- 控制程序流程的类
- 实现和执行程序事务逻辑的类 :