撩课-Java每天5道面试题第17天
2018-12-09 11:19:31来源:博客园 阅读 ()
116.说下Struts的设计模式
MVC模式: web应用程序启动时 就会加载并初始化ActionServler。 用户提交表单时, 一个配置好的ActionForm对象被创建, 并被填入表单相应的数据, ActionServler根据Struts-config.xml文件 配置好的设置决定是否需要表单验证, 如果需要就调用ActionForm的Validate() 验证后选择将请求发送到哪个Action, 如果Action不存在, ActionServlet会先创建这个对象, 然后调用Action的execute()方法。 Execute()从ActionForm对象中获取数据, 完成业务逻辑, 返回一个ActionForward对象, ActionServlet再把客户请求 转发给ActionForward对象指定的jsp组件, ActionForward对象指定的jsp生 成动态的网页,返回给客户。
117.拦截器和过滤器的区别?
1、拦截器是基于java反射机制的, 而过滤器是基于函数回调的。 2、过滤器依赖于servlet容器, 而拦截器不依赖于servlet容器。 3、拦截器只能对Action请求起作用, 而过滤器则可以对几乎所有请求起作用。 4、拦截器可以访问Action上下文、 值栈里的对象,而过滤器不能。 5、在Action的生命周期中, 拦截器可以多次调用, 而过滤器只能在容器初始化时被调用一次。
118.struts2框架的核心控制器是什么?它有什么作用?
1)Struts2框架的核心控制器是 StrutsPrepareAndExecuteFilter。 2)作用: 负责拦截由<url-pattern>/*</url-pattern> 指定的所有用户请求, 当用户请求到达时, 该Filter会过滤用户的请求。 默认情况下, 如果用户请求的路径 不带后缀或者后缀以.action结尾, 这时请求将被转入struts2框架处理, 否则struts2框架将略过该请求的处理。 可以通过常量"struts.action.extension"修改action的后缀, 如: <constant name="struts.action.extension" value="do"/> 如果用户需要指定多个请求后缀, 则多个后缀之间以英文逗号(,)隔开。 <constant name="struts.action.extension" value="do,go"/>
119.struts2如何访问HttpServletRequest、HttpSession、ServletContext三个域对象?
方案一: HttpServletRequest request = ServletActionContext.getRequest(); HttpServletResponse response = ServletActionContext.getResponse(); HttpSession session= request.getSession(); ServletContext servletContext= ServletActionContext.getServletContext(); 方案二: 类 implements ServletRequestAware,ServletResponseAware,SessionAware,ServletContextAware 注意:框架自动传入对应的域对象
120.ActionContext、ServletContext、pageContext的区别?
1)ActionContext是当前的Action的上下文环境, 通过ActionContext可以 获取到request、session、ServletContext等 与Action有关的对象的引用; 2)ServletContext是域对象, 一个web应用中只有一个ServletContext, 生命周期伴随整个web应用; 3)pageContext是JSP中的最重要的一个内置对象, 可以通过pageContext获取其他域对象的应用, 同时它是一个域对象, 作用范围只针对当前页面, 当前页面结束时, pageContext销毁, 生命周期是JSP四个域对象中最小的。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 1-Java基础回顾整理_01 2020-06-10
- Leader每天996,绩效被打C!CTO说,团队带不好,原因只有一 2020-05-28
- Java--Java的设计模式----单例模式 2020-05-26
- Java--Java的继承性 2020-05-26
- 每天都在用Maven?我猜这三题你连一道都答不上来 2020-05-16
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash