• Struts常见问题


    1.   谈谈你mvc的理解  
        MVC是Model—View—Controler的简称。即模型—视图—控制器。MVC是一种设计模式,它强制性的把应用程序的输入、处理和输出分开。     MVC中的模型、视图、控制器它们分别担负着不同的任务。 
        视图: 视图是用户看到并与之交互的界面。视图向用户显示相关的数据,并接受用户的输入。视图不进行任何业务逻辑处理。  
        模型: 模型表示业务数据和业务处理。相当于JavaBean。一个模型能为多个视图提供数据。这提高了应用程序的重用性  
        控制器: 当用户单击Web页面中的提交按钮时,控制器接受请求并调用相应的模型去处理请求。  然后根据处理的结果调用相应的视图来显示处理的结果。  

        MVC的处理过程:首先控制器接受用户的请求,调用相应的模型来进行业务处理,并返回数据给控制器。控制器调用相应的视图来显示处理的结果。并通过视图呈现给用户。

    分析一下struts是如何实现MVC的  

    m:JavaBean 或结合 EJB 组件或者pojo构成  

    c:Action 来实现  
    v:一组 JSP 文件及其标签构成


    2、阐述struts2的执行流程。 
    Struts 2框架本身大致可以分为3个部分:核心控制器FilterDispatcher、业务控制器 Action和用户实现的企业业务逻辑组件。

    核心控制器FilterDispatcher是Struts 2框 架的基础,包含了框架内部的控制流程和处理机制。

    业务控制器Action和业务逻辑组 件是需要用户来自己实现的。

    用户在开发Action和业务逻辑组件的同时,还需要编写 相关的配置文件,供核心控制器FilterDispatcher来使用。


    基本简要流程如下: 

    1、客户端浏览器发出HTTP请求。 
    2、根据web.xml配置,该请求被FilterDispatcher接收。 
    3、根据struts.xml配置,找到需要调用的Action类和方法, 并通过IoC方式,将值注 入给Aciton。 
    4、Action调用业务逻辑组件处理业务逻辑,这一步包含表单验证。 
    5、Action执行完毕,根据struts.xml中的配置找到对应的返回结果result,并跳转到 相应页面。 
    6、返回HTTP响应到客户端浏览器。


    19、forward 和redirect的区别 
    forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。 
       redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以session,request参数都可以获取。 4、request.getAttribute() 和 request.getParameter() 有何区别?  1.getAttribute是取得jsp中用setAttribute設定的attribute 2.parameter得到的是string;attribute得到的是object 
    3.request.getParameter ()方法传递的数据,会从Web客户端传到Web服务器端,代表HTTP请求数据;request.setAttribute()和 getAttribute()方法传递的数据只会存在于Web容器内部,在具有转发关系的Web组件之间共享。即 request.getAttribute()方法返回request范围内存在的对象,而request.getParameter()方法是获取 http提交过来的数据。


  • 相关阅读:
    用于Web开发的8 个最好的跨平台编辑器
    javascript之数组操作
    15 个最佳的 jQuery 表格插件
    使用Backbone构建精美应用的7条建议
    linux内核内存分配(一、基本概念)
    redhat的systemd版本list
    Linux内核crash/Oops异常定位分析方法
    systemd bug: bz1437114 core:execute: fix fork() fail handling in exec_spawn()
    Use gdb attach pid and debug it
    Build rpm example:zram
  • 原文地址:https://www.cnblogs.com/leeeee/p/7276454.html
Copyright © 2020-2023  润新知