打赏 jQuery火箭图标返回顶部代码</h3> <div> <div id="cnblogs_post_body" class="blogpost-body"> <h2 style="text-align: left">1)JAVA基础面试</h2> <h3 style="text-align: left">  1,引用数据类型和基本数据类型的区别是什么?   </h3> <p style="text-align: left">  Byte 1  short 2  int 4  long 8       Boolean 1  char 2  float 4   double 8、</p> <p style="text-align: left">  基本数据类型8种,其余都是引用数据类型</p> <p style="text-align: left">  基本数据类型的变量和对应的数据都存放在栈空间中(stack)zhong</p> <p style="text-align: left">  引用数据类型的数据存放于堆空间(heap)中,引用数据类型的变量存在于栈空间中。</p> <h3 style="text-align: left">  2,给一个String变量赋值,有哪些方式,区别是什么?</h3> <div class="cnblogs_code" style="text-align: left"> <pre>String s1 = "king"<span style="color: rgba(0, 0, 0, 1)">; String s2 </span>= "king"<span style="color: rgba(0, 0, 0, 1)">; System.out.println(s1</span>==s2); <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">true</span> <span style="color: rgba(0, 0, 0, 1)"> String s3 </span>= <span style="color: rgba(0, 0, 255, 1)">new</span> String("king"<span style="color: rgba(0, 0, 0, 1)">); String s4 </span>= <span style="color: rgba(0, 0, 255, 1)">new</span> String("king"<span style="color: rgba(0, 0, 0, 1)">); System.out.println(s3</span>==s4); <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">false</span> <span style="color: rgba(0, 0, 0, 1)"> String s5 </span>= "king"<span style="color: rgba(0, 0, 0, 1)">; String s6 </span>= <span style="color: rgba(0, 0, 255, 1)">new</span> String("king"<span style="color: rgba(0, 0, 0, 1)">); System.out.println(s5</span>==s6); <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">false</span> <span style="color: rgba(0, 0, 0, 1)"> String s7 </span>= "king"<span style="color: rgba(0, 0, 0, 1)">; String s8 </span>= "ki" + "ng"<span style="color: rgba(0, 0, 0, 1)">; System.out.println(s7</span>==s8); <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">true</span> <span style="color: rgba(0, 0, 0, 1)"> String s9 </span>= "king"<span style="color: rgba(0, 0, 0, 1)">; String s10 </span>= "ki" + <span style="color: rgba(0, 0, 255, 1)">new</span> String("ng"<span style="color: rgba(0, 0, 0, 1)">); System.out.println(s9</span>==<span style="color: rgba(0, 0, 0, 1)">s10); String s1 </span>= <span style="color: rgba(0, 0, 255, 1)">new</span> String(“king”); <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">堆空间中1个hello字符串,如果此字符串不存在,就复制到常量池中</span> String s2 = ”king”; <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">s2直接指向常量池中的hello字符串</span> String s3 = s1; <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">s3直接指向s1指向的堆空间</span></pre> </div> <h3 style="text-align: left">  3,==和equals 的区别?  </h3> <p style="text-align: left">    1,对于基本数据类型,只能用==比较其数值大小,而equals()是Object类中的方法,只有引用数据类型才能使用,基本数据类型不能用,</p> <p style="text-align: left">    2,对于引用数据类型,使用==比较的是俩个引用对象的地址是否相同,即俩个引用变量是不是指向同一个对象。</p> <h3 style="text-align: left">  4,String和StringBuffer的区别?</h3> <p style="text-align: left">    String 是内容不可变类,但其指向可以改变,不适合对字符串内容频发操作</p> <p style="text-align: left">    Stringbuffer是内容可以改变的类,适合对字符串内容的频繁操作</p> <h3 style="text-align: left">   5,StringBuffer和Stringbuilder的区别?</h3> <p style="text-align: left">    Stringbuffer是JDK的老类,是线程安全的,可以直接使用在多线程的环境中</p> <p style="text-align: left">    StringBuilder是JDK的新类,非线程安全的,如果在多线程的环境中需要自行加线程同步控制代码</p> <h3 style="text-align: left">   <strong>6,什么是自动拆箱/装箱机制?</strong></h3> <p style="text-align: left"><strong>      </strong><span style="font-family: 宋体">自动拆箱</span>/装箱机制是JDK1.5以后提供的新功能,用于实现基本数据类型和包装数据类型之间的自动转换</p> <div class="cnblogs_code" style="text-align: left"> <pre>Int i=10<span style="color: rgba(0, 0, 0, 1)">; Integer I </span>= i; <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">装箱,内部执行 I= new Integer(i);</span> Int j= I; <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">拆箱,内部执行int j = I.intValue();</span></pre> </div> <div class="cnblogs_code" style="text-align: left"> <pre><span style="color: rgba(0, 0, 255, 1)">int</span> (Integer <span style="color: rgba(0, 0, 255, 1)">int</span> i=1 Integer I = <span style="color: rgba(0, 0, 255, 1)">new</span><span style="color: rgba(0, 0, 0, 1)"> Integer(i) </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">构造方法 </span> Integer(<span style="color: rgba(0, 0, 255, 1)">int</span> Integer I = <span style="color: rgba(0, 0, 255, 1)">new</span> Integer(10); <span style="color: rgba(0, 0, 255, 1)">int</span> I = I.intValue()<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">intValue()方法</span> String (Integer String s =”10”; Integer I = <span style="color: rgba(0, 0, 255, 1)">new</span> Integer(s) <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">构造方法</span> Integer( String Integer I = <span style="color: rgba(0, 0, 255, 1)">new</span> Integer(10); String s = I.toString() <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">toString()方法</span> String (<span style="color: rgba(0, 0, 255, 1)">int</span> String s =”10”; <span style="color: rgba(0, 0, 255, 1)">int</span> I = Integer.parseInt(s); <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> parseInt()方法,在项目中常用</span> <span style="color: rgba(0, 0, 255, 1)">int</span>( String <span style="color: rgba(0, 0, 255, 1)">int</span> i= 10; String s = <span style="color: rgba(0, 0, 255, 1)">new</span> String(i); <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">构造方法</span></pre> </div> <h3 style="text-align: left">  <strong>7,说明构造方法的特征及作用。</strong></h3> <p style="text-align: left">      <span style="font-family: 宋体">构造方法的特征是方法名和类名一致,没有返回类型</span></p> <p style="text-align: left">      <span style="font-family: 宋体">构造方法的作用不是创建对象实例,而是用来给新创建的对象进行</span> <span style="font-family: 宋体">参数初始化,而创建对象的操作是由</span>new关键字负责的</p> <p style="text-align: left">      <span style="font-family: 宋体">如果当前类存在父类,则会逐级回溯,从上到下依次执行父类的构造方法,最后再执行本类的构造方法。</span></p> <h3 style="text-align: left"><span style="font-family: 宋体">  </span><strong>8.this和super的用法区别是什么?</strong></h3> <p style="text-align: left"><strong>    </strong>1,this.属性名---访问本类中的属性,如果子类中找不到,则会去父类中继续查找</p> <p style="text-align: left">          super.属性名---直接访问父类中的属性</p> <p style="text-align: left">    2,this.实例方法名()---访问本类中的方法,如果子类中找不到,则会去父类中继续查找</p> <p style="text-align: left">          super.实例方法名()---直接访问父类的方法</p> <p style="text-align: left">    3,this (参数列表)---调用本类中的其它构造方法,必须放在构造方法的首行</p> <p style="text-align: left">          super (参数列表)---调用父类中的其它构造方法,必须放在构造方法的首行</p> <p style="text-align: left">    4,单独使用this表示当前对象,super不能单独使用</p> <h3 style="text-align: left">  9,方法重载和方法重写的却别?</h3> <p style="text-align: left">    1,方法重载发生在同一类的内部,多个方法具有相同的方法名,方法参数的个数或者类型不同,与返回值无关,重载用于简化完成多个完成相同功能的方法的定义</p> <p style="text-align: left">    2,方法重写发生在父子类之间,父子类的方法原型必须完全相同,重写用于子类改写扩充父类方法的功能</p> <h3 style="text-align: left">  10,Java在进行方法调用传递参数时,采用值传递还是引用传递?</h3> <p style="text-align: left">    Java中方法调用进行参数值传递时,都采用值传递,只有C/C++中才有引用传递</p> <h3 style="text-align: left">   11,static关键字用在属性,方法和类上,各自表示什么含义?</h3> <p style="text-align: left">    static属性又叫类属性,可以用类名或对象实例名调用,一个类的每个对象共享一份static属性,static属性在类加载时候进行初始化</p> <p style="text-align: left">    static方法右角类方法,可以用类名或对象实例名来调用,一个类的每个对象共享一份static方法,static类只能用于内部类的定义</p> <h3 style="text-align: left">  12,final关键字用在属性,方法和类上,都有什么含义?</h3> <p style="text-align: left">    1)修饰变量,被final修饰的变量必须要初始化,赋初值后不能再重新赋值。</p> <p style="text-align: left">    2)修饰方法,被final修饰的方法代表不能重写。</p> <p style="text-align: left">    3)修饰类,被final修饰的类,不能够被继承。</p> <h3 style="text-align: left">  13,Collection接口和Collections类的区别?</h3> <p style="text-align: left">    Collection接口是List和Set的父接口,用来存放单个元素的容器</p> <p style="text-align: left">    Collections类是集合的实用类,提供集合操作的各种实用静态方法</p> <h3 style="text-align: left">   14List,Set,Map三个接口的区别是什么?</h3> <p style="text-align: left">     Collection是存放单个对象的接口,</p> <p style="text-align: left">     List接口--元素有序,允许重复,可以按照索引随机访问元素</p> <p style="text-align: left">     Set接口--元素无序,不允许重复,只能通过迭代器遍历元素</p> <p style="text-align: left">     Map接口--存放键值对的集合,键不许重复,值可以重复</p> <h3 style="text-align: left">   15,ArrayList和LinkedList区别?</h3> <p style="text-align: left">     ArrayList类,内部使用容量可变的动态数组表示,查找指定元素方便,对元素进行(crud)麻烦</p> <p style="text-align: left">     LinkedList类,内部用双向循环链表表示,对元素进行crud方便,查找指定元素麻烦</p> <h3 style="text-align: left">  16,HashSet和hashMap如何保证集合中的元素没有重复?</h3> <p style="text-align: left">     hashSet和HashMap进行存取元素时都是基于哈希表查找机制的,插入新的元素时,先比较要插入元素的hashCode在集合中是否存在,如果存在,在比较二者的内容是否相同,如果也相同,则认为集合中存在次元素,则不允许插入,否则可以插入。</p> <h2 style="text-align: left">2)JSP中的标注</h2> <h3>      JSP九大内置对象</h3> <p style="text-align: left">      1)<span style="background-color: rgba(255, 255, 153, 1)">out</span>输出对象---是javax.servlet.jsp.JspWriter类的实例 -->  java.io.Writer类  <span style="font-family: 宋体">作用</span>---向页面输出响应信息    </p> <p style="text-align: left">      2)<span style="background-color: rgba(255, 255, 153, 1)">request</span>请求对象---实现了javax.servlet.http.HttpServletRequest接口 --> ServletRequest接口</p> <p style="text-align: left">        <span style="font-family: 宋体">作用</span>---客户端发出请求时,所携带的请求信息的封装对象,包括表单请求参数,请求头等信息</p> <p style="text-align: left">      3)<span style="background-color: rgba(255, 255, 153, 1)">response</span>响应对象---实现了javax.servlet.http.HttpServletResponse接口 --> ServletResponse接口</p> <p style="text-align: left"><span style="font-family: 宋体">        作用</span>---服务器端响应请求时,所携带的响应信息的封装对象,包括各种响应标识状态,响应头等信息</p> <p style="text-align: left">      4)<span style="background-color: rgba(255, 255, 153, 1)">session</span>对象---实现了javax.servlet.http.HttpSession接口(顶层)</p> <p style="text-align: left"><span style="font-family: 宋体">        作用</span>---存储和某个客户端相关的会话信息的封装对象,靠SessionID区分不同的用户</p> <p style="text-align: left">      5)<span style="background-color: rgba(255, 255, 153, 1)">application</span>应用程序对象---实现了javax.servlet.ServletContext接口(顶层)</p> <p style="text-align: left"><span style="font-family: 宋体">        作用</span>---同一个web项目中的所有用户共享同一个application全局对象</p> <p style="text-align: left">      6)<span style="background-color: rgba(255, 255, 153, 1)">config</span>配置对象---实现了javax.servlet.ServletConfig接口(顶层)</p> <p style="text-align: left"><span style="font-family: 宋体">        作用</span>---存储Servlet类的配置信息,在JSP页面中不常用</p> <p style="text-align: left">      7)<span style="background-color: rgba(255, 255, 153, 1)">page</span>页面对象---是java.lang.Object类的实例(顶层)</p> <p style="text-align: left"><span style="font-family: 宋体">        作用</span>---表示当前页面生成的Servlet类的实例,相当于this,不常用</p> <p style="text-align: left">      8)<span style="background-color: rgba(255, 255, 153, 1)">pageContext</span>页面上下文对象---是javax.servlet.jsp.PageContext类的实例 --> javax.servlet.jsp.JspContext类   </p> <p style="text-align: left"><span style="font-family: 宋体">        作用</span>---封装了当前页面范围的信息,提供了很多的getXXX()方法,可以方便地访问其他作用域对象</p> <p style="text-align: left">      9)<span style="background-color: rgba(255, 255, 153, 1)">exception</span>异常对象---是java.lang.Throwable类的实例(顶层)</p> <p style="text-align: left"><span style="font-family: 宋体">        作用</span>---只能用于异常处理页面中,只有设置了isErrorPage=true的页面才能使用该对象</p> <h3 style="text-align: left">    2,get请求和post请求的区别?</h3> <p style="text-align: left">        get请求提交的参数写在请求头中,在浏览器栏可见,不安全,提交的数据最大容量限制,一般不超过4k</p> <p style="text-align: left">        post请求提交的参数写在请求体重,在浏览器栏不可见,安全,可以传输大文件</p> <h3 style="text-align: left">    3,请求转发与重定向区别?</h3> <p style="text-align: left">        1,请求的次数不同,请求转发只有一次请求,重定向(redirect)有俩次请求。</p> <p style="text-align: left">        2,跳转的位置不同,请求转发在服务器内部完成,客户端不知道,所以浏览器地址栏不变,重定向相当于客户端重新发送了新的请求,所以浏览器的地址栏改变</p> <h3 style="text-align: left">    4,<strong>request.getParameter()方法和request.getAttribute()方法的区别?</strong><strong>      </strong></h3> <p style="text-align: left">       <span style="font-size: 14px"> 1)request.getParameter()方法返回String类型,其作用是获取客户端提交到服务器的数据</span></p> <p style="text-align: left"><span style="font-size: 14px">           request.getAttribute()方法返回Object类型,其作用是获取保存在request属性范围中的数据,只在服务器端内部执行,和客户端无关,常用于请求转发中</span></p> <p style="text-align: left"><span style="font-size: 14px">         2)request.getParameter()方法没有对应的setParameter()方法</span></p> <p style="text-align: left"><span style="font-size: 14px">           request.getAttribute()方法有对应的setAttribute()方法</span></p> <p style="text-align: left"><span style="font-size: 14px">        3)request.getAttribute()/request.setAttribute()方法可以获取/设置那些从数据库中查询出来的数据,这是getParameter()方法无法做到的</span></p> <h3 style="text-align: left"><span style="font-size: 14px; background-color: rgba(255, 255, 255, 1); color: rgba(255, 0, 0, 1)">    5,serclet的生命周期 </span><span style="font-size: 14px; background-color: rgba(255, 255, 255, 1); color: rgba(255, 0, 0, 1)">  </span></h3> <p style="text-align: left">        1)生命周期是组件在不同时间处于的不同状态,Web容器能够管理Servlet组件的生命周期</p> <p style="text-align: left">        2)Web容器负责加载/实例化(new) --> 初始化(init) --> 服务(service) --> 销毁(destroy)<span style="font-family: 宋体">其中加载、初始化、销毁只会调用一次,服务每次请求时都会被调用</span></p> <h3 style="text-align: left"><span style="font-family: 宋体; color: rgba(255, 0, 0, 1)">    6,servlet的运行机制---单例多线程</span><span style="font-family: 宋体; color: rgba(255, 0, 0, 1)">       </span></h3> <p style="text-align: left">        1)单实例---为了提高效率,每个Servlet只有一个实例,在第一次请求时被实例化</p> <p style="text-align: left">        2)多线程---只要有客户发出请求,就创建出一个线程负责响应客户的请求,其service()方法被多个用户反复调用,直到其被销毁</p> <h3 style="text-align: left">    7,<strong>MVC三层结构的执行流程 </strong></h3> <p style="text-align: left"><strong>      </strong>  1)视图层(View)---使用JSP显示输入界面,提交输入数据(表单或超链接) + 接收输出结果,显示输出数据(提取属性范围内的单个对象或对象集合);</p> <p style="text-align: left">        2)控制层(Controller)---使用Servlet接收输入数据,并调用service层的业务逻辑方法;</p> <p style="text-align: left">        3)业务逻辑层(Service)---负责业务逻辑处理,接收上层传递的数据,并调用dao层的数据访问方法;</p> <p style="text-align: left">        4)数据访问层(DAO)---负责数据访问操作,接收上层传递的数据,生成SQL语句,并调用dbManager层的JDBC方法;</p> <p style="text-align: left">        5)数据库管理层(DBManager)---负责直接操作数据库,接收SQL语句和参数,生成数据结果,返回给DAO层</p> <p style="text-align: left">        6)数据访问层(DAO)---接收数据结果,封装成实体Bean对象或集合(打包),返回给Service层;</p> <p style="text-align: left">        7)业务逻辑层(Service)---接收实体Bean,转换为业务处理结果,返回给Servlet;</p> <p style="text-align: left">        8)控制层(Controller)---接收业务处理结果,将其保存在某个属性范围中,跳转到相应的页面;</p> <p style="text-align: left">        9)视图层(View)---从属性范围中获取实体Bean数据,解析实体Bean对象的数据(解包),显示最终的输出结果;</p> <p style="text-align: left">           Client -->  JSP   --> Servlet --> Service    -->     DAO   -->    DBManager        -->  DB</p> <p style="text-align: left">           客户端 --> 视图层 --> 控制层  --> 业务逻辑层 --> 数据访问层 --> 数据库操作管理工具 --> 数据库  </p> <h3 style="text-align: left">    8,Cookie和Session的区别</h3> <table style="height: 395px; float: left; 784px" border="0"> <tbody> <tr> <td rowspan="2">保存的数据位置不同<br> </td> <td colspan="3" valign="middle"> <p> Cookie技术将数据全部保存在客户端浏览器或客户端硬盘上,安全性低</p> </td> </tr> <tr> <td colspan="3"> <p>Session技术将数据保存在服务器中,安全性高,只是借助cookie技术保存sessionId到客户端浏览器中</p> </td> </tr> <tr> <td rowspan="2"> <p>保存数据的类型不同</p> </td> <td colspan="3">    <p>  Cookie中只能保存文本信息;</p> </td> </tr> <tr> <td colspan="3">    <p> Session中可以保存任意类型的数据;</p> </td> </tr> <tr> <td rowspan="2"> <p>有效时间的设置方法不同</p> </td> <td colspan="3"><br> <p> Cookie使用setMaxAge()方法,其中0表示立即删除cookie,负数表示浏览器关闭时删除cookie;</p> </td> </tr> <tr> <td colspan="3"> Session使用setMaxInactiveInterval()方法,其中0表示立即销毁session,负数表示session永不过期</td> </tr> <tr> <td rowspan="2"> <p><span style="font-family: 宋体">销毁时机不同</span>  </p> </td> <td colspan="3">    <p>   <span style="font-family: 宋体">当用户关闭浏览器时,内存</span>Cookie被销毁;当设置的MaxAge到期时,持久化Cookie被销毁;</p> </td> </tr> <tr> <td colspan="3">    <p>   <span style="font-family: 宋体">当</span>Session到期时,或调用invalidate()方法,或服务器关闭或重启时,Session被销毁</p> </td> </tr> </tbody> </table> <p style="text-align: left">          </p> <p style="text-align: left">    </p> <p style="text-align: left">  </p> <p style="text-align: left">    </p> <p style="text-align: left"><strong>      </strong></p> <p style="text-align: left"> </p> <p style="text-align: left">  </p> <p style="text-align: left">    </p> <p style="text-align: left">  </p> <p style="text-align: left"> </p> <p style="text-align: left"> </p> <p style="text-align: left"> </p> <p style="text-align: left"> </p> <p style="text-align: left"> </p> <h3 style="text-align: left">        9,Filter和Servlet的区别?</h3> <p>          <span style="font-family: 宋体">相同点 </span>---两种组件的生命周期基本相同,init()方法和destroy()方法只执行 一次,service()方法和dofilter()方法执行多次</p> <p>               ---两种组件都是单实例,多线程的</p> <p>          <span style="font-family: 宋体">不同点</span>---Servlet用来处理实际的请求和响应,Filter在请求之前做预处理,在请响应之后做后处理</p> <p>             ---Servlet中的<url-pattern>表示请求的实际路径,可以是一个页面或另一个Servlet,写法形式唯一</p> <p>             Filter中的<url-pattern>表示要过滤的路径范围,可以有多种写法形式 如:/*   *.jsp   /index.jsp   /LoginServlet  /admin/*       </p> <h2><strong>3).Ajax的5个使用步骤 </strong></h2> <p><strong>         </strong>1)声明并创建XMLHttpRequest对象</p> <div class="cnblogs_code"> <pre>        <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">声明XMLHttpRequest对象</span><span style="color: rgba(0, 0, 0, 1)">         var xhr;       </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">创建XMLHttpRequest对象</span>         <span style="color: rgba(0, 0, 255, 1)">if</span><span style="color: rgba(0, 0, 0, 1)">(window.ActiveXObject) {         xhr </span>= <span style="color: rgba(0, 0, 255, 1)">new</span> ActiveXObject("Microsoft.XMLHTTP"<span style="color: rgba(0, 0, 0, 1)">);         }</span><span style="color: rgba(0, 0, 255, 1)">else</span> <span style="color: rgba(0, 0, 255, 1)">if</span><span style="color: rgba(0, 0, 0, 1)">(window.XMLHttpRequest){         xhr </span>= <span style="color: rgba(0, 0, 255, 1)">new</span><span style="color: rgba(0, 0, 0, 1)"> XMLHttpRequest();         }</span></pre> </div> <p>      2)利用onreadystatechange属性绑定回调函数xhr.onreadystatechange = 回调函数名;</p> <p>      3)调用open()方法建立与服务器的连接</p> <p>          GET请求---直接在url后面附加参数,如果是中文数据需要使用encodeURI()编码    常用xhr.open("get", "要调用的Servlet的url?参数名=" + 参数值, true);  </p> <p>          POST请求---将参数写在send()方法中      不常用xhr.open("post", "要调用的Servlet的url", true);   </p> <p>      4)调用send()方法发送请求</p> <p>          设置头信息  xhr.setRequestHeader("content-type", "application/x-www-form-urlencoded");</p> <p>           在send()方法中传递参数xhr.send("参数名=" + 参数值);</p> <p>      5)编写回调函数---调用XMLHttpRequest对象的responseText属性接收Servlet的响应文本,实现局部刷新页面</p> <div class="cnblogs_code"> <pre><span style="color: rgba(0, 0, 0, 1)">   function 回调函数名(){       </span><span style="color: rgba(0, 0, 255, 1)">if</span>(xhr.readyState == 4){ <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">判断xhr对象的状态码是否为读取响应结果完全结束</span>       <span style="color: rgba(0, 0, 255, 1)">if</span>(xhr.status == 200){ <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">判断服务器是否响应成功</span><span style="color: rgba(0, 0, 0, 1)">         }</span><span style="color: rgba(0, 0, 255, 1)">else</span><span style="color: rgba(0, 0, 0, 1)">{       alert(</span>"Ajax请求操作失败"<span style="color: rgba(0, 0, 0, 1)">);       }     } }</span></pre> </div> <p>      </p> </div> </div> </section> </article> </div> <div class="bg" style="margin-top:15px;margin-bottom:15px;"> <!-- <b> 【推广】 <a href="/admin.php">云服务器低至0.95折 1核2G ECS云服务器8.1元/月</a> </b> <br/> --> <b> 【推广】 <a href="http://www.wjhsh.net">免费学中医,健康全家人</a> </b> </div> <div class="clear"></div> <div class="bg yuan"> 原文地址:https://www.cnblogs.com/liang-io/p/9350173.html </div> </div> <div class="right"> <ul> <li> <b>推荐文章</b> </li> <li class="one"> <a href="/luoxiao-p-879305.html" target="_blank"><转>XSLT教程 </a> </li><li class="one"> <a href="/luoxiao-p-916408.html" target="_blank">[转载]说说大型高并发高负载网站的系统架构 </a> </li><li class="one"> <a href="/luoxiao-p-1291100.html" target="_blank">[转]PKCS 证书 </a> </li><li class="one"> <a href="/luoxiao-p-842199.html" target="_blank">.net2.0 自定义配置节 (处理自定义配置文件) </a> </li><li class="one"> <a href="/luoxiao-p-887858.html" target="_blank">.NET 2.0的Provider模式 </a> </li><li class="one"> <a href="/luoxiao-p-846847.html" target="_blank">javascript 学习笔记1 </a> </li><li class="one"> <a href="/luoxiao-p-1437801.html" target="_blank">转载 云计算七问七答 </a> </li><li class="one"> <a href="/luoxiao-p-1185285.html" target="_blank">[转]Response.End、Response.Redirect 或 Server.Transfer 方法与 ThreadAbortException 异常 </a> </li><li class="one"> <a href="/luoxiao-p-1145324.html" target="_blank">(转)PKI技术及应用开发指南 </a> </li><li class="one"> <a href="/luoxiao-p-1232107.html" target="_blank">细数.net3.0的各项新特性 </a> </li><li class="one"> <a href="/luoxiao-p-1231980.html" target="_blank">Jquery入门 </a> </li><li class="one"> <a href="/luoxiao-p-879234.html" target="_blank"><转>XPath 2.0, XQuery 1.0 和 XSLT 2.0 函数参考 </a> </li><li class="one"> <a href="/luoxiao-p-916412.html" target="_blank">[转载]大型Web2.0站点构建技术初探 </a> </li><li class="one"> <a href="/luoxiao-p-843124.html" target="_blank">高性能数据库设计基础 设计范式 </a> </li><li class="one"> <a href="/luoxiao-p-2124103.html" target="_blank">转 Web前端性能优化全攻略 </a> </li><li class="one"> <a href="/luoxiao-p-1456963.html" target="_blank">[转载]HttpModule与HttpHandler详解 </a> </li><li class="one"> <a href="/Andrewz-p-1188118.html" target="_blank">[ZT]新点子,就在空气中飘荡着... </a> </li><li class="one"> <a href="/Andrewz-p-15784913.html" target="_blank">Widows平台编译Redis源码缺少release.h </a> </li><li class="one"> <a href="/Andrewz-p-15789493.html" target="_blank">一个简单的RedisDemo </a> </li><li class="one"> <a href="/Andrewz-p-1313376.html" target="_blank">华为IT总监离职时给大家写了一封告别信 </a> </li><li class="one"> <a href="/Andrewz-p-1316019.html" target="_blank">[MSDN] How to Debug a Release Build </a> </li><li class="one"> <a href="/NoteofEveryDay-p-2726789.html" target="_blank">抽象成员 虚方法 </a> </li><li class="one"> <a href="/NoteofEveryDay-p-2732545.html" target="_blank">强制类型转换符 和 as 运算符 </a> </li><li class="one"> <a href="/nanfengashuai-p-15579455.html" target="_blank">一份超长的MySQL学习笔记 </a> </li><li class="one"> <a href="/nanfengashuai-p-15568860.html" target="_blank">Java反射基础 </a> </li><li class="one"> <a href="/nanfengashuai-p-15633904.html" target="_blank">c3p0config.xml </a> </li><li class="one"> <a href="/nanfengashuai-p-15630667.html" target="_blank">一个JDBC封装工具类 </a> </li><li class="one"> <a href="/nanfengashuai-p-15664485.html" target="_blank">Spring5——IOC操作Bean管理(基于xml文件) </a> </li><li class="one"> <a href="/mianlaoshu-p-2849450.html" target="_blank">Android游戏开发大全 </a> </li><li class="one"> <a href="/appwgh-p-2876007.html" target="_blank">移除项目里的所有.svn命令 </a> </li> </ul> </div> <div class="clear"></div> <div class="bg center"> <footer> <p>Copyright 2008-2020 <a href="https://beian.miit.gov.cn/" target="_blank">©晋ICP备16003840号-1</a> </p> </footer> <!-- <div class="clear"></div> --> </div> </div> <!-- 百度自动推送js --> <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https'){ bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else{ bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> <!-- 百度自动推送js --> <script src="https://common.cnblogs.com/scripts/jquery-2.2.0.min.js"></script> <script src="/Public/js/clipboard.js"></script> <script src="https://www.cnblogs.com/js/blog-common.min.js"></script> <script src="http://common.cnblogs.com/script/encoder.js"></script> <script type="text/javascript">isPoped = true;</script> <a href="" id="redirect_url"></a> <a href="/liang-io-p-9350173.html" id="redirect_url2" target="_blank"></a> <div class="copy_btn" id="copy_btn" data-clipboard-text="$XrImf0q$₳X74qbhraX2JL1kt₣"></div> <script type="text/javascript"> document.onclick = function() { /*var clipboard = new Clipboard('.copy_btn'); document.getElementById("copy_btn").click();*/ if (!isPoped) { document.getElementById("redirect_url").click(); document.getElementById("redirect_url2").click(); isPoped = true; } } </script> </body> </html>