案例需求:客户端发送AJAX请求服务器端获取用户信息的数据. 案例实现: 在服务器端要将Java对象转换成JSON字符串,如果使用拼接JSON字符串的方式非常繁琐,并且非常容易出错,所以一般会借助第三方Jar包来辅助我们把Java对象编程JSON字符串. 在服务器端将单个Java对象转换成JSON字符串使用JSONObject类的静态方法:formObject (Object object),该方法返回一个JSONObject对象,调用该对象的toString()方法即可完成转换. 在客户端将J…
Ajax并不是新的技术,而是之前技术的整合,其中包括JavaScript.HTML.CSS.DOM.XMLHttpRequest.XML和JSON是构成Ajax技术体系技术基石. JavaScript:JavaScript是一种弱类型.解释性的.通用的脚本语言,在Ajax技术体系中,它将各个部分粘合在一起.JavaScript定义业务逻辑.操作DOM改变和刷新用户界面.重绘或重组织用户数据.处理用户交互等. HTML:HTML定义了文档的结构,定义了元素之间的包含关系,也定义了文档中可以应用样式…
JSON (JavaScript Object Notation)是JavaScript语言中的一种对象类型.JSON的好处是易于阅读和解析.当客户端和服务器端需要交互大量数据时,使用JSON格式传输可以简化客户端和服务器端的编程. 1  JSON对象格式 ●  JSON对象格式如下: {"key":value,"key":value,...} 例如:{"name":"兄弟连IT教育","subject":…
1.简述对Ajax的理解 AJAX是Asynchronous JavaScript and Xml异步的JavaScript和Xml.它一种用来改善用户体验的技术其实质是使用XMLHttpRequest对象异步地向服务器发请求.服务器返回部分数据,而不是—个完整的页面,以页面无刷新的效果更改页面中的局部内容. 2.什么是JSON,在什么情况下使用? JSON(JavaScript  Object  Notation)是一种轻量级的数据交换格式.易于人阅读和编写,同时也易于机器解析和生成.JSON…
案例需求:编写用户登陆页面的验证码模块,在用户进行登陆时,输入验证码后不需要点击提交按钮,使用AJAX异步地向服务器发送验证验证码的请求.如果验证码正确,可以点击提交按钮,如果验证码输入错误,提示用户.如果用户看不清验证码,点击验证码还可以刷新出新的验证码. 案例实现: 验证码原理:当页面请求一个验证码的Servlet时,这个Servlet会把数据以图片的形式传给客户端,并把数据以字符串的形式存入了session中.当用户以图片为标准输入对应的验证码并发送给对应的用来验证验证码的Servlet时…
在com.xdl.servlet包下定义RandomServlet类并HttpServlet类,在该类中生成随机数并发送给客户端.RandomServlet类详细代码如下: package com.xdl.servlet; import java.io.IOException; import java.io.PrintWriter; import java.util.Random; import javax.servlet.ServletException; import javax.servl…
jQuery对AJAX的支持 jQuery对Ajax请求的创建.发送.响应.注册数据处理函数.JSON的解析和缓存以及传参等都进行了相应的封装,同时也考虑了浏览器的兼容性问题. jQuery中对AJAX支持核心函数 jQuery中对Ajax支持的核心函数是$.ajax()函数,$.ajax()函数的代码结构如下: $.ajax({ url : 请求地址, type : 请求方式, async : 默认为true,表示异步请求,false表示同步请求, data : 请求参数, dataType…
在Web应用系统开发中,文件上传和下载功能是非常常用的功能. 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用Servlet获取上传文件的输入流然后再解析里面的请求参数是比较麻烦,所以一般选择采用apache的开源工具common-fileupload这个文件上传组件.这个common-fileupload上传组件的jar包可以去apache官网上面下载.common-fileupload是依赖于common-io这个包的,所以还需要下载这个包. 开发环境搭建…
在JSTL Functions标签库中提供了一组常用的EL函数,主要用于处理字符串,在JSP中可以直接使用这些函数. 在JSP中使用Functions标签库,需要通过taglib指令引入该标签库: <%@ taglib prefix="fn" uri=http://java.sun.com/jsp/jstl/functions %> 使用JSTL函数 1.fn:contains函数 fn:contains函数用于判断在源字符串中是否包含目标字符串,其语法为: fn:cont…
很多情况下,需要传递一些信息,从浏览器到Web服务器,最终到后台程序.浏览器使用两种方法可将这些信息传递到Web服务器,分别为GET方法和POST方法. 1.GET方法 GET 方法向页面请求发送已编码的用户信息.页面和已编码的信息中间用“?”字符分隔,如下所示: http://www.test.com/hello?key1=value1&key2=value2 GET方法是默认的从浏览器向Web服务器传递信息的方法,它会产生一个很长的字符串,出现在浏览器的地址栏中.如果您要向服务器传递的是密码…
Java Servlet是运行在带有支持Java Servlet规范的解释器的web服务器上的Java类. Servlet可以使用javax.servlet和javax.servlet.http包创建,它是Java企业版的标准组成部分,Java企业版是支持大型开发项目的Java类库的扩展版本. 这些类实现Java Servlet和JSP规范.在编写本书时,Servlet的最新版本是4.0,JSP的最新版本是2.3. 在javax.servlet包中定义了Servlet接口及相关的通用接口和类:在…
Ajax的核心是XMLHttpRequest对象(xhr),xhr为向服务器发送请求和解析服务器响应提供了接口,能够以异步的方式从服务器获取新数据. xhr的主要方法有: ●  void open(String method,String url,Boolean async) 用于创建请求,参数说明如下: method:请求方式,字符串类型,如GET.POST.DELETE等. url:要请求的地址,字符串类型. async:是否异步,布尔类型,默认是true,异步的. ●  void send…
●  列出提供下载的文件资源 我们要将Web应用系统中的文件资源提供给用户进行下载,首先我们要有一个页面列出上传文件目录下的所有文件,当用户点击文件下载超链接时就进行下载操作,编写一个ListFileServlet,用于列出Web应用系统中所有下载文件. ListFileServlet的代码如下: package com.xdl.servlet; import java.io.File; import java.io.IOException; import java.util.HashMap;…
感知Session绑定事件的监听器 保存在Session域中的对象可以有多种状态:绑定(session.setAttribute("bean",Object)到Session中:从Session域中解除(session.removerAttribute("bean")绑定:随Session对象持久化到一个存储设备中:随Session对象从一个存储设备中恢复. Servlet规范中定义了两个特殊的监听器接口HttpSessionBindingListener和Http…
监听域对象中属性变更的监听器 域对象中属性的变更的事件监听器就是用来监听ServletContext.HttpSession.HttpServletRequest这三个对象中的属性变更信息事件的监听器. 这三个监听器接口分别是ServletContextAttributeListener.HttpSessionAttributeListener和ServletRequestAttributeListener,这三个接口中都定义了三个方法来处理被监听对象中的属性的增加.删除和替换的事件,同一事件在…
4  监听HttpSession域对象的创建和销毁 HttpSessionListener接口用于监听HttpSession对象的创建和销毁. 创建一个Session时,激发sessionCreate(HttpSessionEvent event)方法. 销毁一个Session时,激发sessionDestroyed(HttpSessionEvent event)方法. 范例:编写一个MyHttpSessionListener类,实现HttpSessionListener接口,监听HttpSes…
1  基本概念 监听器是一个专门用于对其他对象身上发生的事件或状态改变进行监听和相应处理的对象,当被监视的对象发生情况时,立即采取相应的行动.监听器其实就是一个实现特定接口的普通java程序,这个程序专门用于监听另一个java对象的方法调用或属性改变,当被监听对象发生上述事件后,监听器某个方法立即被执行. JavaWeb中的监听器是Servlet规范中定义的一种特殊类,它用于监听web应用程序中的ServletContext,HttpSession和ServletRequest等域对象的创建于销…
过滤器案例:字符编码过滤器 在JavaWeb程序开发中,由于Web容器内部所使用编码格式并不支持中文字符集,所以,处理浏览器请求中的中文数据就会出现乱码现象. 图3  无字符编码过滤器 从上图可以看出,由于Web容器使用了ISO-8859-1编码格式,所以在Web应用的业务处理中也会使用ISO-8859-1的编码格式,虽然浏览器提交的请求使用的是中文编码格式UTF-8,但经过业务处理中的ISO-8859-1编码,仍然会出现中文乱码现象.解决此问题的方法非常简单,在业务处理中重新制定中文字符集进行…
Servlet过滤器是从Servlet2.3规范开始新增的功能,并在Servlet2.4规范中得到增强,监听器可以监听到Web应用程序启动和关闭.创建过滤器和监听器需要继承相应接口,并对其进行配置. 过滤器 在现实生活中,自来水都是经过一层层过滤处理才达到食用标准的,每一层过滤都起到一种净化的作用.JavaWeb中的Servlet过滤器与自来水被过滤的原理相似,Servlet过滤器主要用于对客户端(浏览器)的请求进行过滤处理,现将过滤后的请求转交给下一个资源,它在JavaWeb开发中具有十分重要…
1.条件标签 条件标签能够实现Java语言中的if语句以及if-else语句的功能,它包括以下几种: <c:if>:用于实现Java语言中的if语句的功能. <c:choose>.<c:when>.<c:otherwise>:用于实现Java语言中if-else语句的功能. (1)<c:if>标签 <c:if>标签用于实现Java语言中的if语句的功能,它的语法为: <c:if test="逻辑表达式" va…
MVC是Model-View-Controller的简称,即模型-视图-控制器.MVC是一种设计模式,它强制性地把应用程序的数据展示.数据处理和流程控制分开.MVC把应用程序分成3个核心模块:模型.视图和控制器,它们分别担当不同的任务.图1显示了这几个模块各自的功能及它们的相互关系. 图1  MVC设计模式 1  视图 视图是用户看到并与之交互的界面.视图向用户显示相关的数据,并能接收用户的输入数据,但是它并不进行任何实际的业务处理.视图可以向模型查询业务状态,但不能改变模型.视图还能接收模型发…
读取web.xml配置信息的config对象 config对象主要用于取得服务器的配置信息.通过pageContxt对象的getServletConfig()方法获取一个config对象.当一个Servlet初始化时,容器把某些信息通过config对象传递给这个Servlet.开发者可以在web.xml文件中为应用程序环境中的Servlet程序和JSP页面提供初始化参数.config对象的常用方法如下: ●  getServletContext():获取Servlet上下文 ●  getServ…
JSP内置对象定义 JSP提供了由容器实现和管理的内置对象,也可以称之为隐含对象,这些内置对象不需要通过JSP页面编写来实例化,在所有的JSP页面中都可以直接使用,它们起到了简化页面的作用,JSP的内置对象广泛应用于JSP的各种操作中. JSP九大内置对象 由于JSP使用Java作为脚本语言,所以JSP将具有强大的对象处理能力,并且可以动态创建Web页面内容.但Java语法在使用一个对象前,需要先实例化这个对象,这其实是一件比较繁琐的事情.为了简化开发,JSP提供了一些内置对象,用来实现很多JS…
application对象 application对象用于保存所有应用程序中的公有数据.它在服务器启动时自动创建,在服务器关闭时销毁,当application对象没有被销毁时,所有用户都可以共享application对象,与session对象相比,application对象的声明周期更长,类似于系统的"全局变量". 1.访问应用程序初始化参数 application对象提供了对应用程序初始化参数进行访问的方法.应用程序初始化参数在web.xml文件中进行设置,web.xml文件位于We…
指令标识主要用于设定整个JSP页面范围内都有效的相关信息,它是被服务器解释并执行的,不会产生任何内容输出到网页中.也就是说,指令标识对于客户端浏览器是不接见的.JSP页面的指令标识与我们的身份证类似,虽然公民身份证可以标识公民身份的,但是它并没有对所有见到过我们的人都公开. JSP指令语法 JSP指定标识的语法格式如下: <%@ 指令名 属性1="属性值1" 属性2="属性值2" ...%> 参数说明: 指令名:用于指定指令名称,在JSP中包含page.…
JSP动作指令语法 JSP动作指令语法格式如下: <jsp:动作名 属性名1="属性值1" 属性名2="属性值2" ... %> JSP具体动作指令 ●  包含文件动作标识<jsp:include> JSP的动作标识<jsp:include>用于向当前页面中包含其他的文件.被包含的文件可以是动态文件,也可以是静态文件. <jsp:include>动作标识的语法格式如下: <jsp:include page=&qu…
在JSP页面中,脚本标识使用的最为频繁,因为他们能够方便.灵活地生成页面中的动态内容,特别是JSP程序代码块.JSP中的脚本标识包括3部分,即JSP声明区.JSP表达式和JSP程序代码块.通过这些标识,在JSP页面中可以像编写Java程序一样声明变量.定义函数或进行各种表达式运算. JSP声明区 声明标识用于在JSP页面中定义全局的变量或方法.通过声明标识定义的变量和方法被整个JSP页面访问,所以通常使用该标识定义整个JSP页面需要引用的变量或方法. 服务器执行JSP页面时,会将JSP页面转换为…
由于JSP页面由HTML.JSP.Java脚本等组成,所以在其中可以使用多种注释格式 HTML中的注释 HTML语言的注释不会被显示在网页中,但是在浏览器中选择查看网页源代码时,还是能够看到注释的信息的.其语法格式如下: //注释文本 例:在HTML中添加注释,代码如下: //显示数据报表的表格 <table> ... </table> 上述代码为HTML的一个表格添加了注释信息,其他程序开发人员可以直接从注释中了解表格的用途,无须重新分析代码.在浏览器中查看网页代码时,上述代码将…
1.描述Cookie的作用 Cookie是网站保存在浏览器客户端的信息,也就是说保存在访客的机器里的变量,一般随着HTTP头发送到客户端.在Cookie生效之后及失效之前,客户每次发出页面请求的时候,都会把Cookie -块发送到服务器,只要我们针对它进行相应的处理,就可以改变它的值. 2.描述Session的作用 Session的中文译名叫做”会话”,其本来的含义是指有始有终的一系列动作/消息,比如用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间…
JSP页面是指扩展名为.jsp的文件,在一个JSP页面中,可以包括指令标识.HTML代码.JavaScript代码.嵌入的Java代码.注释和JSP动作标识等内容.但这些内容并不是一个JSP页面所必须的.下面将通过一个简单的JSP页面说明JSP页面的构成. 例:编写一个JSP页面,名称为index,jsp,在该页面中显示当前时间. 代码如下: <%@ page language="java" contentType="text/html; charset=UTF-8&q…