• 笔试题 易错题目解析


    01.XMLHttpRequest().readyState的五种状态

    0 - (未初始化)还没有调用send()方法
    1 - (载入)已调用send()方法,正在发送请求
    2 - (载入完成)send()方法执行完成,已经接收到全部响应内容
    3 - (交互)正在解析响应内容
    4 - (完成)响应内容解析完成,可以在客户端调用了

    readyState 状态
    状态说明

    (0)未初始化
    此阶段确认XMLHttpRequest对象是否创建,并为调用open()方法进行未初始化作好准备。值为0表示对象已经存在,否则浏览器会报错--对象不存在。

    (1)载入
    此阶段对XMLHttpRequest对象进行初始化,即调用open()方法,根据参数(method,url,true)完成对象状态的设置。并调用send()方法开始向服务端发送请求。值为1表示正在向服务端发送请求。

    (2)载入完成
    此阶段接收服务器端的响应数据。但获得的还只是服务端响应的原始数据,并不能直接在客户端使用。值为2表示已经接收完全部响应数据。并为下一阶段对数据解析作好准备。

    (3)交互
    此阶段解析接收到的服务器端响应数据。即根据服务器端响应头部返回的MIME类型把数据转换成能通过responseBody、responseText或responseXML属性存取的格式,为在客户端调用作好准备。状态3表示正在解析数据。

    (4)完成
    此阶段确认全部数据都已经解析为客户端可用的格式,解析已经完成。值为4表示数据解析完毕,可以通过XMLHttpRequest对象的相应属性取得数据。


    概而括之,整个XMLHttpRequest对象的生命周期应该包含如下阶段:
    创建-初始化请求-发送请求-接收数据-解析数据-完成

    在具体应用中,明确了readyState的五个状态(XMLHttpRequest对象的生命周期各个阶段)的含义,就可以消除对Ajax核心的神秘感(语焉不详的背后要么是故弄玄虚,制造神秘感;要么就是“以其昏昏,使人昭昭”),迅速把握其实质,对减少学习中的挫折感和增强自信心都极其有益。

    02.    关于ajax.post()请求

    默认情况下,ajax发起的请求皆为get类型

    解析:data参数是可选的不是必需的

    jQuery.post(url, [data], [callback], [type])   返回值:XMLHttpRequest

    概述

     

    通过远程 HTTP POST 请求载入信息。

    这是一个简单的 POST 请求功能以取代复杂 $.ajax 。请求成功时可调用回调函数。如果需要在出错时执行函数,请使用 $.ajax。

    参数

    url     String

    发送请求地址。

    data (可选)    Map

    待发送 Key/value 参数。

    callback (可选)     Function

    发送成功时回调函数。

    type (可选)      String

    返回内容格式,xml, html, script, json, text, _default。

    03.   struts2中关于result的type类型解析

    推荐博客:http://blog.sina.com.cn/s/blog_7ffb8dd501014uzw.html

    Type 类型值

    作用说明

    对应类

    chain

    用来处理Action 链

    com.opensymphony.xwork2.ActionChainResult

    dispatcher(默认值)

    用来转向页面,通常处理 JSP

    org.apache.struts2.dispatcher.ServletDispatcherResult

    redirect

    重定向到一个URL(jsp/action)

    org.apache.struts2.dispatcher.ServletRedirectResult

    redirectAction

    重定向到一个 Action

    org.apache.struts2.dispatcher.ServletActionRedirectResult

    plainText

    显示源文件内容,如文件源码

    org.apache.struts2.dispatcher.PlainTextResult

    freemarker

    处理 FreeMarker 模板

    org.apache.struts2.views.freemarker.FreemarkerResult

    httpheader

    控制特殊 http 行为的结果类型

    org.apache.struts2.dispatcher.HttpHeaderResult

    stream

     

    向浏览器发送 InputSream 对象,通常用来处理文件下载,还可用于返回 AJAX数据。

     

    org.apache.struts2.dispatcher.StreamResult

     

    velocity

    处理 Velocity 模板

    org.apache.struts2.dispatcher.VelocityResult

    xslt   

       处理 XML/XLST 模板

     org.apache.struts2.views.xslt.XSLTResult

    type="plaintext" 跳转显示源代码   eg:  

    <result name="err" type="plaintext">  
        <param name="location">具体的位置</param>  
        <param name="charSet">字符规范(如GBK)</param>  
    </result> 

    04.   关于请求类型get和post解析

    1、Get是用来从服务器上获得数据,而Post是用来向服务器上传递数据。 
    2、Get将表单中数据的按照variable=value的形式,添加到action所指向的URL后面,并且两者使用“?”连接,而各个变量之间使用“&”连接;Post是将表单中的数据放在form的数据体中,按照变量和值相对应的方式,传递到action所指向URL。 
    3、Get是不安全的,因为在传输过程,数据被放在请求的URL中,而如今现有的很多服务器、代理服务器或者用户代理都会将请求URL记录到日志文件中,然后放在某个地方,这样就可能会有一些隐私的信息被第三方看到。另外,用户也可以在浏览器上直接看到提交的数据,一些系统内部消息将会一同显示在用户面前。Post的所有操作对用户来说都是不可见的。 
    4、Get传输的数据量小,这主要是因为受URL长度限制;而Post可以传输大量的数据,所以在上传文件只能使用Post(当然还有一个原因,将在后面的提到)。 
    5、Get限制Form表单的数据集的值必须为ASCII字符;而Post支持整个ISO10646字符集。默认是用ISO-8859-1编码 
    6、Get是Form的默认方法。

    1 1. get是从服务器上获取数据,post是向服务器传送数据。
    2 2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。
    3 3. 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。
    4 4. get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。
    5 5. get安全性非常低,post安全性较高。但是执行效率却比Post方法好。 搜索
    6 
    7 建议:
    8 1、get方式的安全性较Post方式要差些,包含机密信息的话,建议用Post数据提交方式;
    9 2、在做数据查询时,建议用Get方式;而在做数据添加、修改或删除时,建议用Post方式;
    详细剖析get&post

    05.    Struts2之验证框架执行流程

    推荐博客:http://blog.csdn.net/woshisap/article/details/7300907

     

    06.    jsp中9个内置对象与servlet对应关系及四个作用域

    解析内置对象没有get方法。

    推荐博客:http://blog.csdn.net/machinecat0898/article/details/23380843

    隐式对象

    说明

    out

    转译后对应JspWriter对象,其内部关联一个PringWriter对象

    request

    转译后对应HttpServletRequest/ServletRequest对象

    response

    转译后对应HttpServletRespons/ServletResponse对象

    config

    转译后对应ServletConfig对象

    application

    转译后对应ServletContext对象

    session

    转译后对应HttpSession对象

    pageContext

    转译后对应PageContext对象,它提供了JSP页面资源的封装,并可设置页面范围属性

    exception

    转译后对应Throwable对象,代表由其他JSP页面抛出的异常对象,只会出现于JSP错误页面(isErrorPage设置为true的JSP页面)

    page

    转译后对应this

     07.    struts-config.xml配置文件详解     注:(该配置是struts1中的配置文件,建议回顾查看)

     推荐博客:http://blog.csdn.net/huozhicheng/article/details/5426356

     强烈建议详细查看!

     08.    访问ServletAPI的使用

    解析:ServletActionContext.getRequest()获取到的request对象属于HttpServletRequest类型,而不是Map集合








  • 相关阅读:
    [Angular] Architectures for Huge Angular Based Enterprise
    [Bash] Move and Copy Files and Folders with Bash
    [Bash] Create nested folder in Bash
    [Bash] View Files and Folders in Bash
    [Angular] Expose Angular Component Logic Using State Reducers
    [Angular] Modify User Provided UI with Angular Content Directives
    [Angular] Refactor Angular Component State Logic into Directives
    [Angular] Communicate Between Components Using Angular Dependency Injection
    [Angular] Write Compound Components with Angular’s ContentChild
    java web从零单排第二十一期《Hibernate》主键的生成方式,用户增加与显示用户列表
  • 原文地址:https://www.cnblogs.com/john69-/p/6080245.html
Copyright © 2020-2023  润新知