JAVA技术综合面试题目 – Struts篇 - 高飞网
4人看过

JAVA技术综合面试题目 – Struts篇

2013-08-18 01:22:33

  1. Struts框架的整体运行流程

在WEB启动时就会加载并初始化ActionServlet。ActionServlet从struts-config.xml文件中读取配置信息,把它们存放到各种配置对象中.当ActionServlet接收到一个客户请求时:

  一、检索和用户请求匹配的ActionMapping实例,如果不存在,就返回用户请求路径无效。

  二、如果ActionForm实例不存在,就创建一个ActionForm对象,把客户提交表单数据保存到ActionForm对象中。

  三、根据配置决定是否需要表单验证,如果需要验证,就调用ActionForm的validate()方法。

  四、如果ActionForm的validate()方法返回null或返回一个不包含ActionMessage的ActionError对象,就表示表单验证成功。

  五、ActionServlet根据ActionMapping实例包含的映射决定将请求转发给哪个Action。如果相应的Action实例不存在,就先创建这个实例,然后调用Action的execute()方法。

  六、Action的execute()方法返回一个ActionForward对象,ActionServlet再把客户请求转发给ActionForward对象指向的JSP组件。

  七、ActionForward对象指向的JSP组件生成动态网页,返回给客户。

 

  1. ActionServlet在Struts框架中的总体作用功能是什么

ActionServlet是struts框架的总控制器,处理客户端请求并决定由那个action处理请求。

  1. Struts框架的后缀名一般为.do,后缀名能不能更改,如果能更改的话,如何进行更改后缀名

后缀名可以更改。

通过修改web.xml中的

<servlet-mapping>

<url-pattern>*.do</url-pattern>

</servlet-mapping>

 

 

  1. 如何在Struts-config.xml中配置数据源以及获取数据源

在struts中配置oracle数据源需要四个包:commons.pools,commons.dbcp,Class12.jar,struts_legacy.jar,把它加到WEB-INF下的lib目录下就可以了,然后这段写在struts-config.xml文件的标签<struts-config>下:

<data-sources>

<data-source key=”scott” type=”org.apache.commons.dbcp.BasicDataSource”>

<set-property property=”driverClassName” value=”oracle.jdbc.driver.OracleDriver” />

<set-property property=”url” value=”jdbc:oracle:thin:@localhost:1521:databaseName” />

<set-property property=”username” value=”scott” />

<set-property property=”password” value=”tiger” />

</data-source>

</data-sources>

  1. Struts-config.xml文件action配置中的attribute属性和name属性有什么区别

attribute:制定与当前Action相关联的ActionForm Bean在作用域里的名称

name:指定和当前Acion关联的ActionForm Bean的名字。该名称必须在form-bean元素中定义过。

  1. Struts中的Action是不是线程安全的?如果不是有什么方式可以保证Action的线程安全?如果是,说明原因

不是. 为了确保action的线程安全, 最好的办法就是不要在action里定义实例变量

  1. Action的Execute方法有几个参数,这几个参数的具体作用是什么

ActionMapping mapping:Action里的配置属性信息

ActionForm form:与该Action相关联的ActionForm对象

HttpServletRequest request:该Action接收到的请求信息

HttpServletResponse response:该Action返回的响应信息

  1. Action的Execute方法的返回值是什么类型,有几种方式可以返回此类型

返回值类型:ActionForward

1).mapping.findForward(“Forward的名称”);

2).new ActionForward(“jsp组件的路径”);

  1. ActionFrom中对于错误消息的存取是如何存取的,页面上面是如何显示ActionFrom中存放的出错消息

 

  1. 普通的Action对于消息的存取是如何实现的,页面上面是如何显示Action中存放的消息
  2. 普通的ActionForm和动态的ActionForm有什么区别,在动态的ActionForm中如何设定一个日期类型的属性
  3. 动态ActionFrom是以什么方式存取表单控件的值的。要使用动态ActionForm取得一个控件的值是如何取得
  4. 普通的Action与DispatchAction的区别是什么
  5. Struts框架中常用的有HTML/Bean/Logic标签,这些标签的主要功能是什么
  6. HTML标签中的name属性代表什么功能,为什么可以省略不写
  7. Struts标签中name和property两个属性的作用和区别
  8. 请简述J2EE平台体系中标签的体系结构
  9. 请简述自定义标签的步骤
  10. 如何在自定义标签中获取ServletContext,HttpSession,HttpServletRequest这些JSP页面常见的对象
  11. Servlet2.4版本中新增加了一个标签为简单标签,要实现简单标签的话,必须实现标签中的哪一个方法,该方法有没有返回值
  12. Struts框架如何实现国际化的步骤
  13. 如何实现页面中HTML标签的初始值设置
  14. Struts框架的综合运用开发过程中,一般会使用ActionForm和JavaBean,这两个Bean能不能通用?如果不能的话请简述原因
  15. 如何操作Oracle表中CLOB和BLOB字段
还没有评论!
54.158.248.167