本帖最后由 小石姐姐 于 2018-6-1 09:24 编辑
MVC和事务 反射: 获得Method对象,然后让方法执行 invoke 【Java中的内省技术】(了解) Ø 内省:用来获得JavaBean的属性及属性的get或set方法. JavaBean:就是一个满足了特定格式的Java类: * 需要提供无参数的构造方法: * 属性私有 * 对私有的属性提供public的get/set方法. Ø 内省的代码: public void demo1() throws Exception{ // 获得了Bean的信息 BeanInfo beanInfo = Introspector.getBeanInfo(User.class); // 获得Bean的属性描述了 PropertyDescriptor[] pds = beanInfo.getPropertyDescriptors(); for(PropertyDescriptor pd:pds){ System.out.println(pd.getName()); /*pd.getReadMethod(); // 获得get方法 pd.getWriteMethod();// 获得set方法. */ } } Ø 使用内省封装一个MyBeanUtils: public class MyBeanUtils { public static void populate(Object obj,Map<String,String[]> map) throws Exception{ // 获得类的所有的属性的名称: BeanInfo beanInfo = Introspector.getBeanInfo(obj.getClass()); // 获得类中所有的属性: PropertyDescriptor[] pds = beanInfo.getPropertyDescriptors(); for (PropertyDescriptor pd : pds) { if(map.containsKey(pd.getName())){ Method method = pd.getWriteMethod(); // 执行set方法: method.invoke(obj, map.get(pd.getName())[0]); } } } } Servlet:接收参数--》封装数据---》调用Service--》将数据存放到域中---》页面跳转 Service:业务逻辑处理 一个Servlet完成多个Servlet的任务(增删改查)
异步AJAX 【AJAX的概述】: Ø 什么是AJAX: * AJAX:异步的 JavaScript And XML. * 使用的是老的技术,用的是新的思想. Ø 了解同步和异步的区别: * 参考图一: Ø AJAX的功能:完成页面的局部刷新,不中断用户的体验. * 早期的时候JS技术根本不受重视.后台开发人员经常将JS当成一种玩具式语言.JS中有一个对象XMLHttpRequest对象可以向服务器异步发送请求.传统的B/S结构的软件,所有实现功能都需要在服务器端编写代码(胖服务器).现在有了AJAX以后,可以将部分代码写到客户端浏览器(RIA:Rich Internet Application).FLEX:AS脚本编程. * XML:使用XML做为数据传递的格式: JSON: 原生的JS的写法去实现 【XMLHttpRequest】: Ø 属性: * readyState :XMLHttpRequest的状态 0(未初始化):对象已建立,但未初始化(尚未调用open方法) 1(初始化) :对象已建立,尚未调用send方法 2(发送数据):send方法已调用,但是当前的状态及http头未知 3(数据发送中):已接收部分数据,因为响应及http头不全,这时通过responseBody和responseText获取部分数据会出现错误 4(完成) :数据接收完毕,此时可以通过responseBody和responseText获取完整的回应数据 * onreadystatechange :当XMLHttpRequest状态改变的时候触发一个函数. * status :获得响应的状态码. 200 , 404 ... * responseText :获得响应的文本数据. * responseXML :获得响应的XML的数据. Ø 方法: * open(请求方式,请求路径,是否异步) :异步去向服务器发送请求. * send(请求参数) :发送请求. * setRequestHeader(头信息,头的值) :处理POST请求方式的中文问题. Ø 创建XMLHttpRequest对象: * IE :将XMLHttpRequest对象封装在一个ActiveXObject组件. * Firefox :直接就可以创建XMLHttpRequest对象. 利用JS的框架去实现(重点) Data:代表服务器对当前这次请求的响应 Load:将服务器对当前这次请求的响应加载到选择器所选中的元素里面 【JQuery的AJAX】 JQuery的AJAX部分方法: * Jq的对象.load(路径,参数,回调函数); * $.get(路径,参数,回调函数,数据类型); * $.post(路径,参数,回调函数,数据类型); * $.ajax();(路径,[settings]) * serialize(); -- JQ的AJAX传递参数的时候需要使用的方法. *ajax(); * $.ajax({ url:, data:, success:function(){ } }); 【AJAX的响应的数据】: 文本,一段HTML的数据,XML,JSON 【使用工具生成XML的文件】 通常使用xStream工具. 将集合,数组,对象转成XML. 【JSON的概述】 Ø JSON的概念: JSON(JavaScript Object Notation)是一种轻量级的数据交换格式 Ø JSON的数据格式的介绍: {“id”:1,”name”:aaa} [{“id”:1,”name”:aaa},{“id”:2,”name”:bbb}] { “city”:{“cid”:1,”cname”:”xxx”} } 【JSON的生成工具】 Ø JSONLIB 转换JSON数据: * JSONArray :将数组或List集合转成JSON. * JSONObject :将对象或Map集合转成JSON. 监听器 ServletContextListenter:监听ServletContext对象的创建和销毁: 优化程序 【方法】: void contextDestroyed(ServletContextEvent sce) void contextInitialized(ServletContextEvent sce) 【ServletContext对象的创建和销毁】: * 创建:服务器启动的时候,服务器为每个WEB应用创建一个属于该web项目的对象ServletContext. * 销毁:服务器关闭或者项目从服务器中移除的时候. 配置: <!-- 配置监听器 --> <listener> <listener-class>com.itheima.weblistener.MyServletContextListener</listener-class> </listener> 【企业中的应用:】 * 1.加载框架的配置文件 :Spring框架 ContextLoaderListener * 2.定时任务调度: * Timer,TimerTask
|