HP面试题总结(五)

1.给出一个struts-config 配置文件中一些配置信息,问在action中如何跳转到action-mapping中forward所指向jsp。
struts-config 配置文件类似:
<action-mapping>
<action path=""
        name=""
        validate=""
 />
<forward name="aaa" path="a.jsp"/>
</action-mapping>
这样的题需要假设一些东西出来,这样吧,还是举出一个例子说明一下吧。
<action path="/main"                                                   -->在JSP中指向的跳转路径
        type="jp.co.xx.yy.common.login.LoginAction"            -->main路径对应的Action类
        name="WelcomeForm"                                          -->关联到的FormBean
        scope="request">                                                -->作用域为request
    <forward name="success" path="/menu.do" />              -->如果成功了转向menu.do路径
    <forward name="fail" path="/login.do" />                      -->如果失败了转向login.do路径
</action>
2.请说一下MVC结构中M,V,C都代表什么?请说出B/S的三层结构各层的职责?
又是一道框架题,看来一定要把框架的基础知识掌握好啊。
V->是View,代表视图层;C->是Controller,代表控制层;M->是Model,代表模型层。
视图层负责画面的表示,而控制层负责页面的转移控制,模型层负责数据的处理。这样说好像有些太简单了吧?详细如下:
MVC(Model-View-Controller)应用程序结构被用来分析分布式应用程序的特征。这种抽象结构能有助于将应用程序分割成若干逻辑部件,使程序设计变得更加容易。
MVC结构提供了一种按功能对各种对象进行分割的方法(这些对象是用来维护和表现数据的),其目的是为了将各对象间的耦合程度减至最小。MVC结构本来是为了将传统的输入(input)、处理(processing)、输出(output)任务运用到图形化用户交互模型中而设计的。但是,将这些概念运用于基于Web的企业级多层应用领域也是很适合的。
在MVC结构中,模型(Model)代表应用程序的数据(data)和用于控制访问和修改这些数据的业务规则(business rule)。通常模型被用来作为对现实世界中一个处理过程的软件近似,当定义一个模型时,可以采用一般的简单的建模技术。
当模型发生改变时,它会通知视(View),并且为视提供查询模型相关状态的能力。同时,它也为控制器(Controller)提供访问封装在模型内部的应用程序功能的能力。
一个视(View)用来组织模型的内容。它从模型那里获得数据并指定这些数据如何表现。当模型变化时,视负责维持数据表现的一致性。视同时将用户要求告知控制器(Controller)。
控制器(Controller)定义了应用程序的行为;它负责对来自视的用户要求进行解释,并把这些要求映射成相应的行为,这些行为由模型负责实现。在独立运行的GUI客户端,用户要求可能是一些鼠标单击或是菜单选择操作。在一个Web应用程序中,它们的表现形式可能是一些来自客户端的GET或POST的HTTP请求。模型所实现的行为包括处理业务和修改模型的状态。根据用户要求和模型行为的结果,控制器选择一个视作为对用户请求的应答。通常一组相关功能集对应一个控制器。
2.
class a{
    int i = 0;
}
clas b extends a{
    int i = 1;
}
类b和类a都定义了变量i,这种现象称做什么?
这种现象应该叫做重用或重载吧。不同的书籍里面好像对这样的方式叫法不同,但是意思是一样的。这应该是一道面向对象的基础题。
3.java中值作为参数传递到函数中的时候值本身不会改变,但是对象作为参数传递到函数中时本身的值会改变,请说明原因。
函数中参数的传递分为按值传递和按址传递。如果传递一个值的话(这种说法总感觉怪怪的,不是特别清楚!),这个值的修改不会
影响传递前的数值;如果传递的是一个对象的话,当然就是按址传递了,也就是这个对象的地址被传到了函数中,在函数中修改对象
话,会影响传递前对象的内容,因为你修改的是同一地址上的信息,内容当然会跟着变了。

你可能感兴趣的:(mvc,面试,action,Path,HP,分布式应用)