`

《转》常见struts面试题

 
阅读更多

1. Struts的工作原理
       在Struts中,用户的请求一般以*.do作为请求服务名,所有的*.do请求均被指向ActionSevlet, ActionSevlet根据Struts-config.xml中的配置信息,将用户请求封装成一个指定名称的FormBean,并将此 FormBean传至指定名称的ActionBean,由ActionBean完成相应的业务操作,如文件操作,数据库操作等。每一个*.do均有对应的 FormBean名称和ActionBean名称,这些在Struts-config.xml中配置。

2. Struts优点与缺点
   Struts是开源软件,使开发者能更深入的了解其内部实现机制。
   Struts 优点:业界"标准"(很多成功案例),学习资源丰富。
   Struts的优点主要集中体现在两个方面:Taglib和页面导航。
          a、利用Struts提供的taglib可以大大节约开发时间。
          b、维护扩展比较方便。通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。
          c、表现与逻辑分离
          d、表单验证解决了请求数据的验证问题,增强了系统健壮性。
          e、便于团队开发

   Struts缺点:a、大量的使用标签,对于初学者难度较大。
                      b、ActionForms使用不便、无法进行单元测试(StrutsTestCase只能用于集成)

3. Struts提供了几个标签库?都是什么标签库?
    Struts提供了五个标签库,即:HTML、Bean、Logic、Template和Nested。

    HTML 标签      用来创建能够和Struts 框架和其他相应的HTML 标签交互的HTML 输入表单
    Bean 标签      在访问JavaBeans 及其属性,以及定义一个新的bean 时使用
    Logic 标签      管理条件产生的输出和对象集产生的循环
    Template 标签      随着Tiles框架包的出现,此标记已开始减少使用
    Nested 标签      增强对其他的Struts 标签的嵌套使用的能力

   < Html:form>, < html:submit>, < Html:button>, <Html:text>, <Html:select>
   <logic:iterate>, <logic:forward>, <logic:redirect>, <logic:iterate>, <logic:present>, <logic:empty> ... 参考:
struts Logic标签说明
   <bean:write>, <bean:message>, <bean:parameter>, <bean:size>
   
   4. Tiles框架是什么?
  Tiles框架为创建Web页面提供了一种模板机制,它能将网页的布局和内容分离。
  

   5.谈谈HashMap和Hashtable的区别。
答: HashMap是轻量级的(线程不安全的,效率高的)集合,Hashtable是重量级的
(线程安全的,效率低的)集合。
都属于Map接口的类,实现了将惟一键映射到特定的值上。
HashMap 类没有分类或者排序。它允许一个 null 键和多个 null 值。
Hashtable 类似于 HashMap,但是不允许 null 键和 null 值。它也比 HashMap 慢,
因为它是同步的。

 

6.什么是中间件?
中间件就是程序中可织入的,可重用的,与业务逻辑无关的各种组件。
中间件(middleware)是基础软件的一大类,属于可复用软件的范畴。顾名思义,中
间件处于操作系统软件与用户的应用软件的中间。中间件在操作系统、网络和数据库之上,
应用软件的下层,总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助
用户灵活、高效地开发和集成复杂的应用软件。
  在众多关于中间件的定义中,比较普遍被接受的是IDC表述的:中间件是一种独立
的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中
间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。
分类:数据访问中间件,远程调用中间件,消息中间件,交易中间件,对象中间件。
举例:
1,RMI(Remote Method Invocations, 远程调用)
第 3 页 共 33 页
2,Load Balancing(负载均衡,将访问负荷分散到各个服务器中)
3,Transparent Fail-over(透明的故障切换)
4,Clustering(集群,用多个小的服务器代替大型机)
5,Back-end-Integration(后端集成,用现有的、新开发的系统如何去集成遗留的系统)
6,Transaction事务(全局/局部)全局事务(分布式事务)局部事务(在同一数据库
联接内的事务)
7,Dynamic Redeployment(动态重新部署,在不停止原系统的情况下,部署新的系统)
8,System Management(系统管理)
9,Threading(多线程处理)
10,Message-oriented Middleware面向消息的中间件(异步的调用编程)
11,Component Life Cycle(组件的生命周期管理)
12,Resource pooling(资源池)
13,Security(安全)
14,Caching(缓存)

 

7.你对MVC的理解,MVC有什么优缺点?结合Struts,说明在一个Web应用如何去使用?
答:
MVC设计模式(应用观察者模式的框架模式)
M: Model(Business process layer),模型,操作数据的业务处理层,并独立于表现层
(Independent of presentation)。
V: View(Presentation layer),视图,通过客户端数据类型显示数据,并回显模型层的执
行结果。
C: Controller(Control layer),控制器,也就是视图层和模型层桥梁,控制数据的流向,
接受视图层发出的事件,并重绘视图
MVC框架的一种实现模型
模型二(Servlet-centric):
JSP+Servlet+JavaBean,以控制为核心,JSP只负责显示和收集数据,Sevlet,连接视图
和模型,将视图层数据,发送给模型层,JavaBean,分为业务类和数据实体,业务类处
理业务数据,数据实体,承载数据,基本上大多数的项目都是使用这种MVC的实现模式。
StrutsMVC框架(Web application frameworks)
Struts是使用MVC的实现模式二来实现的,也就是以控制器为核心。
Struts提供了一些组件使用MVC开发应用程序:
Model:Struts 没有提供model 类。这个商业逻辑必须由Web 应用程序的开发者以
JavaBean或EJB的形式提供
第 1 页 共 33 页
View:Struts提供了action form创建form bean, 用于在controller和view间传输数
据。此外,Struts提供了自定义JSP标签库,辅助开发者用JSP创建交互式的以表单为基
础的应用程序,应用程序资源文件保留了一些文本常量和错误消息,可转变为其它语言,
可用于JSP中。
Controller:Struts提供了一个核心的控制器ActionServlet,通过这个核心的控制器来
调用其他用户注册了的自定义的控制器Action,自定义Action需要符合Struts的自定
义Action规范,还需要在struts-config.xml的特定配置文件中进行配置,接收JSP输入
字段形成Action form,然后调用一个Action控制器。Action控制器中提供了model的逻
辑接口。

 

8.类的核心特性有哪些?
类具有封装性、继承性和多态性。
封装性:
类的封装性为类的成员提供公有、缺省、保护和私有等多级访问权限,目的是隐藏类
中的私有变量和类中方法的实现细节。
继承性:
类的继承性提供从已存在的类创建新类的机制,继承(inheritance)使一个新类自
动拥有被继承类(父类)的全部成员。
多态性:
类的多态性提供类中方法执行的多样性,多态性有两种表现形式:重载和覆盖。

 

9.、请说出几个常用的异常类
答:NullpointException(空指针异常)
ClassNotFoundException(类找不到异常)
ClassCastException(类型转换异常)
IllegalArgumentException(非法参数异常)
ArithmeticException(算术异常)
NumberFormatException(数据格式异常)
IndexOutOfBoundsException(数组下标越界异常)
IllegalStateException(非法语句异常)

分享到:
评论

相关推荐

    JAVA struts2 框架 面试题

    JAVA struts2 框架 常见面试题 绝对有用!

    spring、Struts2、hibernate常见面试题

    spring、Struts2、hibernate常见面试题

    Struts2+hibernate+spring的常见面试题

    1、什么是Struts2 ...我们可以创建自己的拦截器实现常见任务。 Struts2中自带了很多的标签,并使用OGNL表达式语言。我们可以创造我们自己的类型转换器来呈现的结果页面。结果页面可以JSP和FreeMarker的模板。

    java面试题,J2EE面试题 笔试题

    6、java常见面试题 7、java程序员面试宝典 8、java面试题及答案 9、java面试题编程篇 10、Oracle面试题 11、Oracle企业面试题集锦 12、Spring面试题 13、SSH面试题 14、Strut+Spring+Hibernate面试题 15、张孝祥整理...

    Struts+Hibernate+Spring面试题合集及答案常见题目经典精选汇总大全.docx

    Struts+Hibernate+Spring面试题合集及答案常见题目经典精选汇总大全.docx

    Spring,hibernate,struts常见的面试笔试题汇总

    Spring,hibernate,struts常见的面试笔试题汇总

    Java常见面试题208道.docx

    面试题包括以下十九部分:Java 基础、容器、多线程、反射、对象拷贝、Java Web 模块、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、Mybatis、RabbitMQ、Kafka、Zookeeper、MySql...

    java之SSH常见面试题

    SSH常见面试题 收集了常见的面试题 java

    框架面试题,集合了String,struts2,springmvc

    框架面试题,集合了String,struts2,springmvc。 足以满足初级面试

    Struts+Hibernate+Spring常见面试题

    单态 模型提供了具有特定名称的对象的共享实例,可以在查询时对其进行检索。Singleton 是默认的也是最常用的对象模型。对于无状态服务对象很理想。

    java基础面试题.pdf

    面试题集共分为十部分来介绍,对于找工作非常有用,主要是java方面的,不仅是java的一些基础知识,还包括常见的一些面试题,如数据结构& 算法& 计算机基础、struts\spring\hibernate\Ejb等。

    SSH面试题总结 开源框架

    SSH面试题总结 开源框架struts spring hibernate 常见面试题

    java面试题以及技巧

    │ J2EE综合--Struts常见错误的全面汇总.txt │ java程序员面试资料.zip │ JAVA笔试题(上海释锐).pdf │ MIME简介.txt │ SCJP试题详解.pdf │ SQL面试题_心灵深处.htm │ Struts+Hibernate+Spring轻量级J2EE...

    javastuts2面试题

    关于struts2的常见面试题 非常好!

    android和java面试大全集

    struts面试题 hibernate面试题 三大框架.txt JAVA题库.doc struts+spring+hibernate面试题.mht spring面试题 spring面试题 - 心动音符 - JavaEye技术网站.mht Struts,Hibernate,Spring的面试题_...

    JAVA面试题最全集

    15.MVC (Struts的工作流程) 16.什么是MDA 17.tcp与udp的区别 18.链表与散列表和数组的区别 19.堆和栈的区别 20.ejb的分类及区别 21.你对现在软件业以及国内软件业的看法 22.谈谈java多线程 23.谈谈文件...

    Eclipse,java面试题,j2ee_MVC图

    Eclipse和Myeclipse字符设置,struts和spring整合,java常见面试题,经典j2ee MVC图

    javaSSH面试题

    常见的javassh面试题,例如hibernate的连接数据库,struts2,spring,的集合开发,常见的应用

    java面试题及技巧4

    │ J2EE综合--Struts常见错误的全面汇总.txt │ java程序员面试资料.zip │ JAVA笔试题(上海释锐).pdf │ MIME简介.txt │ SCJP试题详解.pdf │ SQL面试题_心灵深处.htm │ Struts+Hibernate+Spring轻量级J2EE...

    java面试题及技巧3

    │ J2EE综合--Struts常见错误的全面汇总.txt │ java程序员面试资料.zip │ JAVA笔试题(上海释锐).pdf │ MIME简介.txt │ SCJP试题详解.pdf │ SQL面试题_心灵深处.htm │ Struts+Hibernate+Spring轻量级J2EE...

Global site tag (gtag.js) - Google Analytics