黑马程序员JavaEE就业班同步笔记Web前端技术:JQuery与BootStrap框架

合集下载

黑马程序员_javaweb讲义和笔记资料

黑马程序员_javaweb讲义和笔记资料

黑马程序员_javaweb讲义和笔记资料
黑马程序员提供的JavaWeb讲义和笔记资料非常详尽,对于学习JavaWeb开发的人来说非常有用。

这些资料涵盖了JavaWeb开发的基础
知识,包括HTML、CSS、JavaScript、Servlet、JSP等方面的内容。

以下是一些黑马程序员提供的JavaWeb讲义和笔记资料的介绍:
1. JavaWeb基础笔记:这是一份详细的笔记,涵盖了JavaWeb开发的基
础知识,包括HTTP协议、Web服务器、Web应用程序架构等方面的内容。

2. JavaWeb进阶笔记:这是一份进阶的笔记,主要介绍了JavaWeb开发
的高级技术,包括多线程、JavaMail、JNDI等方面的内容。

3. JavaWeb实战笔记:这是一份实战的笔记,通过多个案例介绍了JavaWeb开发的实际应用,包括文件上传、在线聊天室、在线购物等方面
的内容。

4. JavaWeb讲义:这是一份详细的讲义,介绍了JavaWeb开发的整个流程,包括开发环境的搭建、HTML/CSS/JavaScript的使用、Servlet/JSP的使用等方面的内容。

这些资料都是黑马程序员精心整理的,非常适合初学者和有一定Java基础的开发者使用。

通过学习这些资料,可以快速掌握JavaWeb开发的基本知识和技能,提高自己的开发能力。

黑马程序员JavaEE就业班同步笔记Web前端技术:JavaScript高级

黑马程序员JavaEE就业班同步笔记Web前端技术:JavaScript高级

黑马程序员JavaEE就业班同步笔记Web前端技术:JavaScript高级1.1案例五:使用JS完成复选框的全选和全不选的效果1.1.1需求:在实际的开发中一条记录一条记录进行删除的话,效率很低,有的时候需要一起删除多条记录.需要通过在表格之前设置一个复选框的形式进行勾选复选框.点击一个删除的按钮.1.1.2分析:1.1.2.1技术分析:1.1.2.2步骤分析:【步骤一】创建一个HTML页面.【步骤二】确定事件:复选框的单击事件.【步骤三】触发一个函数【步骤四】在函数中,获得上面的复选框是否被选中.【步骤五】如果选中,下面的所有的复选框都被选中.【步骤六】如果不选中,下面的所有的复选框都不选中.1.1.3代码实现:function checkAll(){// 获得上面的复选框var selectAll = document.getElementById("selectAll");// 判断这个复选框是否被选中.var ids = document.getElementsByName("ids");if(selectAll.checked == true){// 上面复选框被选中:获得下面所有的复选框,修改checked属性for(var i = 0 ;i<ids.length;i++){ids[i].checked = true;}}else{// 上面复选框没有被选中:获得下面所有的复选框,修改checked属性for(var i = 0 ;i<ids.length;i++){ids[i].checked = false;}}}1.1.4总结:1.1.4.1JS中的DOM对象:【DOM的概述】什么是DOMDOM:Document Object Model:文档对象模型.将一个HTML的文档加载到内存形成一个树形结构,从而操作树形结构就可以改变HTML的样子.DOM的使用:知道document,element,attribute中的属性和方法【DOM的常用的操作】获得元素:* document.getElementById(); -- 通过ID获得元素.* document.getElementsByName(); -- 通过name属性获得元素.* document.getElementsByT agName(); -- 通过标签名获得元素.创建元素:* document.createElement(); -- 创建元素* document.createTextNode(); -- 创建文本添加节点:* element.appendChild(); -- 在最后添加一个节点.* element.insertBefore(); -- 在某个元素之前插入.删除节点:* element.removeChild(); -- 删除元素【使用DOM完成对ul中添加一个li元素】function addElement(){var city = document.getElementById("city");// 创建一个元素:var liEl = document.createElement("li");// 创建一个文本节点:var text = document.createTextNode("深圳");// 添加子节点:liEl.appendChild(text);city.appendChild(liEl);}1.2案例六:使用JS完成省市联动的效果:1.2.1需求:在注册页面上有两个下拉列表,左侧省份的下拉列表一改变,右侧的市的下拉列表也要跟着发生变化.1.2.2分析:1.2.2.1技术分析:【JS中创建数组】【JS的事件】下拉的列表的改变的事件.onchange. 【JS的DOM的操作】创建元素:添加元素:1.2.2.2步骤分析【步骤一】创建一个HTML文件.【步骤二】确定事件:onchange事件.【步骤三】触发函数,在函数中编写代码.【步骤四】获得到所选择的省份的信息.【步骤五】根据选择的省份的信息获得到对应的数组中的市的数据.【步骤六】遍历数组中的市的信息.【步骤七】创建元素,创建文本,最后将元素添加到第二个列表中.1.2.3代码实现:// 定义数组:二维数组:var arrs = new Array(5);arrs[0] = new Array("杭州市","绍兴市","温州市","义乌市","嘉兴市");arrs[1] = new Array("南京市","苏州市","扬州市","无锡市");arrs[2] = new Array("武汉市","襄阳市","荆州市","宜昌市","恩施");arrs[3] = new Array("石家庄市","唐山市","保定市","邢台市","廊坊市");arrs[4] = new Array("长春市","吉林市","四平市","延边市");function changeCity(value){// 获得到选中的省份的信息.var city = document.getElementById("city");// 清除第二个列表中的内容:for(var i=city.options.length;i>0;i--){city.options[i] = null;}// city.options.length = 0;// alert(value);for(var i= 0 ;i< arrs.length;i++){if(value == i){// 获得所有的市的信息.for(var j=0;j<arrs[i].length;j++){// alert(arrs[i][j]);// 创建元素:var opEl = document.createElement("option");// <option></option>// 创建文本节点:var textNode = document.createTextNode(arrs[i][j]);// 将文本的内容添加到option元素中.opEl.appendChild(textNode);// 将option的元素添加到第二个列表中.city.appendChild(opEl);}}}}1.2.4总结:1.2.4.1JS的内置对象:Array:Boolean:Date:* ?time=new Date().getTime(); Math对象:String对象:* charAt();* indexOf();* lastIndexOf();* split();* replace();* substring();* substr();1.2.4.2JS的全局函数:* parseInt();* parseInt(“11”);* parseFloat();* parseFloat(“32.09”);* 编码和解码的方法:// 解码* decodeURI();* decodeURIComponent();// 编码* encodeURI();* encodeURIComponent();eval函数:* 将一段内容当成是JS的代码执行. //var sss = “alert(‘aaaa’)”; //eval(sss);。

黑马程序员_javaweb讲义和笔记资料

黑马程序员_javaweb讲义和笔记资料

黑马程序员_javaweb讲义和笔记资料一、简介黑马程序员是一家专业的IT培训机构,提供全面的编程技术培训服务。

javaweb是其中的一门重要课程,本文为黑马程序员_javaweb讲义和笔记的资料整理。

二、javaweb基础知识1. Java语言概述Java语言的特点和优势,Java开发环境的搭建等。

2. Servlet技术Servlet的基本概念、生命周期、Servlet容器等。

3. JSP技术JSP的基本语法、JSP指令、JSP内置对象等。

4. MVC设计模式MVC设计模式在javaweb开发中的应用和实践。

三、javaweb开发流程1. 需求分析分析项目需求,明确开发目标和功能要求。

2. 数据库设计设计数据库表结构,确定数据存储方式和关系。

3. 技术选型根据项目需求和开发要求,选择合适的技术框架和工具。

4. 编码实现使用Java语言和相关技术进行编码实现。

5. 测试调试运行和调试项目,确保功能的正确性和稳定性。

6. 部署上线将项目部署到服务器上线,提供给用户访问和使用。

四、javaweb开发常用框架和工具1. Spring框架Spring框架的介绍和核心特性,以及在javaweb开发中的应用。

2. SpringMVC框架SpringMVC框架的详细讲解,包括请求映射、数据绑定、视图解析等。

3. MyBatis框架MyBatis框架的使用方法和技巧,以及与数据库的集成。

4. Maven工具Maven的基本使用和配置,常用插件介绍。

五、javaweb开发中的常见问题和解决方案1. 数据库连接异常分析数据库连接异常的原因和解决方法。

2. 页面跳转问题页面跳转的实现方式和常见错误排查。

3. 表单数据验证表单数据验证的常用技术和插件,提高数据输入的准确性和安全性。

4. 性能优化优化javaweb应用的性能,减少响应时间和资源占用。

六、实例项目提供一个实例项目,通过对该项目的讲解和分析,帮助学员理解和掌握javaweb开发的方法和技巧。

jQuery和Bootstrap:哪种更适合Web开发

jQuery和Bootstrap:哪种更适合Web开发

jQuery和Bootstrap:哪种更适合Web开发为了回答这个问题,首先需要对jQuery和Bootstrap进行一定的介绍和分析。

jQuery是一种JavaScript库,它能够让开发人员更轻松地操作HTML文档、处理事件、创建动画效果等。

Bootstrap则是一种CSS框架,它提供了一系列的CSS样式和JavaScript插件,使开发人员能够更快捷地搭建网站,而且根据响应式布局,能够适应不同设备的屏幕大小。

在比较这两种工具时,需要考虑以下几个方面:1.功能特点:jQuery与Bootstrap本身具有不同的功能特点。

jQuery更注重对页面元素的操作,常见的如选择器的使用、DOM操作、事件绑定等。

Bootstrap则更注重快速搭建网页框架、提供美观的UI组件等。

因此,如果你更关注Web开发中元素操作的灵活性,建议使用jQuery;如果你需要快速地搭建一个美观的网站界面,那么Bootstrap可能更适合你。

2.学习曲线:jQuery和Bootstrap都是非常流行和广泛使用的工具,但是它们的学习难度和成本是不同的。

一般而言,jQuery的学习曲线较为平缓,因为它的API非常易用,常见方法几乎内化于开发者的思维中,所以对于JavaScript初学者来说学习难度不大。

但是,Bootstrap可能需要一些CSS和HTML的基础,因为它不仅包含了常用组件的样式,也提供了一些全局CSS样式。

而且在使用一些高级组件时,还需要使用一些JavaScript库的基本知识。

3.生态环境与文档:在使用任何开发工具时,都需要考虑社区反馈、生态环境以及其官方文档的质量。

在生态环境方面,jQuery是极其流行的库之一,有丰富教程、问答社区和丰富的插件库,这意味着jQuery中的问题或者bug很快就会得到解决,社区也为新手提供了非常多的帮助。

Bootstrap同样拥有极为广泛的用户基础和社区,对于框架的维护和更新也非常活跃。

黑马程序员javaee企业级应用开发教程

黑马程序员javaee企业级应用开发教程

黑马程序员javaee企业级应用开发教程本课程由Hadoop系列专家张立讲师带领,详细讲解JavaEE企业级应
用开发的开发技巧和实战经验。

课程内容主要包括:
一、JavaEE企业级应用开发基础知识:
1、JavaEE的体系结构概述,JavaEE的技术体系概述以及基本概念;
2、JavaEE服务端基础开发知识,包括Servlet、Filter、JSP、EL
表达式,标准标记库等技术;
3、JavaEE服务端技术和框架介绍,包括Spring、Struts、Ibatis、Hibernate等框架;
4、JavaEE服务端技术整合,以及企业应用级系统开发实战;
二、JavaEE前端开发技术:
1、前端Web界面制作技术,包括当前流行的HTML5、CSS3、jQuery
等技术;
2、Web客户端框架介绍,包括Extjs、AngularJs、ReactJs等技术;
3、Web前端实战案例研究,以及Web界面组件开发实战;
三、JavaEE整合开发知识:
1、JavaEE与Hadoop之间的整合,掌握JavaEE + Hadoop的融合应
用开发技术;
2、JavaEE与数据库之间的整合,掌握JavaEE + 数据库的融合应用
开发技术;
3、JavaEE与WebService之间的整合,掌握JavaEE + WebService
的融合应用开发技术;
四、JavaEE应用实战研究:
1、企业级系统开发实战,基于上述技术知识点,完成企业级应用开
发实战;
2、应用系统数据分析实战,掌握基于JavaEE的大数据分析实战技术;
3、大数据可视化实战,掌握基于JavaEE的大数据可视化实战技术。

【黑马程序员】Java学习路线图之Javaweb学习

【黑马程序员】Java学习路线图之Javaweb学习

【黑马程序员】Java学习路线图之Javaweb学习本文介绍的是Java学习路线图第三阶段Javaweb学习目标,学完Java 学习路线图中的这一部分可以完成中小型项目的开发。

如果你跟着黑马程序员的Java学习路线图自学完成这个阶段,就可以出去找工作了。

Javaweb阶段学习目标需要掌握的核心能力:掌握Java JDBC、连接池操作熟练操作MySQL数据库熟悉Web开发中常用知识如 HTML5、CSS3、JavaScript、BootStrap、jQuery等掌握JavaWeb开发核心技术 Servlet、Listener、Filter 等熟悉Linux服务器,并安装开发常用软件Tomcat、 MySQL、Nginx等掌握同步及异步操作的JavaWeb开发,具备B/S结构软件开发能力,完成基本的JavaWeb项目熟悉基本的项目管理工具Maven的使用可解决的现实问题:具备基本的JavaWeb开发能力,熟悉Linux服务器及相关软件的使用,可完成中小型企业级项目的开发需求。

市场价值:掌握JavaWeb开发基础知识,熟悉Java基本开发环境、熟悉项目管理工具使用及Linux 服务器使用,满足Java软件开发行业的基本开发需求。

Javaweb阶段学习知识点MySQL1. 数据库的概念2. 常见的数据库软件3. MySQL数据库的安装卸载4. MySQL数据库的登录退出5. MySQL的目录结构6. SQL语句的分类7. 数据库和数据表的操作8. 数据的添加(insert)9. 数据的删除(delete)10. 数据的修改(update)11. 数据的查询(select)12. 数据的复杂查询13. 约束的使用14. 多表关系(一对一、一对多、多对多)15. 三大范式详解16. 数据库的还原和备份17. 多表查询操作18. 事务介绍19. 事务的隔离20. 数据库的用户管理和权限管理JDBC1. JDBC入门2. DriverManager类详解3. Connection类详解4. Statement类详解5. JDBC完成增删改查操作6. ResultSet类详解7. JDBC工具类的编写8. PreparedStatement类详解9. 使用JDBC完成事务管理10. 连接池的介绍11. c3p0连接池的使用12. druid连接池的使用13. 创建druid连接池工具类14. JDBCTemplate的使用HTML5&CSS31.B/S架构2.HTML基本使用3.HTML常用标签4.CSS选择器5.常用样式6.盒子模型与布局7.HTML5新特性8.CSS3新特性JavaScript1.JavaScript基本语法2.JavaScript流程控制3.数组、函数、对象的使用4.JavaScript事件绑定/触发5.JavaScript嵌入方式6.JavaScript DOM操作7.DOM API8.JavaScript BOM对象及APIjQuery1.jQuery快速入门2.jQuery语法详解3.jQuery核心函数4.jQuery对象/JavaScript对象5.jQuery选择器6.jQuery 文档处理7.jQuery事件8.jQuery动画效果9.jQuery的遍历XML1.XML用途2.XML文档结构3.XML基本语法4.DOM&SAX解析体系5.Jsoup节点查询6.Jsoup文档操作7.XPath语法8.XPath快速查询Web服务器基础1.HTTP协议2.Tomcat服务器搭建3.Tomcat目录结构解析4.Tomcat端口配置5.Tomcat启动&停止6.Tomcat&IDEA整合7.IDEA配置优化Servlet1.Servlet体系2.Servlet生命周期3.Servlet的XML配置和注解配置4.ServletConfig&ServletContext5.请求&响应6.HttpServletRequest对象和HttpServletResponse对象的API 7.重定向&转发8.中文乱码解决方案9.项目路径问题Cookie&Session1.Cookie机制2.Cookie创建&使用3.Session原理4.Session的获取及使用5.Session失效6.Session作为域对象的API7.Session活化&钝化JSP1.JSP语法2.JSP原理3.JSP脚本片段&表达式4.JSP声明&指令5.JSP九大隐含对象6.域对象使用Filter&Listener1.Filter原理及配置2.Filter生命周期3.Filter链4.Filter登录验证5.Listener原理6.WEB中八大监听器的介绍7.ServletContextListener的应用场景文件上传和下载1.文件上传原理2.文件上传必要条件3.commons-io&commons-fileupload5.文件下载原理6.文件下载响应头7.文件下载中文乱码&浏览器兼容VUE1.VUE概述和MVVM说明2.VUE入门案例3.VUE的插值表达式4.VUE的v-on绑定点击事件5 . VUE的v-on键盘事件和阻止事件默认行为6 . VUE的v-on鼠标移动事件和阻止事件传播7 . VUE中的时间修饰符8 . VUE中的v-for的使用9 . VUE中的v-model的使用10. VUE中的v-show和v-if的使用11. VUE中的声明周期12. VUE的ajax的案例Maven初级1.Maven环境搭建2.Maven构建&自动化构建3.本地仓库&中央仓库4.Maven创建Web工程5.pom.xml、依赖管理6.坐标、依赖、生命周期等7.IDEA下的Maven使用Redis1.NoSQL&Redis入门2.Redis优势3.Redis安装&启动4.Redis五大数据类型和基本操作命令5.Redis总体配置Redis.conf6.Redis持久化(RDB和AOF)7.JedisLinux1.Linux系统-基础2.Linux网络基础3.VMWare下安装Linux4.Linux命令5.Linux下Java环境的搭6.Linux下Tomcat安装和配置7.Linux下MySQL 安装与配置8.Linux下部署黑马旅游网项目Nginx1. Nginx反向代理介绍2. Nginx 下载和安装3. Nginx 编译和启动、访问4. Nginx中部署静态网站黑马程序员官网视频库地址:。

《黑马程序员-JavaWeb课件》

《黑马程序员-JavaWeb课件》

数据库操作
学习使用JDBC进行数据库操 作,掌握MySQL的基本查询 和更新操作。
实践项目
通过实践项目,你将应用所学知识构建一个完整的JavaWeb应用程序,加深对技术的理解和实践能力。
学习资源
在线文档
课程配套在线文档提供全面的 学习资料和代码示例。
实验环境
提供在线的代码编辑和调试环 境,方便学员进行实践项目。
3 数据库操作
JDBC的使用、MySQL数据库操作
2 MVC架构
Model-View-Controller模式的理解、使用
4 框架应用
使用SSH框架进行Web应用开发
课程内容
JavaWeb基础
学习HTTP协议、Servlet和 JSP的基本原理和使用。
MVC架构
了解MVC架构的概念和优势, 学习使用框架进行开发。
社区支持
加入学习社区,与其他学员交 流,获取支持和帮助。
谁适合参加这门课程
1
初学者
没有编程经验的学员,通过本课程,从零入门JavaWeb开发。
2
Web开发者
已有Web开发经验的学员,希望进一步提升自己的技能,掌握JavaWeb开发。ห้องสมุดไป่ตู้
3
Java爱好者
对Java感兴趣的学员,想要了解和掌握JavaWeb开发技术。
《黑马程序员-JavaWeb 课件》
通过本课件,你将掌握JavaWeb开发的关键技术,为你的职业生涯打下坚实 的基础。
课程概述
本课程旨在教授JavaWeb开发的核心概念和技术,包括Servlet、JSP、MVC架构等,帮助学员构建动态而强 大的Web应用程序。
学习目标
1 掌握JavaWeb基础知识 2 理解MVC架构

黑马程序员:Java学习路线大揭秘连载2-JavaWeb篇!

黑马程序员:Java学习路线大揭秘连载2-JavaWeb篇!

黑马程序员:Java学习路线大揭秘连载2-JavaWeb篇!编程语言Java,已经21岁了。

从1995年诞生以来,就一直活跃于企业中,名企应用天猫,百度,知乎......都是Java语言编写,就连现在使用广泛的XMind 也是Java编写的。

Java应用的广泛已经到了“无处不用”的盛世,而且一直在语言排行榜榜首,从未被超越。

废话不多说,今天主要是给大家讲讲怎样学习Java,给大家建议一条轻松精通Java的学习路线。

有了相对标准的流程,那么你的学习效率一定会倍增。

基础篇发出后大家反响还是较好的,感兴趣的朋友可以百度《黑马程序员:轻松精通Java学习路线连载1-基础篇》,即可查看基础知识的学习内容。

我出Java学习路线的系列文章,只是想给予爱好技术的人一个借鉴而已,也就是提前亮,希望可以在你学习与想要学习Java的时候尽一点微薄之力。

文字我会尽量使用大白话说明,毕竟一些知识点也无法用大白话说清楚还请谅解。

下面就你看看JavaWeb各知识点的内容吧,先看图在详解。

JavaWeb网站设计基础阶段简单理解JavaWeb就是网站设计,通过此阶段的学习过后应该要掌握以下几方面能力:1.可以仿制任何网站前端页面2.可以解决网页浏览器兼容性问题3.可以解决PC端和移动端兼容性问题4.可以使用前端脚本进行相关网页功能特效编写5.可以使用JavaWeb核心技术轻松写出任何网站功能模块6.可以使用JavaWeb高级部分知识解决网站的相关高并发问题通过JavaWeb知识的学习,你完全可以胜任JavaWeb开发工程师的工作,为之后的框架和整体项目的学习打下良好的基础,下面我对知识点进行一个详细的介绍。

一、前端技术1.HTML超文本标记语言,标准通用标记语言下的一个应用。

“超文本”就是指页面内可以包含图片、链接,甚至音乐、程序等非文字元素。

(网站页面的布局,可以点开任意一个页面右键查看源代码,即可看到html的字样)超文本标记语言的结构包括“头”部分(英语:Head)、和“主体”部分(英语:Body),其中“头”部提供关于网页的信息,“主体”部分提供网页的具体内容。

黑马程序员JavaEE就业班同步笔记Web前端技术:Jquery

黑马程序员JavaEE就业班同步笔记Web前端技术:Jquery

黑马程序员JavaEE就业班同步笔记Web前端技术:Jquery JavaScript:* JavaScript:基本使用:* ECMAScript:* 变量:弱变量类型: var i;* 数据类型:原始类型和引用类型.* 语句* 运算符* 对象:* String,Boolean,Date,Math,Number,正则...* 全局函数:eval(),encodeURI(),encodeURIComponent(),decodeURI(),decodeURIComponent(),parseI nt(),parseFloat()* BOM:浏览器对象.* window:* Navigator:* Screen:* History:* Location:* DOM:文档对象.* 获得元素:*document.getElementById(),document.getElementsByName(),document.getElementsByT a gName();* 添加元素:* element.appendChild(),element,insertBefore();* 删除元素:* element.removeChild();* 创建元素:* document.createElement(),document.createTextNode();* 修改元素值:* innerHTML属性:1.1使用JQuery完成定时弹出广告:1.1.1需求:之前使用的JS的方式完成定时弹出广告,现在使用JQuery完成同样的效果:1.1.2分析1.1.2.1技术分析:【JQuery的概述】什么是JQuery:JQuery是一个JS的框架(JS的类库).对传统的JS进行了封装.现在企业的开发中往往不会使用传统的JS进行开发,通常都会使用JS框架进行开发. JS的常用的框架:JQuery,ExtJS,DWR,Prototype...JQ的使用:学习JQuery的语法.【JQuery的入门】引入Jquery的js文件.<script src="../../js/jquery-1.11.3.min.js"></script>JQuery的入口函数:// 传统的JS的方式:页面加载的事件只能执行一次./*window.onload = function(){alert("aaa");}window.onload = function(){alert("bbb");}*/// JQuery的方式:相当于页面加载的事件,可以执行多次.效率比window.onload 要高.// window.onload 等页面加载完成后执行该方法.// $(function(){}):等页面的DOM树绘制完成后进行执行.// $相当于JQuery$(function(){alert("aaa");});$(function(){alert("bbb");});【JS对象和JQ对象的转换】window.onload = function(){// 传统JS方式:var d1 = document.getElementById("d1");// JS对象的属性和方法:// d1.innerHTML = "JS对象的属性";// d1.html("aaaaaa");// 将JS对象转成JQ的对象.$(d1).html("JS对象转成JQ对象");}$(function(){var $d1 = $("#d1");// $d1.html("JQ对象的属性");// 转成JS的对象:// 一种方式// $d1[0].innerHTML = "将JQ的对象转成JS对象";// 二种方式:$d1.get(0).innerHTML = "将JQ的对象转成JS对象的方式二";});【JQ显示和隐藏】JQ的效果操作:* show();* 使用一:Jq对象.show();* 使用二:Jq对象.show(“slow”); // slow,normal,fast* 使用三:Jq对象.show(毫秒值); // 1000* 使用四:Jq对象.show(毫秒值,function(){});* hide();* 使用一:Jq对象.hide();* 使用二:Jq对象.hide(“slow”); // slow,normal,fast* 使用三:Jq对象.hide(毫秒值); // 1000* 使用四:Jq对象.hide(毫秒值,function(){});* slideDown(); --向下滑动* 使用一:Jq对象.slideDown();* 使用二:Jq对象.slideDown(“slow”); // slow,normal,fast* 使用三:Jq对象.slideDown(毫秒值); // 1000* 使用四:Jq对象.slideDown(毫秒值,function(){});* slideUp(); --向上滑动* 使用一:Jq对象.slideUp();* 使用二:Jq对象.slideUp(“slow”); // slow,normal,fast* 使用三:Jq对象.slideUp(毫秒值); // 1000* 使用四:Jq对象.slideUp(毫秒值,function(){});* fadeIn(); --淡入* 使用一:Jq对象.fadeIn();* 使用二:Jq对象.fadeIn(“slow”); // slow,normal,fast* 使用三:Jq对象.fadeIn(毫秒值); // 1000* 使用四:Jq对象.fadeIn(毫秒值,function(){});* fadeOut(); --淡出* 使用一:Jq对象.fadeOut();* 使用二:Jq对象.fadeOut(“slow”); // slow,normal,fast* 使用三:Jq对象.fadeOut(毫秒值); // 1000* 使用四:Jq对象.fadeOut(毫秒值,function(){});* animate(); --自定义动画* toggle(); --单击切换函数* Jq对象.toggle(fn1,fn2...);单击第一下的时候执行fn1,单击第二下执行fn2...1.1.2.2步骤分析:【步骤一】:创建一个HTML的页面.【步骤二】:在页面中创建一个广告部分的DIV,并且设置DIV是隐藏的. 【步骤三】:设置定时操作,5秒钟执行一个显示的方法.【步骤四】:在设置一个定时,5秒钟执行一个隐藏的方法.1.1.3代码实现<script>var time ;$(function(){// 设置定时5秒钟执行一个显示广告的方法:time = setInterval("showAd()",5000);});function showAd(){// 获得元素://$("#adDiv").show(2000);// $("#adDiv").slideDown(2000);$("#adDiv").fadeIn(3000);clearInterval(time);// 再设置定时5秒钟隐藏.time = setInterval("hideAd()",5000);}function hideAd(){//$("#adDiv").hide(2000);// $("#adDiv").slideUp(2000);$("#adDiv").fadeOut(3000);clearInterval(time);}</script>1.1.4总结:1.1.4.1JQuery的选择器:【基本选择器】(*****)id选择器* 用法:$(“#id”)类选择器* 用法:$(“.类名”)元素选择器* 用法:$(“元素名称”)通配符选择器* 用法:$(“*”)并列选择器* 用法:$(“选择器,选择器,选择器”)$(function(){$("#but1").click(function(){// alert("aaaa");$("#one").css("background","#bbffaa");});$("#but2").click(function(){$(".mini").css("background","#bbffaa");});$("#but3").click(function(){$("div").css("background","#bbffaa");});$("#but4").click(function(){$("*").css("background","#bbffaa");});$("#but5").click(function(){$("#two,span,.mini").css("background","#bbffaa");});});【层级选择器】:后代选择器:使用空格所有后代包含孙子及以下的元素子元素选择器:使用> 第一层的元素(儿子)下一个元素:使用+ 下一个同辈元素兄弟元素:使用~ 后面所有的同辈元素<script>$(function(){// 后代选择器:$("#but1").click(function(){$("body div").css("background","#bbffaa");});// body下的第一层div元素$("#but2").click(function(){$("body > div").css("background","#bbffaa");});// 查找下一个同辈的元素$("#but3").click(function(){$("#three + div").css("background","#bbffaa");});$("#but4").click(function(){$("#two ~ div").css("background","#bbffaa");});});</script>【基本过滤选择器】<script>$(function(){$("#but1").click(function(){$("#three div:first").css("background","#bbffaa");});$("#but2").click(function(){$("#three div:last").css("background","#bbffaa");});$("#but3").click(function(){$("div:odd").css("background","#bbffaa");});$("#but4").click(function(){$("div:even").css("background","#bbffaa");});$("#but5").click(function(){$("#three div:eq(1)").css("background","#bbffaa");});});</script>【内容选择器】<script>$(function(){$("#but1").click(function(){$("div:contains('1')").css("background","#bbffaa");});});</script>【属性选择器】【表单选择器】<script>$(function(){$("#but1").click(function(){$(":input").css("background","#bbffaa");});$("#but2").click(function(){// $(":text").css("background","#bbffaa");$("input[type='text']").css("background","#bbffaa");});});</script>【表单属性选择器】1.2案例二:表格隔行换色的案例:1.2.1需求:对数据的表格进行隔行换色的显示效果,使用JQuery完成该效果.1.2.2分析:1.2.2.1技术分析:【JQuery的选择器】* 基本过滤选择器:* odd :* even :【JQuery中添加和移除样式】* 如果样式没有事先定义,可以使用css方法为奇数行或者偶数行设置背景颜色.* 如果已经在css文件中事先将样式定义完成了,不能使用css方法了.使用JQ中的CSS类中的方法:* addClass();* removeClass();1.2.2.2步骤分析:【步骤一】:引入jquery的js【步骤二】:在页面加载的函数中,选择奇数行,添加样式【步骤三】:在页面加载的函数中,选择偶数行,添加样式1.2.3代码实现:<script>$(function(){/*$("tr:odd").addClass("odd");$("tr:even").addClass("even");*/$("tbody tr:odd").addClass("odd");$("tbody tr:even").addClass("even");});</script>1.3案例三:使用JQuery完成复选框的全选和全不选1.3.1需求:使用JQuery完成复选框的全选和全不选的操作:1.3.2分析:1.3.2.1技术分析:【JQuery对属性的操作的方法】* attr();* 使用方法一:$(“”).attr(“src”);* 使用方法二:$(“”).attr(“src”,”test.jpg”);* 使用方法三:$(“”).attr({“src”:”test.jpg”,”width”:”100”});* removeAttr();* prop();新版本的方法.* 使用方法一:$(“”).prop(“src”);* 使用方法二:$(“”).prop(“src”,”test.jpg”);* 使用方法三:$(“”).prop({“src”:”test.jpg”,”width”:”100”});* removeProp();* addClass()* removeClass();1.3.2.2步骤分析:【步骤一】:在页面中添加复选框.【步骤二】:引入jquery的js【步骤三】:编写JQ的入口函数【步骤四】:点击上面的复选框,获得下面的所有的复选框.【步骤五】:修改下面的复选框的值.1.3.3代码实现:// 复选框全选和全不选$(function(){// 获得上面的复选框://var $selectAll = $("#selectAll");// alert($selectAll.attr("checked"));/*$selectAll.click(function(){// alert($selectAll.prop("checked"));if($selectAll.prop("checked") == true){// 上面的复选框被选中$(":checkbox[name='ids']").prop("checked",true);}else{// 上面的复选框没有被选中$(":checkbox[name='ids']").prop("checked",false);}});*/// 简化:$("#selectAll").click(function(){$(":checkbox[name='ids']").prop("checked",this.checked);});});1.4案例四:使用JQuery完成省市二级联动: 1.4.1需求:在注册页面上籍贯的信息,需要用到省市联动效果.1.4.2分析:1.4.2.1技术分析:【JQuery的DOM操作】* 常用的方法:* append(); ---在某个元素后添加内容.* appendTO(); ---将某个元素添加到另一个元素后.* remove(); ---将某个元素移除.【JQuery的遍历】遍历的方式一:* $.each(objects,function(i,n){});遍历的方式二:* $(“”).each(function(i,n){});$(function(){var arrs = new Array("张森","张凤","张芙蓉");// 将这个数组转成JQ的对象使用each方法./*$(arrs).each(function(i,n){alert(i+" "+n);});*/$.each(arrs,function(i,n){alert(i+" "+n);});});1.4.2.2步骤分析:【步骤一】:引入注册页面,引入jq的js.【步骤二】:获得到第一个下拉列表,change事件.【步骤三】:获得到被选中的下拉列表的值.【步骤四】:去数组中进行比对.【步骤五】:将数组中的值遍历获得到.【步骤六】:创建元素,创建文本,将文本添加到元素中,将元素添加到第二个列表中.1.4.3代码实现:<script>$(function(){// 定义数组:/*var arrs = new Array(5);arrs[0] = new Array("杭州市","绍兴市","温州市","义乌市","嘉兴市");arrs[1] = new Array("南京市","苏州市","扬州市","无锡市");arrs[2] = new Array("武汉市","襄阳市","荆州市","宜昌市","恩施");arrs[3] = new Array("石家庄市","唐山市","保定市","邢台市","廊坊市");arrs[4] = new Array("长春市","吉林市","四平市","延边市");*/var cities = [["杭州市","绍兴市","温州市","义乌市","嘉兴市"],["南京市","苏州市","扬州市","无锡市"],["武汉市","襄阳市","荆州市","宜昌市","恩施"],["石家庄市","唐山市","保定市","邢台市","廊坊市"],["长春市","吉林市","四平市","延边市"]];var $city = $("#city");// 获得代表省份的下拉列表:$("#province").change(function(){// alert(this.value);// alert($(this).val());$city.get(0).options.length = 1;var val = this.value;// 遍历并且判断:$.each(cities,function(i,n){// 判断:if(i == val){$(n).each(function(j,m){// alert(j+" "+m);$city.append("<option>"+m+"</option>");});}});});});</script>1.5案例五:下拉列表的左右选择:1.5.1需求:在分类的修改的页面中,有某个分类下的所属的商品的信息.可以对这些商品信息进行选择.1.5.2分析:1.5.2.1技术分析:【JQuery的选择器】1.5.3代码实现:传统的JS的方式进行实现:window.onload=function(){// 添加到右侧:document.getElementById("addRight").onclick = function(){// 获得左侧的下拉列表var selectLeft = document.getElementById("selectLeft");// 遍历左侧列表中的所有的option元素.for(var i = selectLeft.options.length - 1;i>=0;i--){// 判断该元素是否被选中if(selectLeft.options[i].selected == true){document.getElementById("selectRight").appendChild(selectLeft.options[i]);}}}// 全部到右侧:document.getElementById("addAll").onclick = function(){// 获得左侧的下拉列表var selectLeft = document.getElementById("selectLeft");// 遍历左侧列表中的所有的option元素.for(var i = selectLeft.options.length - 1;i>=0;i--){document.getElementById("selectRight").appendChild(selectLeft.options[i]);}}}使用JQ完成下拉列表左右选择:$(function(){// 添加左侧选中的元素到右侧$("#addRight").click(function(){// 获得左侧被选中的option元素:$("#selectLeft option:selected").appendTo("#selectRight");});// 添加所有到右侧$("#addAll").click(function(){// 获得左侧被选中的option元素:$("#selectLeft option").appendTo("#selectRight");});// 移除右侧被选中元素到左侧:$("#removeLeft").click(function(){$("#selectRight option:selected").appendTo("#selectLeft"); });// 移除右侧被选中元素到左侧:$("#removeAll").click(function(){$("#selectRight option").appendTo("#selectLeft");});// 双击左侧的的某个元素,移动到右侧:$("#selectLeft").dblclick(function(){$("option:selected",this).appendTo("#selectRight");});// 双击左侧的的某个元素,移动到右侧:$("#selectRight").dblclick(function(){$("option:selected",this).appendTo("#selectLeft");});});1.5.4总结:1.5.4.1JQuery常用事件:* toggle(); --单击事件的切换* hover(); --鼠标悬停的切换。

黑马程序员:javaweb基础阶段笔记之第十五章WEB15-AJAX和IQuery案例篇

黑马程序员:javaweb基础阶段笔记之第十五章WEB15-AJAX和IQuery案例篇

黑马程序员:javaweb基础阶段笔记之第十五章WEB15-AJAX和IQuery案例篇今日任务使用AJAX完成用户名的异步校验使用JQuery完成用户名异步校验使用JQuery完成商品信息模糊显示使用JQuery完成省市联动效果返回XML使用JQuery完成省市联动效果返回JSON教学导航1.1上次课内容回顾:JDBC的添加,修改,删除查询.* 查询:* 在首页点击查询:提交到Servlet--调用业务层--调用DAO* 添加:* 在首页点击添加:提交到添加的JSP.在JSP中输入一些信息.提交到Servlet.* 在Servlet中接收参数,封装参数,调用业务层,调用DAO.* 使用令牌机制完成重复提交的问题.* 修改:* 在列表页面中点击编辑:提交到Servlet.查询某个商品.显示到页面.* 在页面中输入一些信息,点击确定.提交到修改的Servlet.* 接收参数,封装,调用业务层,调用DAO.* 删除:* 在列表页面中点击删除:提交到Servlet.* 在Servlet中接收id,调用业务层,调用DAO.* 使用JS进行提示.* 分页查询:* 分页分类:* 一次性查询几条记录.* 一次性查询所有记录.对记录进行切分.* 一次性查询几条:limit* 封装一个分页的Bean:* 提供参数:currPage,pageSize,totalCount,totalPage,List.* 在业务层需要将PageBean进行封装.1.2使用AJAX完成用户名异步校验: 1.2.1需求:在注册页面中,当输入了用户名之后,光标离开文本框,显示用户名是否已经存在.***** 用户名是否已经存在,需要到后台的数据库进行查询的.1.2.2分析:1.2.2.1技术分析:【AJAX的概述】AJAX的概念:AJAX使用的是老的技术,新的思想.完成了RIA的应用:Rich Internet Application.* 传统方式的开发:所有的数据提交到服务器端进行处理.(胖服务器)* AJAX的方式开发:有一部分的代码写在客户端.同步:异步:AJAX的作用:完成页面局部刷新而不影响用户的体验.* 用户名是否已经存在的校验* 百度信息输入的提示...使用AJAX:JavaScript和XML* XMLHttpRequest:* 属性:* onreadystatechange:* readyState:* status:获得状态码* responseT ext :响应的文本* responseXML :响应的XML* 方法:* open(“请求方式”,”请求路径”,”是否异步”);* send(“提交的参数”);* setRequestHeader(“头信息”,”头的值”);开发步骤:1.获得XMLHttpRequest对象.* IE将XMLHttpRequest封装到一个ObjectXActive插件中.* Firefox直接可以创建XMLHttpRequest.2.设置状态改变触发一个函数.3.打开一个链接.4.发送请求.【AJAX的GET入门】创建XMLHttpRequestfunction createXMLHttpRequest() {var xmlHttp;try { // Firefox, Opera 8.0+, SafarixmlHttp = new XMLHttpRequest();} catch (e) {try {// Internet ExplorerxmlHttp = new ActiveXObject("Msxml2.XMLHTTP");} catch (e) {try {xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");} catch (e) {}}}return xmlHttp;}AJAX的代码:function loadData() {// 1.创建异步XMLHttpRequest对象var xhr = createXMLHttpRequest();// 2.设置状态改变触发一个函数xhr.onreadystatechange = function(){// 回调函数.if(xhr.readyState == 4){// 请求发送完成if(xhr.status == 200){// 响应也正确var data = xhr.responseT ext;document.getElementById("d1").innerHTML=data;}}}// 3.打开一个连接:xhr.open("GET","/WEB15/ServletDemo1",true);// 4.发送请求xhr.send(null);}【AJAX的POST入门】function loadData(){// 1.创建异步对象var xhr = createXMLHttpRequest();// 2.设置状态改变触发的函数xhr.onreadystatechange = function(){if(xhr.readyState == 4){if(xhr.status == 200){document.getElementById("d1").innerHTML=xhr.responseT ext;}}}// 3.打开连接xhr.open("POST","/WEB15/ServletDemo2",true);xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");// 4.发送数据xhr.send("name=李四&password=456");}1.2.2.2步骤分析:创建一个用户表设计一个注册页面:在用户名文本框上绑定一个事件:onblur在JS的函数中使用AJAX异步向Servlet发送请求.在Servlet中接收参数-->调用业务层-->调用DAO⏹查询到了:用户名已经存在⏹没有查询到:用户名可以使用1.2.3代码实现:创建用户表:CREATE TABLE `user` (`id` INT(11) NOT NULL AUTO_INCREMENT,`username` VARCHAR(20) DEFAULT NULL,`password` VARCHAR(20) DEFAULT NULL,`email` VARCHAR(20) DEFAULT NULL,`name` VARCHAR(20) DEFAULT NULL,`sex` VARCHAR(10) DEFAULT NULL,`birthday` DATE DEFAULT NULL,`hobby` VARCHAR(50) DEFAULT NULL,PRIMARY KEY (`id`)) ENGINE=INNODB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;INSERT INTO `user`(`id`,`username`,`password`,`email`,`name`,`sex`,`birthday`,`hobby`) VALUES (1,'bbb','123','123@','张三','男','1992-01-02','篮球, 足球, 排球'),(2,'ccc','123','ccc@','李四','女','1992-03-20','排球, 乒乓球'),(3,'aaa','123','aaa@','王守义','男','1990-08-11','足球, 排球'),(5,'tom','123','haha@','提莫','男',NULL,'篮球');设计注册页面:引入jar包和工具类:创建包结构:AJAX异步校验用户名:function checkUsername(){// 获得文本框的值:var username = document.getElementById("username").value;// 创建对象:var xhr = createXMLHttpRequest();// 2.状态改变触发一个函数xhr.onreadystatechange = function(){if(xhr.readyState == 4){if(xhr.status == 200){// 获得到响应内容:var data = xhr.responseT ext;if(data == 1){// 可以使用document.getElementById("s1").innerHTML = "<font color='green'>用户名可以使用</font>";document.getElementById("regBut").disabled=false;}else if(data == 2){// 已经存在document.getElementById("s1").innerHTML = "<font color='red'>用户名已经被使用</font>";document.getElementById("regBut").disabled=true;}}}}// 3.打开连接xhr.open("GET","/WEB15/ServletDemo3?username="+username,true);// 4.发送数据xhr.send(null);}1.3使用JQuery完成异步用户名的校验:1.3.1需求:在注册页面中,当输入了用户名之后,光标离开文本框,显示用户名是否已经存在.***** 用户名是否已经存在,需要到后台的数据库进行查询的.1.3.2分析:1.3.2.1技术分析:【Jquery的AJAX部分的概述】由于传统AJAX开发代码比较麻烦,而且还有浏览器兼容的问题.传统的AJAX的使用在企业中是很少的.使用AJAX的一些框架完成.JQuery的AJAX部分的API:* $(“”).load(url,data,function(){});* $.get(url,data,function(){},dataType);* $.post(url,data,function(){},dataType);* $.ajax();【Jquery的AJAX的部分的使用】引入JQuery的JS.【Jquery的AJAX的部分的入门】// jquery的load方法$(function(){// 给按钮1绑定一个click事件:$("#bt1").click(function(){$("#d1").load("/WEB15/ServletDemo4",{"name":"张三","password":"123"},function(data){if(data == 1){$(this).html("张三");}else{$(this).html("其他");}});});});// 使用jquery的get方法:$(function(){$("#bt2").click(function(){$.get("/WEB15/ServletDemo4",{"name":"李四","password":"345"},function(data){ $("#d2").html(data);});});});//使用jquery的post方法:$(function(){$("#bt3").click(function(){$.post("/WEB15/ServletDemo4",{"name":"王五","password":"456"},function(data){ $("#d3").html(data);});});});// 使用jquery的ajax方法:$(function(){$("#bt4").click(function(){$.ajax({type:"post",url:"/WEB15/ServletDemo4",data:"name=aaa&password=123",success:function(data){$("#d4").html(data);}});});});1.3.3代码实现:$(function(){// 给用户名的文本框绑定一个事件:$("#username").blur(function(){// 获得文本框的值:document.getELementById().value;var username = $(this).val();// 使用jquery的ajax的操作异步发送请求.$.post("/WEB15/ServletDemo3",{"username":username},function(data){if(data==1){// 用户名可以使用$("#s1").html("<font color='green'>用户名可以使用</font>");$("#regBut").prop("disabled",false);}else if(data==2){// 用户名已经存在$("#s1").html("<font color='red'>用户名已经被占用</font>");$("#regBut").prop("disabled",true);}});});});1.4案例三:使用JQuery完成仿百度的信息提示: 1.4.1需求:在一个搜索页面中,键盘输入一些信息,在文本框下面给出一些提示信息(需要从服务器端进行查询的).1.4.2分析:1.4.2.1步骤分析:创建一个数据库和表:设计一个页面文本框绑定一个事件.keyup在keyup所触发函数中:⏹获得文本框的值.⏹将这个值异步提交到服务器.$.post();⏹提交到Servlet:◆接收参数:◆调用业务层--调用DAO: select * from .. Where xx like ?;◆查询之后页面跳转把数据显示到一个表格中.1.4.3代码实现:创建数据库和表:CREATE TABLE words(id INT PRIMARY KEY AUTO_INCREMENT,word VARCHAR(20));设计一个页面:<center><h1>黑马一下</h1></center><center><input type="text" name="word" id="word" style="width:300px"/><input type="button" value="黑马一下"><center><div id="d1" style="display:none;position:absolute;top:110px;left:494px;border:1px solid blue;width:300px;height:200px;"></div>为文本框绑定事件:编写jquery代码$(function(){// 为文本框绑定事件:$("#word").keyup(function(){// 获得文本框的值:var val = $(this).val();if(val != ""){// 异步将这个值提交给服务器:$.post("/WEB15/ServletDemo5",{"val":val},function(data){$("#d1").show();$("#d1").html(data);});}else{$("#d1").hide();}});});1.5使用JQuery完成一个省市联动的案例:使用XML作为响应内容:1.5.1需求:完成省市联动的效果.市的信息从后台服务器端获得.通过AJAX使用这样的功能!!!1.5.2分析:1.5.2.1技术分析:【XML作为响应文本】List<City> list = new ArrayList<City>();list.add(new City(1,”哈尔滨”));list.add(new City(2,”齐齐哈尔”));list.add(new City(3,”牡丹江”));将list集合转出XML:<list><city><name>哈尔滨</name></city>...</list>使用XStream工具:将Java对象转成XML.【XStream的概述】Xstream是一种OXMapping 技术,是用来处理XML文件序列化的框架,在将javaBean序列化,或将XML文件反序列化的时候,不需要其它辅助类和映射文件,使得XML序列化不再繁琐。

jqeury方法笔记

jqeury方法笔记

jqeury方法笔记
一、简介与背景
随着Web前端技术的不断发展,JavaScript库的应用变得越来越普及。

其中,jQuery作为一个功能丰富、易于使用的库,受到了许多开发者的喜爱。

本文将对jQuery方法进行详细的梳理和总结,以帮助读者更好地理解和应用jQuery。

二、jQuery方法概述
1.选择器
jQuery提供了一系列强大的选择器,可以方便地选取页面中的元素。

如:$("selector")、$(".class")、$("[attribute]")等。

2.动画与特效
jQuery内置了许多动画效果,如fadeIn、fadeOut、slideUp、slideDown等。

通过这些动画效果,可以轻松地为网页元素添加动态展示。

3.事件处理
jQuery提供了便捷的事件处理方法,如绑定事件、冒泡和捕获等。

可以使用如:$(selector).on("event", function())等方法进行事件处理。

4.异步编程
jQuery支持异步编程,如AJAX请求。

使用$.ajax()方法可以方便地发起GET、POST等类型的请求,实现与服务器的数据交互。

5.实用工具
jQuery还提供了一些实用工具,如$.each()、$.map()、$.parseHTML()
等,便于开发者进行复杂的DOM操作和数据处理。

Java相关课程系列笔记之十二jQuery学习笔记(建议用WPS打开)

Java相关课程系列笔记之十二jQuery学习笔记(建议用WPS打开)

J a v a相关课程系列笔记之十二j Q u e r y学习笔记(建议用W P S打开)-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIANjQuery学习笔记Java相关课程系列笔记之十二笔记内容说明jQuery(程祖红老师主讲,占笔记内容100%);目录一、 jQuery基础 01.1 jQuery的特点 01.2 jQuery编程的步骤 01.3 jQuery对象与DOM对象如何相互转换 01.4如何同时使用prototype和jQuery (1)1.5 EL表达式和jQuery函数的区别 (1)二、选择器 (2)2.1什么是选择器 (2)2.2基本选择器 (2)2.3层次选择器 (2)2.4基本过滤选择器 (3)2.5内容过滤选择器 (3)2.6可见性过滤选择器 (4)2.7属性过滤选择器 (4)2.8子元素过滤选择器 (5)2.9表单对象属性过滤选择器 (5)2.10表单选择器 (5)三、 DOM操作 (7)3.1查询 (7)3.2创建 (7)3.3插入节点 (7)3.4删除节点 (8)3.5如何将JavaScript代码与HTML分开 (8)3.6复制节点 (9)3.7属性 (9)3.8样式操作 (9)3.9遍历节点 (10)3.10案例:员工列表(点击某行该行加亮,多选框被选中) (11)3.11案例:员工列表(点击部门隐藏或显示员工) (11)四、事件 (13)4.1事件绑定 (13)4.2合成事件 (13)4.3事件冒泡可参考JavaScript笔记7.5 (14)4.4 jQuery中事件处理 (14)4.5动画 (15)4.6类数组的操作 (16)4.7案例:滚动广告条 (17)五、 jQuery对Ajax编程的支持 (19)5.1 load()方法 (19)5.2案例:显示机票价格 (19)5.3 $.get()方法 (20)5.4 $.post()方法 (20)5.5案例:修改Ajax笔记中2.6案例:股票的实时行情 (20)5.6 $.ajax()方法 (20)5.7案例:搜索栏联想效果(服务器返回text) (21)5.8案例:下拉列表(服务器返回xml文本) (23)5.9案例:表单验证 (24)5.10 jQuery的自定义方法 (26)5.11 $.param()方法 (27)5.12案例:自定义方法和$.param()方法使用(学了Struts2再看) (27)一、jQuery基础1.1 jQuery的特点1)jQuery是一种框架,对于浏览器的兼容问题,95%不用再去考虑了。

黑马程序员_javaweb讲义和笔记资料

黑马程序员_javaweb讲义和笔记资料

黑马程序员_javaweb讲义和笔记资料(最新版)目录一、黑马程序员_JavaWeb 讲义概述二、JavaWeb 基础教程学习笔记三、JavaWeb 笔记资料汇总四、结论正文一、黑马程序员_JavaWeb 讲义概述黑马程序员_JavaWeb 讲义是一套针对 JavaWeb 开发的教程,旨在帮助开发者快速掌握 JavaWeb 技术。

这套教程涵盖了 JavaWeb 开发的方方面面,包括基础语法、数据处理、网络编程、数据库操作等内容。

通过学习这套教程,开发者可以全面提升自己的 JavaWeb 开发技能。

二、JavaWeb 基础教程学习笔记1.Java 基础知识回顾在 JavaWeb 开发中,首先需要对 Java 语言的基本知识有一定的了解,例如数据类型、运算符、流程控制等。

此外,还需要了解 Java 面向对象编程的基本概念,如类、对象、封装、继承等。

2.JavaWeb 基础语法JavaWeb 开发需要掌握基本的 HTML、CSS 和 JavaScript 语法。

这些技术可以帮助开发者构建具有丰富视觉效果的 Web 页面。

3.数据处理在 JavaWeb 开发中,数据处理是非常重要的一个环节。

开发者需要掌握 Java 中的基本数据结构,如数组、链表、树、图等,以及数据处理的基本方法,如排序、查找等。

4.网络编程网络编程是 JavaWeb 开发的重要组成部分。

开发者需要了解网络模型,如 OSI 参考模型和 TCP/IP 参考模型,以及网络编程的基本原理,如 Socket 编程等。

5.数据库操作在 JavaWeb 开发中,数据库操作是非常常见的任务。

开发者需要掌握关系型数据库的基本知识,如表、字段、索引等,以及 SQL 语言的基本语法,如 SELECT、INSERT、UPDATE 等。

三、JavaWeb 笔记资料汇总在学习 JavaWeb 开发的过程中,记录笔记是非常重要的学习方法。

通过记录笔记,可以整理自己的学习思路,巩固所学知识,提高学习效率。

【黑马程序员】JavaWeb之核心技术--JDBC高级事务管理

【黑马程序员】JavaWeb之核心技术--JDBC高级事务管理

【黑马程序员】JavaEE就业班同步笔记第一阶段:JavaWeb之核心技术--JDBC高级事务管理1 使用MVC设计模式完成转账的案例:1.1 需求:设计一个页面,输入三个值,一个是付款人,一个是收款人,一个是转账的金额.不能出现付款人的钱被扣除而收款人没有收到钱的情况发生.而且要使用MVC的设计模式.1.2 分析:1.2.1 JSP的开发模式:【动态网页开发模式的发展】【JSP的开发模式一】:了解JSP + JavaBean* 演示模式一的过程:* 在模式一开发中提供了一些JSP的标签:< jsp:useBean> ,<jsp:setProperty >,<jsp:getProperty> * 使用模式一进行简单的测试:[AppleScript] 纯文本查看复制代码?01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16<%// 接收数据:/* String username = request.getParameter("username");String password = request.getParameter("password");// 封装数据:User user = new User();user.setUsername(username);user.setPassword(password); */%><jsp:useBean id="user" class="er"scope="page"></jsp:useBean><%-- <jsp:setProperty property="username" name="user"/><jsp:setProperty property="password" name="user"/> --%><jsp:setProperty property="*" name="user"/><!-- 表单的元素的name属性的值与User中的属性名称一致就可以自动封装--><jsp:getProperty property="username" name="user"/>【JSP的开发模式二】:掌握JSP + Servlet + JavaBean 称为MVC的设计模式. MVC:M:Model:模型层V:View:视图层C:Controller:控制层【Java中的反射技术】(掌握)【Java中的内省技术】(了解)∙内省:用来获得JavaBean的属性及属性的get或set方法. JavaBean:就是一个满足了特定格式的Java类:* 需要提供无参数的构造方法:* 属性私有* 对私有的属性提供public的get/set方法.∙内省的代码:[AppleScript] 纯文本查看复制代码?01 02 03 04 05 06 07 08 09 10 11 12 13public 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: [AppleScript] 纯文本查看复制代码?01 02 03 04 05 06 07 08 09public class MyBeanUtils {public static void populate(Object obj,Map<String,String[]> map) throws Exception{// 获得类的所有的属性的名称:BeanInfo beanInfo = Introspector.getBeanInfo(obj.getClass());// 获得类中所有的属性:PropertyDescriptor[] pds =beanInfo.getPropertyDescriptors();10 11 12 13 14 15 16 17 18 19for (PropertyDescriptor pd : pds) {if(map.containsKey(pd.getName())){Method method = pd.getWriteMethod();// 执行set方法:method.invoke(obj, map.get(pd.getName ())[0]);}}}}【事务的概述】∙什么是事务:* 事务指的是逻辑上的一组操作,组成这组操作的各个逻辑单元要么一起成功,要么一起失败.∙MYSQL的事务的管理:(了解)* 创建一个账号的表:[AppleScript] 纯文本查看复制代码?01 02 03 04 05 06 07 08 09 10create database web_13;use web_13;create table account(id int primary key auto_increment,name varchar(20),money double);insert into account values (null,'张森',10000); insert into account values (null,'凤姐',10000); insert into account values (null,'如花',10000);***** MYSQL的事务管理有两种方式:(MYSQL数据库事务默认是自动提交的.Oracle数据库事务默认是不自动提交.)1.手动开启事务* start transaction; -- 开启事务* 多条sql;* commit/rollback;2.设置一个自动提交参数* show variables like '%commit%'; -- 查看与commit相关参数. * set autocommit = 0; -- 将autocommit参数设置为OFF.【JDBC中的事务管理】(掌握)JDBC的事务的管理的API:[AppleScript] 纯文本查看复制代码?1 2 3setAutoCommit(Boolean autoCommit) commit()rollback()1.2.2 步骤分析:【步骤一】:创建一个页面:【步骤二】:导入JDBC相关的jar包和工具类. 【步骤三】:创建包结构.【步骤四】:提交到Servlet-->Service-->DAO 【步骤五】:页面跳转:1.3 代码实现:1.3.1 准备工作:1.3.2 代码实现:1.3.3 DBUtils实现事务管理:∙没有事务管理:QueryRunner(DataSource ds)Query(String sql,ResultSetHandler<T> rsh,Object... params) Update(String sql,Object... params)∙有事务管理:QueryRunner()Query(Connection conn,String sql,ResultSetHandler<T> rsh,Object... params)Update(Connection conn,String sql,ResultSetHandler<T> rsh,Object params)1.4 总结:1.4.1 事务特性:∙原子性:强调事务的不可分割.∙一致性:强调的是事务的执行的前后,数据的完整性要保持一致.∙隔离性:一个事务的执行不应该受到其他事务的干扰.∙持久性:事务一旦结束(提交/回滚)数据就持久保持到了数据库.1.4.2 如果不考虑事务的隔离性,引发一些安全性问题:∙一类读问题:* 脏读 :一个事务读到另一个事务还没有提交的数据.* 不可重复读:一个事务读到了另一个事务已经提交的update的数据,导致在当前的事务中多次查询结果不一致.* 虚读/幻读:一个事务读到另一个事务已经提交的insert的数据,导致在当前的事务中多次的查询结果不一致.∙一类写问题:* 引发两类丢失更新:1.4.3 解决引发的读问题:设置事务的隔离级别:* read uncommitted :未提交读.脏读,不可重复读,虚读都可能发生.* read committed :已提交读.避免脏读.但是不可重复读和虚读有可能发生.* repeatable read :可重复读.避免脏读,不可重复读.但是虚读有可能发生.* serializable :串行化的.避免脏读,不可重复读,虚读的发生.***** MYSQL隔离级别:repeatable read Oracle隔离级别:read committed 1.4.4 演示脏读的发生:∙分别开启两个窗口:A,B∙分别查看两个窗口的隔离级别:select @@tx_isolation;∙设置A窗口的隔离级别为:read uncommitted:* set session transaction isolation level read uncommitted;∙分别在两个窗口中开启事务:* start transaction;∙在B窗口完成转账的操作:* update account set money = money - 1000 where name = '张森';* update account set money = money + 1000 where name = '凤姐';∙在A窗口查询数据:(钱已经到账---脏读)* select * from account; -- A事务读到了B事务还没有提交的数据.1.4.5 演示避免脏读,不可重复读发生∙分别开启两个窗口:A,B∙分别查看两个窗口的隔离级别:select @@tx_isolation;∙设置A窗口的隔离级别为:read committed:* set session transaction isolation level read committed;∙分别在两个窗口中开启事务:* start transaction;∙在B窗口完成转账的操作:* update account set money = money - 1000 where name = '张森';* update account set money = money + 1000 where name = '凤姐';∙在A窗口中进行查询:* select * from account; -- 避免脏读.∙在B窗口提交事务:* commit;∙在A窗口中再次查询:* select * from account; -- 转账成功.(不可重复读:一个事务读到另一个事务中已经提交的update的数据,导致多次查询结果不一致.)1.4.6 演示避免不可重复读:∙分别开启两个窗口:A,B∙分别查看两个窗口的隔离级别:select @@tx_isolation;∙设置A窗口的隔离级别为:repeatable read:* set session transaction isolation level repeatable read;∙分别在两个窗口中开启事务:* start transaction;∙在B窗口完成转账的操作:* update account set money = money - 1000 where name = '张森'; * update account set money = money + 1000 where name = '凤姐';∙在A窗口查询:* select * from account; -- 转账没有成功:避免脏读.∙在B窗口提交事务:* commit;∙在A窗口中再次查询:* select * from account; -- 转账没有成功:避免不可重复读.1.4.7 演示避免虚读的发生:∙分别开启两个窗口:A,B∙分别查看两个窗口的隔离级别:select @@tx_isolation;黑马程序员合肥中心编著∙设置A窗口的隔离级别为:serializable:* set session transaction isolation level serializable;∙在A,B两个窗口中分别开启事务:* start transaction;∙在B窗口中完成一个insert操作:* insert into account values (null,'王老师',10000);∙在A创建中进行查询的操作:* select * from account; -- 没有查询到任何结果.∙在B窗口提交事务:* commit; -- A窗口马上就会显示数据.。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

黑马程序员JavaEE就业班同步笔记Web前端技术:JQuery与BootStrap框架JQuery:* JQuery的概述:是一个轻量级的JavaScript的类库.对JS进行封装.* 常见的JS的框架:* JQuery,ExtJS,DWR,Prototype...* JQuery的使用:* 引入JQuery的JS.* window.onload和$(document).ready(function(){});区别?* onload页面加载完成后才会执行.执行一次* ready在页面的DOM树绘制完成就会执行.执行多次.* JS对象与JQuery对象的转换.* JS-->JQuery: $(JS的对象)* JQuery-->JS: JQ对象.get(0), JQ对象[0]* JQuery的选择器:(*****)* 基本选择器:* ID选择器,类选择器,元素选择器,通配符选择器,选择器并列.* 层级选择器:* 空格,> ,+ ,~* 过滤:* :first,:last,:eq(),:even,:odd...* 属性选择器:* [属性名],[属性名=’属性值’]...* 表单选择器:* :input,:text,:password,:radio...* 可见性:** 表单对象属性:* :checked,:selected,:enable,:disable* JQuery实现效果:* show(),hide(),slideDown(),slideUp(),fadeIn(),fadeOut(),animate() * JQuery样式操作:* css();* JQuery属性操作的方法:*attr(),removeAttr(),prop(),removeProp(),html(),text(),val(),addClass(),removeClass() * JQuery文档处理:* append(),appendT o(),insertBefore(),insertAfter(),remove(),clone(),replaceAll() * JQuery的事件:* click(),change(),submit(),dblclick(),keyUp(),keyDown()...* toggler(),hover() ---进行事件的切换.1.1案例一:使用JQuery完成表单校验:1.1.1需求:之前使用JS做过表单的校验,表单校验对于后台的开发人员比较重要的.使用JQ完成一个复杂点表单的校验.1.1.2分析:1.1.2.1技术分析:【JQuery的查找】* find();* parent();* children();【JQuery的事件处理】* trigger和triggerHandler区别:1.1.2.2步骤分析:【步骤一】:引入注册页面【步骤二】:引入JQ的js.【步骤三】:为必填项添加一个*【步骤四】:获得表单中的所有的输入项,为所有的输入项添加一个blur事件.【步骤五】:判断当前输入项是什么(用户名,密码,邮箱)【步骤六】:为不同的输入项做不同的校验.【步骤七】:为表单元素添加一个submit事件.【步骤八】:执行之前的blur函数.查找错误信息的长度,如果长度>0 有错误不能提交.1.1.3代码实现:// 表单校验的操作$(function(){// 步骤一:为必填项添加一个*.$("form input.required").each(function(){// 获得他的父元素:$(this).parent().append("<b class='high'> *</b>");});// 步骤二:获得所有的输入项,为输入项添加一个blur事件.$("form input").blur(function(){// 获得该元素的父元素:var $parent = $(this).parent();// 将原有的信息清除掉.$parent.find(".formtips").remove();// 确定点击的输入项是谁?if($(this).is("#username")){// 判断用户名是否为空:if(this.value == ""){// 向文本框后添加一个错误提示.$parent.append("<span class='formtips onError'>用户名不能为空</span>");}else{// 向文本框后添加一个正确提示.$parent.append("<span class='formtips onSuccess'>用户名输入正确</span>");}}if($(this).is("#password")){// 判断用户名是否为空:if(this.value == ""){// 向文本框后添加一个错误提示.$parent.append("<span class='formtips onError'>密码不能为空</span>");}else{// 向文本框后添加一个正确提示.$parent.append("<span class='formtips onSuccess'>密码输入正确</span>");}}}).keyup(function(){$(this).triggerHandler("blur");}).focus(function(){$(this).triggerHandler("blur");});// 为表单添加一个submit事件.$("form").submit(function(){// 执行表单中blur事件.$("form :input").trigger("blur");// 获得错误信息的长度.var errorLength = $(".onError").length;if(errorLength > 0){return false;}});});1.2案例二:使用BootStrap设计一个响应式的页面:1.2.1需求:设计一套页面能够通用在不同的设备上,在手机,pad上,电脑上都可以浏览这个网页,而不影响正常的浏览的方式.1.2.2分析:1.2.2.1技术分析:【BootStrap的概述】什么是BootStrapBootStrap可以在那些地方使用:BootStrap设计出响应式页面,由它设计页面可以在手机,PAD,PC都可以直接访问.BootStrap的使用:下载BootStrap:引入的文件添加一个<meta>标签:【BootStrap的全局CSS】BootStrap的框架提供了一系列的CSS的样式.这些样式可以直接使用. 布局容器:栅格系统Bootstrap 提供了一套响应式、移动设备优先的流式栅格系统,随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多12列。

它包含了易于使用的预定义类,还有强大的mixin 用于生成更具语义的布局。

使用.row样式定义栅格的行.定义列:.col-lg-n .col-md-n .col-sm-n .col-xs-n排版:【BootStrap的组件】【BootStrap的JS的插件】1.2.3代码实现1.3案例三:使用BootStrap布局首页1.3.1需求:1.3.2分析:1.3.2.1技术分析:【BootStrap的组件和JS的插件】1.3.2.2步骤分析:【步骤一】:定义一个外层div元素【步骤二】:定义里层8个div【步骤三】:为每层中的div添加元素.1.3.3代码实现:<!DOCTYPE html><html><head><meta charset="UTF-8"><!-- 根据设备宽度,调整缩放比例--><meta name="viewport" content="width=device-width, initial-scale=1"><title>网站首页</title><!-- 引入BootStrap的CSS --><link rel="stylesheet" href="../css/bootstrap.min.css" /><link rel="stylesheet" href="../css/bootstrap-theme.min.css" /><!-- 引入JS--><script type="text/javascript" src="../js/jquery-1.11.3.min.js" ></script> <script type="text/javascript" src="../js/bootstrap.min.js" ></script></head><body><!--整体div--><div class="container"><!--Logon部分DIV--><div class="row"><div class="col-md-4"><img src="../img/logo2.png" /></div><div class="col-md-4"><img src="../img/header.png" /></div><div class="col-md-4"><a href="">登录</a><a href="">注册</a><a href="">购物车</a></div></div><!--导航条部分DIV--><div class="row"><nav class="navbar navbar-default"><div class="container-fluid"><!-- Brand and toggle get grouped for better mobile display --><div class="navbar-header"><button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false"><span class="sr-only">Toggle navigation</span><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></button><a class="navbar-brand" href="#">首页</a></div><!-- Collect the nav links, forms, and other content for toggling --><div class="collapse navbar-collapse"id="bs-example-navbar-collapse-1"><ul class="nav navbar-nav"><li class="active"><a href="#">手机数码<span class="sr-only">(current)</span></a></li><li><a href="#">电脑办公</a></li><li><a href="#">电脑办公</a></li><li><a href="#">电脑办公</a></li><li><a href="#">电脑办公</a></li><li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">更多<span class="caret"></span></a><ul class="dropdown-menu"><li><a href="#">Action</a></li><li><a href="#">Another action</a></li><li><a href="#">Something else here</a></li><li role="separator" class="divider"></li><li><a href="#">Separated link</a></li><li role="separator" class="divider"></li><li><a href="#">One more separated link</a></li></ul></li></ul><form class="navbar-form navbar-right" role="search"><div class="form-group"><input type="text" class="form-control" placeholder="Search"></div><button type="submit" class="btn btn-default">Submit</button></form></div><!-- /.navbar-collapse --></div><!-- /.container-fluid --></nav></div><!--图片轮播部分DIV--><div class="row"><!-- 图片的小点儿--><div id="carousel-example-generic" class="carousel slide" data-ride="carousel"><!-- Indicators --><ol class="carousel-indicators"><li data-target="#carousel-example-generic" data-slide-to="0" class="active"></li><li data-target="#carousel-example-generic" data-slide-to="1"></li><li data-target="#carousel-example-generic" data-slide-to="2"></li><li data-target="#carousel-example-generic" data-slide-to="3"></li></ol><!-- 图片--><div class="carousel-inner" role="listbox"><div class="item active"><img src="../img/bartlesvillecf.jpg" ><div class="carousel-caption"></div></div><div class="item"><img src="../img/okwu-athletics.jpg"><div class="carousel-caption"></div></div><div class="item"><img src="../img/okwu.jpg"><div class="carousel-caption"></div></div><div class="item"><img src="../img/emancipation.jpg"><div class="carousel-caption"></div></div></div><!-- 图片左右选择--><a class="left carousel-control" href="#carousel-example-generic" role="button" data-slide="prev"><span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span><span class="sr-only">Previous</span></a><a class="right carousel-control" href="#carousel-example-generic" role="button" data-slide="next"><span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span><span class="sr-only">Next</span></a></div></div><!--最新商品部分DIV--><div class="row"><div ><h3>最新商品<img src="../img/title2.jpg"></h3></div><div ><div class="col-md-2" style="padding: 0px;height: 440px;"><img src="../img/big01.jpg" width="100%" height="100%"/></div><div class="col-md-10"><!--第一行--><div class="row" ><div class="col-md-6" style="height:230px;padding: 0px;"><img src="../img/middle01.jpg" height="100%" width="100%"/></div><div class="col-md-2"><img src="../img/small01.jpg" /><center><p>豆浆机</p><p style="color:red">¥299</p></center></div><div class="col-md-2"><img src="../img/small02.jpg" /><center><p>豆浆机</p><p style="color:red">¥299</p></center></div><div class="col-md-2"><img src="../img/small03.jpg" /><center><p>豆浆机</p><p style="color:red">¥299</p></center> </div></div><!--第一行--><div class="row"><div class="col-md-2"><img src="../img/small01.jpg" /><center><p>豆浆机</p><p style="color:red">¥299</p></center> </div><div class="col-md-2"><img src="../img/small02.jpg" /><center><p>豆浆机</p><p style="color:red">¥299</p></center> </div><div class="col-md-2"><img src="../img/small03.jpg" /><center><p>豆浆机</p><p style="color:red">¥299</p></center> </div><div class="col-md-2"><img src="../img/small01.jpg" /><center><p>豆浆机</p><p style="color:red">¥299</p></center></div><div class="col-md-2"><img src="../img/small02.jpg" /><center><p>豆浆机</p><p style="color:red">¥299</p></center></div><div class="col-md-2"><img src="../img/small03.jpg" /><center><p>豆浆机</p><p style="color:red">¥299</p></center></div></div></div></div></div><!--广告部分DIV--><div class="row"><img src="../img/ad.jpg" width="100%"/></div><!--热门商品部分DIV--><div class="row"><div ><h3>热门商品<img src="../img/title2.jpg"></h3></div><div ><div class="col-md-2" style="padding: 0px;height: 440px;"><img src="../img/big01.jpg" width="100%" height="100%"/></div><div class="col-md-10"><!--第一行--><div class="row" ><div class="col-md-6" style="height:230px;padding: 0px;"><img src="../img/middle01.jpg" height="100%" width="100%"/></div><div class="col-md-2"><img src="../img/small01.jpg" /><center><p>豆浆机</p><p style="color:red">¥299</p></center> </div><div class="col-md-2"><img src="../img/small02.jpg" /><center><p>豆浆机</p><p style="color:red">¥299</p></center> </div><div class="col-md-2"><img src="../img/small03.jpg" /><center><p>豆浆机</p><p style="color:red">¥299</p></center> </div></div><!--第一行--><div class="row"><div class="col-md-2"><img src="../img/small01.jpg" /><center><p>豆浆机</p><p style="color:red">¥299</p></center></div><div class="col-md-2"><img src="../img/small02.jpg" /><center><p>豆浆机</p><p style="color:red">¥299</p></center> </div><div class="col-md-2"><img src="../img/small03.jpg" /><center><p>豆浆机</p><p style="color:red">¥299</p></center> </div><div class="col-md-2"><img src="../img/small01.jpg" /><center><p>豆浆机</p><p style="color:red">¥299</p></center> </div><div class="col-md-2"><img src="../img/small02.jpg" /><center><p>豆浆机</p><p style="color:red">¥299</p></center> </div><div class="col-md-2"><img src="../img/small03.jpg" /><center><p>豆浆机</p><p style="color:red">¥299</p></center></div></div></div></div></div><!--footer部分DIV--><div class="row"><img src="../img/footer.jpg" width="100%"/></div><!--链接及关于我们部分DIV--><div class="row"><center>关于我们联系我们招贤纳士法律声明友情链接支付方式配送方式服务声明广告声明<br/>Copyright © 2005-2016 传智商城版权所有</center></div></div></body></html>。

相关文档
最新文档