精华内容
下载资源
问答
  • 分析和探讨了Moodle网络课程存在的问题,提出了集任务驱动教学法、项目教学法、案例教学法特点于一身的"任务驱动"式教学法,并以其为指导思想,结合《网页设计与制作》课程实例,完成Moodle网络课程设计,从而激发...
  • 基于任务驱动的翻转课堂线上教学——以《解二元一次方程组复习课》为例1 线上教学案例设计前的思考疫情期间,一家长群对一元一次方程和二元一次方程组进行了讨价还价,认为学个知识点还收起费来,这瞬间成为了话题...

    基于任务驱动的翻转课堂线上教学

    ——以《解二元一次方程组复习课》为例

    1 线上教学案例设计前的思考

    疫情期间,一家长群对一元一次方程和二元一次方程组进行了讨价还价,认为学个知识点还收起费来,这瞬间成为了话题头条,大家在当成娱乐话题的同时,其实探索其背后数学意义,之所以产生这样的误区,是因为没理解二元一次方程组转化为一元一次方程的基本思想:消元。消元是目的,这也是本次线上教学案例进行的线索和学生需要理解的知识。通过方式比较灵活的线上教学方式让学生有针对的对不同梯度类型问题进行自主探究,动手操作,小组讨论等方法,激发学生的思维,深化学生的思考。并且自主发现规律,不断完善学生的认知结构,做到使学生的思维“发而不散”,这是此案例的目的。

    基于任务驱动的翻转课堂线上教学,学生进行自主学习的空间和时间更为灵活。微课的作用得到较大发挥,微课可节省教师在课堂中反复强调重点知识的时间,学生可对微课进行反复观看或者循环播放,这种具体可感的方式,打破原本课堂的局限性。

    社会对学生的团队合作能力要求越来越高。线上教学下的小组合作能够集思广益,激发学生的求知欲,强化学生对自己学习的责任感和对自己同伴学习进展的关心,符合在学科中培育学生良好品德的要求。

    2 案例理论依据

    2.1 本案例研究基础理论

    皮亚杰认为把实验成果传授给学生,不算是合格的训练,这简直就像通过让人在岸上看别人游泳学习游泳技能一样。皮亚杰教育理论强调:学生自我发现的东西才能积极地被同化从而产生深刻的理解。在线上教学中,让学生自学,通过自主探究,小组合作总结的规律和结论比老师的直接讲授来得印象深刻。学生通过课前预习—线上课堂探究—课后训练为主线的模式实现整个线上课程学习。

    2.2 线上教学相对于传统课堂教学的优势在于:

    线上教学录播可回放暂停,学生可及时书写笔记和思考;亦可温故知新,从而有效控制学生学习的进度,便于知识巩固和复习。

    互连网丰富的学习资源可供学生自由选择,学生不在是被动地接受老师给的唯一的共性学习资料,而是更加主动去选择适合自己的个性化资源。

    与学生互动的工具丰富多样,同时借助多种社群式助学工具,在线跟踪学生学习情况,能形成客观的评价,打造陪伴式的学习效果。

    2.3 符合新课标的理论要求

    初中数学新课程标准强调二元一次方程组是初中数学主要内容之一,它是学习一元二次方程,正(反)比例函数等的基础,更是解决实际问题常用的重要手段,在生活中,一元二次方程应用非常广泛。教材削弱了关于方程组,方程组的解的定义的严格书面叙述和区别,而增加了让学生在学习的过程中通过动手操作进行总结其解法的体验,就二元一次方程组的解而言,初一学生已掌握了代入法和加减法的基本用法,但对于两种方法的选择和书写步骤是陌生的。学生集中在答案的对与错,而忽视解题方法选择的简与繁和解题步骤的规范书写,

    所以此线上教学案例学会简单快速规范解二元一次方程组是我们的重点以及符合新课标的要求和有利于解决现实中的实际问题。

    1. 案例实行方案

    3.1 课前

    提前一天在钉钉云课堂发布自学任务,提醒学生务必在第二天上课前完成,并且截取“已完成任务清单”的界面保存照片,课后和作业一起上交钉钉家校本。组长把自学预习过程中组内讨论后仍然存在的问题进行汇总。教师依据自学反馈情况对课堂教学进行调整和补充以及及时了解每个学生的自学情况。课前自学任务的设计,主要包括:1.学生《二元一次方程组解法》自学任务单;2.《二元一次方程组解法》的微视频;3.《解二元一次方程组复习课》导学案;4.《解二元一次方程组习题课课件(学生版)》;5.完成云课堂预习检测题。

    d10a374e6c0fe3f313224df750abcf2a.png

    41786e027299cfdb3a6da579ead236e5.png

    第2,5部分内容以自学的形式完成,第3,4部分内容先自学后通过钉钉群或微信群等社交软件完成小组讨论。通过1~4步的自学,学生在云课堂对自己的自学成果进行检验,以提高学习积极性。通过这一系列自学过程使学生对将要学习的知识有了提前了解,通过小组交流可解决部分的问题,最后学生带着问题来听老师根据云课堂检测大数据进行第二次备课的内容,大大增加了学生课堂的注意力,达到事半功倍的效果。

    cf17d7190665358ff233bf4a64b6f821.png

    44bce9e7e613ae7582c3a7db0f8bd81d.png

    19240888743f2c0a771f75d18a1c130b.png

    3.2 课中

    整个教学流程概括为“211模式”,具体就是将整节课40分钟分为20分钟+10分钟+10分钟模式。至于为什么要将一节课拆分为三部分?主要原因还是在于线上教育一定是要在保护中小学生健康特别是视力健康的前提下进行。

    前面20分钟:流程概括如下:

    3.2.1 第一部分:

    老师提问复习回顾:解二元一次方程组的基本思路;

    3.2.2 第二部分:

    分别给出4种类型的题目让学生在短时间内采用更为简便的方法进行求解,并把自己的答案拍照上存到班群,助教老师进行查看和文字点播,主播老师随机抽取一名学生答案进行讲评,其中着重强调解题步骤的规范书写以及计算细节。

    3.2.3 第三部分

    讲评后学生自主思考发现总结题中存在的规律。

    3.2.4 第四部分

    通过两道选择题对选择哪种方法能快速解二元一次方程组进行选择。

    3.2.5 第五部分

    通过思维导图进行课堂小结。

    接着10分钟,学生自主到智学网完成10道题目的课堂测试。

    最后10分钟,利用大数据对全班共性问题进行点评,并在课后对相关题型进行推送,做到精准教学。

    c3047ce69a35292a52b4299fa975fc0f.png

    cc020340368c98442743a55137534116.png

    44c440058614812e7f057fa789a46e75.png

    3.3 课后

    在钉钉家校本进行课后作业布置,规定作业完成时间,超时上交不能评为优秀作业,不交则会扣取相应德育分,把作业评定和德育考核绑定起来,提高学生的自律性和团队责任感意识。

    46e7d607783f2b2747559cb56113dcd6.png

    7d30928af3d513616ba8d3a85c6d939d.png

    e8b616b1be94e0a474b72301216f2ca5.png

    基于任务驱动的翻转课堂线上教学,把网络教学资源和小组合作结合起来,大大增强了学生学习的积极性和兴趣,使得相对初中生来说难度系数较高的二元一次方程组解法变得具体化和形象化。

    4 如何实施

    4.1 条件

    二元一次方程组复习课微视频,导学案,智学网,钉钉云课堂(硬件、软件设施),微信群,钉钉群提供的小组合作学习环境。

    4.2 资源准备

    微课录制或者利用网络上大量的资源选择适合学生的微课资源;

    钉钉云课堂提前自学任务布置:观看洋葱数学微视频,《解二元一次方程组复习课》,完成对应导学案和自学课件,小组群进行讨论,组长截图讨论中遇到的问题并完成云课堂检测,最后将完成所有任务清单后截图保存。

    二次备课:及时跟踪学生自学情况,反映存在的自学问题,补充完善课堂教学课件。

    4.3 操作过程

    4.3.1 首次备课

    通过教学平台下载优质的《解二元一次方程组复习课》微视频,数学备课组讨论研究,提供符合学生学情的导学案。

    针对微课教学内容在智学网设计《解二元一次方程组课堂检测试题》,最后,准备好相关的分层作业。
    4.3.2 发布提前自学任务:

    通过钉钉云课堂平台,发布备课资源给学生,学生根据学习任务的顺序完成自学任务。

    学生通过手机,平板,电脑等电子设备学习微课,阅读教材并完成导学案(完成后发到小组群,理科组长进行检阅),最后将云课堂自学检测完成。截取“完成任务清单”的界面图片保存(和课后作业一起提交),从而能初步掌握本节课的重难点。

    小组进行合作讨论导学案和自学课件,组内解决疑难,还存在疑问的组长整理上交老师。

    在此过程中,教师与学生一直保持着良好的互动状态。学生自学过程中遇到问题,可通过小组讨论解决,可通过网络查询答案,也可以通过网络渠道向老师发起提问,老师则可以一对一地进行个性化指导,及时为学生解答疑难。

    4.3.3 二次备课:

    教师查阅学生自学成效,根据学生的自学反馈效果,发现学生存在的困惑,及时调整课堂教学思路和可能忽略的细节。

    从学生自学效果来看,学生能理解代入法和加减法的原理和方法,大部分同学能得出正确的解,但是依然存在两个比较明显的问题:首先,在解题过程中没能做到步骤明确和书写表达规范;其次无法判断什么情况下采用哪种方法更为简捷,会造成化易为难的情况。于是我把这次课堂教学的中心思路确定为:让学生体验不同情况下采取哪种方法更为简便,自行思考总结出规律,同时在题目中渗透和强调规范步骤格式的书写。

    4.4.4 基于任务驱动的翻转课堂线上教学

    直播课堂先小结学生前一天的自学情况,包括自学任务和小组讨论完成情况。针对4道不同情况的典型例题,学生进行自主思考和动手操作,体会题目中蕴含的规律。最终通过助教和直播老师指导,学生总结出解二元一次方程组规律:

    第一,当方程组中某个方程的系数比较简单(尤其是未知数的系数为±1)时,用代入法为宜;

    第二,当两个方程的某一个未知数的系数相等或者互为相反数时,用加减法;

    第三,若不具备上述条件,可以通过适当变形,用加减消元法求解。

    从课堂反馈来看,学生基本达到了课堂教学目标:熟悉解二元一次方程组的解法和理解根据题型特征选取简便方法的规律。这些成效,是在生生和师生互动交流中得到的。

    课后作业巩固,学生独立思考,自主完成课后分层作业,通过家校本提交给老师批阅。经过这次批阅,发现大部分的学生相对课前自学的情况,有了较大的提升,特别在方法的选取和书写步骤方面,教学效果比较明显。但仍然有少部分同学作业完成效果不理想,课后通过网络沟通,一对一给予矫正教学。

    5 结论与反思

    线上教学是一种较为新颖的教学模式,将它运用于数学的教学中,大大增加了课堂灵活性和趣味性。让学生能主动获取到知识,使教与学真正形成良性的互动,学生成为课堂的主人。

    从本次解二元一次方程组习题课的课例来看,学生无论是课前,课中,课后来看,学生参与度都比较高。课前,提前自学阶段认真,私聊老师提问的同学不少,在课堂中,他们积极踊跃发言,表达个人观点,学生真正了把控了课堂。课后,从学生的作业来看,认真规范,有他们的思考和想法,这一知识点的掌握程度比较高!

    本课例主要是通过线上教学对《解二元一次方程组复习课》进行探索,从学生和科组老师反映可见,成效不错。线上教学是否能适用初中数学其他课例,我们在努力尝试和不断探究!

    b9626698b3c3fa55fb8ebdfb6fd36052.png

    4c64fc83988b69b1456309c39f35dffb.png

    c4d3e7438f9af3d7d70b00bdb84f3a1a.png
    ade86be9bc5ce642c7430edbf5866cec.png
    https://www.zhihu.com/video/1241417804408127488
    展开全文
  • 教学项目 教学班级 教学方法 本次授课目的与要求 课堂类型 考核对象 复习旧课要点 Flash 动画设计与制作 教师授课教案 项目一 图形绘制 教学时数 12 学时 备课教师 任务驱动教学法案例教学法演示法小组学习法 1熟练...
  • js案例

    2019-09-29 15:41:05
    JS 今日任务 使用JS完成页面定时弹出广告 使用JS完成表单的校验 使用JS完成表格的隔行换色 使用JS完成复选框的全选效果 使用JS完成省市联动效果 ...教学导航 ...教学目标 ...教学方法 ...案例驱动法 ...

    JS

    今日任务

    • 使用JS完成页面定时弹出广告
    • 使用JS完成表单的校验
    • 使用JS完成表格的隔行换色
    • 使用JS完成复选框的全选效果
    • 使用JS完成省市联动效果

    教学导航

    教学目标

    掌握JS中的BOM对象

    掌握JS中的常用的事件

    掌握JS中的常用DOM操作

    了解JS中的内置对象

    教学方法

    案例驱动法

     

    1.1 使用JS定时弹出广告

    1.1.1 需求分析

    在浏览网站的时候,通常会5秒左右在顶部显示一个广告。过了5秒钟将这个广告隐藏。在网站的首页上显示这个广告。

    1.1.2 分析:

    1.1.2.1 技术分析:

    JS的定时操作】

    setInterval();

    setTimeout();

     

    clearInterval();

    clearTimeout();

    CSS控制显示和隐藏的属性】

    display:

    l block :显示的

    l none :隐藏的

    1.1.2.2 步骤分析:

    • 步骤一:确定事件:onload.
    • 步骤二:在函数中设置定时的操作.5秒显示这个div.
    • 步骤三:清除原来的定时,重新设置一个定时操作.5秒以后隐藏掉.
    • 步骤四:设置5秒后隐藏的定时,可以清除.

    1.1.3 代码实现

    <script>

    var time;

    function init(){

    // 设置定时操作:

    time = setInterval("showAd()",5000);

    }

     

    function showAd(){

    // 获得div元素

    var divAd = document.getElementById("divAd");

    divAd.style.display = "block";

    // 清除之前的定时操作:

    clearInterval(time);

    // 重新设置一个定时:5秒钟隐藏:

    time = setInterval("hideAd()",5000);

    }

     

    function hideAd(){

    // 获得div元素

    var divAd = document.getElementById("divAd");

    divAd.style.display="none";

    clearInterval(time);

    }

    </script>

    1.1.4 总结

    1.1.4.1 扩展内容

    JS的引入的方式】

    • 内部的JS

    使用<script>标签

    • 外部的JS

    创建一个.js的文件

    使用<script src="ad.js"></script>

    BOM中的对象】

     

    l Window对象:浏览器最顶层的对象.

     

    l Navigator

     

    l Screen

     

    l History

     

    l Location

     

    1.2 使用JS完成表单的校验

    1.2.1 需求分析

    之前已经完成了一个表单校验,弹出提示框的形式。用户的体验不是特别的好。现在当鼠标点到文本框的时候,在文本框的后面给我们一段提示.当光标离开的时候完成校验.将信息写到文本框的后面的位置而不是提示框的形式。

    1.2.2 分析

    1.2.2.1 技术分析

    JS中的事件】

    之前使用的事件:

    onclick

    onsubmit

    onload

     

    使用:

    onfocus :获得焦点

    onblur :失去焦点

    JS控制向HTML的某个元素中写入内容】

    document.getElementById(“”).innerHTML = “”;

    1.2.2.2 步骤分析

    • 确定事件获得焦点和失去焦点
    • 定义函数,在函数中进行校验
    • 将校验的内容写入到文本框后面的<span>元素

    1.2.3 代码实现:

    <script>

    function showTips(uid,info){

    // 控制后面的span元素:

    document.getElementById(uid+"span").innerHTML = "<font color='gray'>"+info+"</font>";

    }

     

    function checkUsername(uid,info){

    // 判断用户名是否为""

    var uValue = document.getElementById(uid).value;

    if(uValue == ""){

    document.getElementById(uid+"span").innerHTML = "<font color='red'>"+info+"</font>";

    }else{

    document.getElementById(uid+"span").innerHTML = "";

    }

    }

    </script>

    1.2.4 总结

    1.2.4.1 JS的事件的总结

    onchange :下拉列表上

    ondblclick :双击

    onkeydown :键盘按下

    onkeyup :键盘抬起

    onmouseover :鼠标在上面

    onmouseout :鼠标离开

    onmousemove :鼠标移动

     

    需求:表格鼠标放上显示一个颜色,鼠标离开样式没有了!

    <script>

    function changeColor(tid,flag){

    if(flag == 'over'){

    var tid = document.getElementById(tid);

    tid.style.backgroundColor="gold";

    }else if(flag == 'out'){

    var tid = document.getElementById(tid);

    tid.style.backgroundColor="white";

    }

    }

    </script>

    1.3 使用JS控制表格的行换色

    1.3.1 需求

    在网站的后台的表格页面中让表格显示出隔行换色的效果:

    1.3.2 分析

    1.3.2.1 技术分析

    【使用JS控制表格】

    var tab1 = Document.getElementById(“tab1”);

    var rows = tab1.rows.length;

    for(){

    if(i % 2 == 0){

     

    }

    }

    1.3.2.2 步骤分析

    • 步骤一确定事件:onload事件
    • 步骤二:获得表格元素
    • 步骤三:获得表格的所有行的长度
    • 步骤四:遍历表格的所有行
    • 步骤五:使用下标对2取余
    • 步骤六:设置奇数行和偶数行的颜色。

    1.3.3 代码实现

    <script>

    window.onload = function(){

    // 获得表格元素:

    var tab1 = document.getElementById("tab1");

    // 获得表格的所有的行数:

    var len = tab1.rows.length;

    // 遍历所有的长度

    for(var i=0;i<len;i++){

    // 判断是奇数行还是偶数行:

    if(i % 2 == 0){

    tab1.rows[i].style.backgroundColor = "#33FF22";

    }else{

    tab1.rows[i].style.backgroundColor = "#883311";

    }

    }

    }

    </script>

    1.3.4 总结

    表格隔行换色的时候,将最上一行也换掉了。第一行往往不需要进行换色的。

    <table>

    <thead>

    <tr>

    <th></th>

    <tr>

    </thead>

    <tbody>

    <tr>

    <td></td>

    <tr>

    </tbody>

    </table>

     

    代码实现:

    window.onload = function(){

    // 获得表格元素:

    var tab1 = document.getElementById("tab1");

    // 查找表格中tbody中的所有的行数。

    var len = tab1.tBodies[0].rows.length;

    for(var i = 0 ;i<len ;i++){

    if(i % 2 == 0){

    tab1.tBodies[0].rows[i].style.backgroundColor="green";

    }else{

    tab1.tBodies[0].rows[i].style.backgroundColor="gold";

    }

    }

    }

    1.4 使用JS控制复选框的全选和全不选的效果

    1.4.1 需求的分析

    在后台管理页面中,往往会有批量删除数据的效果,就需要有复选框全选和全部选的效果。

     

    1.4.2 分析

    1.4.2.1 步骤分析

    • 步骤一确定事件单击事件
    • 步骤二获得下面的所有的复选框
    • 步骤三:如果上面的复选框被选中,将下面的所有的复选框选中状态变为checked=true.
    • 步骤四:如果上面的复选框没被选中,将下面的所有的复选框选中状态变为checked=false.

    1.4.3 代码实现

    function selectAll(){

    // alert("aaa");

    // 获得上面的复选框:

    var sAll = document.getElementById("selectAll");

     

    if(sAll.checked == true){

    // 上面的复选框被选中

    // 将下面的所有的复选框都被选中。

    var selectOnes = document.getElementsByName("selectOne");

    // 遍历数组中的每个元素,让每个元素都被选中:

    for(var i = 0;i<selectOnes.length;i++){

    selectOnes[i].checked = true;

    }

    }else{

    // 上面的复选框被选中

    // 将下面的所有的复选框都被选中。

    var selectOnes = document.getElementsByName("selectOne");

    // 遍历数组中的每个元素,让每个元素都被选中:

    for(var i = 0;i<selectOnes.length;i++){

    selectOnes[i].checked = false;

    }

    }

    }

    1.4.4 总结

    1.4.4.1 DOM的操作

    DOMDocument Object Model 文档对象模型.

    HTML文档装载到内存,HTML文档形成一个DOM的树形结构.

     

     

    Document:文档对象.代表的是加载到内存中的整个的文档.

    方法:

    l document.getElementById(“”);

    l document.getElementsByName(“”);

    l document.getElementsByTagName(“”);

    l document.createElement(“”);

    Element:元素对象.代表文档中的每个元素(标签)

    <ul>

    <li>北京</li>

    <li>上海</li>

    <li>深圳</li>

    </ul>

     

    属性:

    l firstChild:获得其第一个孩子节点

    l lastChild:获得其最后一个子节点

    方法:

    l appendChild();将节点添加到当前节点的最后.

    l insertBefore();将节点添加到某个元素之前.

    Attribute:属性对象.代表元素上的属性.

     

    Document,Element,Attribute统称为Node(节点)

    1.5 JS控制二级联动:

    1.5.1 需求

    在注册页面上有一个下拉列表,下拉列表显示省份信息,有另一个下列列表.选择某个省份,将这个省份下的城市列出.

    1.5.2 分析:

    1.5.2.1 技术分析

    DOM创建元素】

    <!DOCTYPE html>

    <html>

    <head>

    <meta charset="UTF-8">

    <title></title>

    <script>

    function addEl(){

    // 创建元素:

    var liEl = document.createElement("li");// <li></li>

    // 创建文本节点:

    var textEl = document.createTextNode("广州");// 广州

    // 将文本放入到li元素:

    liEl.appendChild(textEl);// <li>广州</li>

    // 获得ul元素:

    var ulEl = document.getElementById("ul1");

    // li放入到ul

    ulEl.appendChild(liEl);

    }

    </script>

    </head>

    <body>

    <ul id="ul1">

    <li>北京</li>

    <li>上海</li>

    <li>深圳</li>

    </ul>

     

    <input type="button" value="点击" οnclick="addEl()"/>

    </body>

    </html>

    【数组对象的使用】

    创建数组

     

    数组的属性:

     

    数组的方法:

     

    1.5.2.2 步骤分析

    • 步骤一确定事件onchange.
    • 步骤二:获得改变的省份值 .
    • 步骤三:比较省份的值 数组中定义的值是否相等,如果相等获得这个省份对应的所有的市的数组.
    • 步骤四:创建option元素,将数组中的值添加到option元素中。
    • 步骤五:将option添加到第二个下拉列表中.

    1.5.3 代码实现

     

     

    // 定义二维数组:

    var cities = new Array(4);

    cities[0] = new Array("长春市","吉林市","松原市","延边市");

    cities[1] = new Array("济南市","青岛市","烟台市","潍坊市","淄博市");

    cities[2] = new Array("石家庄市","唐山市","邯郸市","廊坊市");

    cities[3] = new Array("南京市","苏州市","扬州市","无锡市");

     

    function selectCity(val){

    // alert(val);

    var citySel = document.getElementById("city");

    // 清除原有的option:

    citySel.options.length = 0;

     

    // 遍历数组:

    for(var i=0;i<cities.length;i++){

    if(val == i){

    // 遍历数组:

    for(var j = 0 ;j<cities[i].length;j++){

    // alert(cities[i][j]);

    // 创建option元素:

    var opEl = document.createElement("option");

    // 创建文本元素:

    var textNo = document.createTextNode(cities[i][j]);

    // 将文本添加到option中.

    opEl.appendChild(textNo);

    // option添加到第二个下拉列表中

    citySel.appendChild(opEl);

    }

    }

    }

    }

    1.5.4 总结

     

    查看文档了解方法

     

    全局函数:

     

    parseInt(); 将字符串转出整型

    parseFloat(); 将字符串转成小数

     

    encodeURI()

    decodeURI()

    encodeURIComponent()

    decodeURIComponent()

     

    eval() :将一段字符串当成一个JS的代码来运行.

    1.6 JS控制下拉列表左右选择:

    1.6.1 需求

    有两个列表,需要将左侧列表中的数据添加到右侧的列表中:

     

    1.6.2 分析

    1.6.2.1 步骤分析

    • 单击事件
    • 编写函数:获得左侧的下拉列表.
    • 遍历左侧列表中的所有的option元素.判断是否被选中。
    • 如果被选中添加到右侧.

     

    • 单击事件
    • 编写函数:获得左侧的下拉列表.
    • 遍历左侧的列表中的所有的option.
    • 全部添加到右侧.

    转载于:https://www.cnblogs.com/nextgg/p/7646572.html

    展开全文
  • 三教学模式 (二) 教学方法与手段 多媒体教学法 案例教学法 现场教学法 任务驱动法 实物教学法 讨论教学法 针对不同的教学内容采用不同的教学方法 特色鲜明 教学方法 三教学模式 (三) 教学组织与实施 多媒体教学法 ...
  • 第14章WEB14-JDBC案例

    2018-04-13 13:43:11
    今日任务Ø 使用JDBC技术完成对商品的添加修改查询及分页的操作教学导航教学目标掌握JDBC的CRUD的操作掌握JDBC的分页操作教学方法案例驱动法1.1 上次课内容回顾:JSP的模式: JSP的设计模式: JSP的模式一:JSP + ...

    今日任务
    Ø 使用JDBC技术完成对商品的添加修改查询及分页的操作
    教学导航
    教学目标
    掌握JDBC的CRUD的操作
    掌握JDBC的分页操作
    教学方法
    案例驱动法
    1.1 上次课内容回顾:
    JSP的模式:

    • JSP的设计模式:
      • JSP的模式一:JSP + JavaBean设计模式:
      • JSP的模式二:JSP + Servlet + JavaBean设计模式:MVC设计模式.
        • M:Model
        • V:View
        • C:Controller
      • MVC和EE开发三层结构的关系:
      • 反射:(*****)
        • 获得类的字节码对象:Class对象.三种获得的方式.
          • 类名.class;
          • 类的实例.getClass();
          • Class.forName();
        • 获得构造器:Constructor
        • 获得属性:Field
        • 获得方法:Method
          JDBC的事务管理:
      • 事务的概念:指的是逻辑上的一组操作,要么一起成功,要么一起失败.
      • 事务的特性:
        • 原子性:事务的不可分割
        • 一致性:事务执行的前后,数据完整性保持一致.
        • 隔离性:一个事务的执行不应该受到另一个事务的干扰
        • 持久性:事务一旦结束,将会永久修改到数据库.
      • 如果不考虑隔离性:
        • 脏读 :一个事务读到另一个未提交的数据.
        • 不可重复读 :一个事务读到另一个事务已经提交的update的数据,导致多次的查询结果不一致.
        • 虚读 :一个事务读到另一个事务已经提交的insert的数据,导致多次的查询结果不一致.
      • 解决读问题:
        • 未提交读:以上情况都能发生.
        • 已提交读:解决脏读,但是不可重复读和虚读有可能发生
        • 重复读:解决脏读和不可重复读,但是虚读有可能发生.
        • 串行化:可以解决以上的所有情况.
      • JDBC进行事务的管理:
        • Connection:
          • setAutoCommit(boolean flag);
          • commit();
          • rollback();
      • DBUtils进行的事务的管理:
        1.2 完成对商品的CRUD的操作,进行条件查询,分页查询.1.2.1 需求:
        购物的网站中需要显示商品的信息,在商品信息的显示中,如果商品的信息比较多.需要将比较多的商品进行分页的显示.进行条件查询.同时对商品进行修改,插入,删除.
        第14章WEB14-JDBC案例篇
        1.2.2 分析:1.2.2.1 技术分析:
        使用MVC设计模式JSP + Servlet + JavaBean + JDBC实现商品信息的CRUD的操作.
        1.2.2.2 步骤分析:
        【步骤一】:创建数据库和表
    • create database web_14;
    • use web_14;
    • create table product (
      pid varchar (96),
      pname varchar (150),
      market_price double ,
      shop_price double ,
      pimage varchar (600),
      pdate date ,
      is_hot double ,
      pdesc varchar (765),
      pflag double ,
      cid varchar (96)
      );
      【步骤二】:创建工程导入jar包.
    • msysql驱动
    • c3p0的包
    • dbutils的包
    • beanUtils的包:两个.
    • JSTL的包:两个
      【步骤三】:创建包结构.
      【步骤四】:创建一个首页:
      <h1>欢迎来到商品信息管理平台</h1>
      <h3><a href="${ pageContext.request.contextPath }/ProductFindAllServlet">查询所有商品</a></h3>
      1.2.3 代码实现:1.2.3.1 商品的查询的功能:
      在首页上点击【查询所有商品】链接:
      提交到Servlet中:
      • 调用业务层-->调用DAO:
      • 将商品列表保存到request域中:
      • 转发到商品列表页面:
        在商品列表的页面中显示商品:
        1.2.3.2 商品的添加的功能:
        在首页点击【添加】链接:跳转到添加页面.
        在添加页面中输入信息:点击【提交】提交到Servlet
        在Servlet中:
      • 接收数据:
      • 封装数据:
      • 调用业务层:
      • 页面跳转
    • 重复提交的问题:
      • 添加完商品之后,转发到一个页面,刷新该页面.
      • 网速很慢,点击提交的按钮,其实已经在提交了但是网速慢,不停的点击提交.
    • 解决重复提交的根本解决办法:令牌机制(一次性).
      • 生成随机的令牌保存在session中.
      • 在表单的提交的时候,将随机的令牌放入到表单的隐藏字段中.
      • 在Servlet中获得session中和表单中的令牌是否一致.
      • 如果一致执行插入操作,不一致跳转到其他页面.将令牌销毁.
    • 代码实现:
      // 判断是否是重复提交:
      String token1 = (String)request.getSession().getAttribute("token");
      String token2 = request.getParameter("token");
      // 清空session中的令牌:
      request.getSession().removeAttribute("token");
      if(!token2.equals(token1)){
      request.setAttribute("msg", "亲!您已经提交过!请不要重复提交了!");
      request.getRequestDispatcher("/jsp/msg.jsp").forward(request, response);
      return;
      }
      1.2.3.3 商品的信息的修改:
      在列表页面上点击【修改】链接:
      提交到Servlet:根据id查询该商品.将商品的信息显示到修改页面:
      在修改的页面上修改数据,点击【提交】按钮:
      提交到Servlet:完成商品信息的修改:
      1.2.3.4 商品的信息的删除:
      在列表页面上点击【删除】链接:
      提交到Servlet:
      调用业务层完成删除的操作:
      ***** 扩展删除多条记录:
      1.2.3.5 商品模糊查询:
      1.2.3.6 商品分页显示:
      分页条: 【首页】【上一页】[1][2][3][4]【下一页】【尾页】
      分页功能的实现:
    • 物理分页:一次只查10条记录,点击下一页,再去查询后10条.使用SQL语句进行控制的分页.
      • 缺点:经常需要和数据库交互.
      • 优点:数据量特别大,不会导致内存的溢出.
    • 逻辑分页:一次性将所有数据全都查询出来,根据需要进行截取.List集合进行控制. subList();
      • 缺点:数据量如果特别大,容易导致内存溢出.
      • 优点:与数据库交互次数少.
    • 不同的数据库对分页的语句也是不一样的:
      • MYSQL进行分页: 使用limit关键字.
        • select * from xxx where .. Group by ... Having ... Order by ... limit a,b; -- a:从哪开始 b:查询的记录数.
        • 根据页数计算 limit后面的两个参数:
          • currPage begin pageSize
            1 0 10
            2 10 10
            3 20 10
          • begin = (currPage - 1) * pageSize;
      • 参数的传递:
        • 前台--->后台:currPage
        • 后台--->前台:currPage,totalPage(总页数),totalCount(总记录数),pageSize,List集合.
      • 使用JavaBean封装参数:
        • 后台--->前台:传递一个JavaBean就可以.
      • Oracle进行分页: 使用SQL语句嵌套.
      • SQL Server数据库进行分页: 使用 top 关键字.
    • 在首页上添加一个分页查询的链接:

    转载于:https://blog.51cto.com/13587708/2102936

    展开全文
  • 今日任务Ø 使用AJAX完成用户名的异步校验Ø 使用JQuery完成用户名异步校验Ø 使用JQuery完成商品信息模糊显示Ø 使用JQuery完成省市联动效果返回XMLØ 使用JQuery完成省市联动效果返回JSON教学导航教学目标了解AJAX...

    今日任务
    Ø 使用AJAX完成用户名的异步校验
    Ø 使用JQuery完成用户名异步校验
    Ø 使用JQuery完成商品信息模糊显示
    Ø 使用JQuery完成省市联动效果返回XML
    Ø 使用JQuery完成省市联动效果返回JSON
    教学导航
    教学目标
    了解AJAX的基本使用
    掌握JQuery的AJAX部分的代码
    掌握JQuery返回XML和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 需求:
        第15章WEB15-AJAX和JQuery案例篇
        在注册页面中,当输入了用户名之后,光标离开文本框,显示用户名是否已经存在.
        ***** 用户名是否已经存在,需要到后台的数据库进行查询的.
        1.2.2 分析:1.2.2.1 技术分析:
        【AJAX的概述】
        Ø AJAX的概念:
        第15章WEB15-AJAX和JQuery案例篇
        AJAX使用的是老的技术,新的思想.完成了RIA的应用:Rich Internet Application.
    • 传统方式的开发:所有的数据提交到服务器端进行处理.(胖服务器)
    • AJAX的方式开发:有一部分的代码写在客户端.
      同步:
      异步:
      Ø AJAX的作用:
      完成页面局部刷新而不影响用户的体验.
    • 用户名是否已经存在的校验
    • 百度信息输入的提示
      ...
      Ø 使用AJAX:
      JavaScript和XML
    • XMLHttpRequest:
      • 属性:
        • onreadystatechange:
        • readyState:
          第15章WEB15-AJAX和JQuery案例篇
        • status:获得状态码
        • responseText :响应的文本
        • responseXML :响应的XML
      • 方法:
        • open(“请求方式”,”请求路径”,”是否异步”);
        • send(“提交的参数”);
        • setRequestHeader(“头信息”,”头的值”);
          开发步骤:
          1.获得XMLHttpRequest对象.
      • IE将XMLHttpRequest封装到一个ObjectXActive插件中.
      • Firefox直接可以创建XMLHttpRequest.
        2.设置状态改变触发一个函数.
        3.打开一个链接.
        4.发送请求.
        【AJAX的GET入门】
        创建XMLHttpRequest
        function createXMLHttpRequest() {
        var xmlHttp;
        try { // Firefox, Opera 8.0+, Safari
        xmlHttp = new XMLHttpRequest();
        } catch (e) {
        try {// Internet Explorer
        xmlHttp = 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.responseText;
        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.responseText;
        }
        }
        }
        // 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
        n 查询到了:用户名已经存在
        n 没有查询到:用户名可以使用
        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@163.com','张三','男','1992-01-02','篮球, 足球, 排球'),(2,'ccc','123','ccc@itcast.cn','李四','女','1992-03-20','排球, 乒乓球'),(3,'aaa','123','aaa@itcast.cn','王守义','男','1990-08-11','足球, 排球'),(5,'tom','123','haha@qq.com','提莫','男',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.responseText;
    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 需求:
    第15章WEB15-AJAX和JQuery案例篇
    在注册页面中,当输入了用户名之后,光标离开文本框,显示用户名是否已经存在.
    ***** 用户名是否已经存在,需要到后台的数据库进行查询的.
    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 需求:
    在一个搜索页面中,键盘输入一些信息,在文本框下面给出一些提示信息(需要从服务器端进行查询的).
    第15章WEB15-AJAX和JQuery案例篇
    1.4.2 分析:1.4.2.1 步骤分析:
    Ø 创建一个数据库和表:
    Ø 设计一个页面
    Ø 文本框绑定一个事件.keyup
    Ø 在keyup所触发函数中:
    n 获得文本框的值.
    n 将这个值异步提交到服务器.$.post();
    n 提交到Servlet:
    u 接收参数:
    u 调用业务层--调用DAO: select * from .. Where xx like ?;
    u 查询之后页面跳转把数据显示到一个表格中.
    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 需求:
    第15章WEB15-AJAX和JQuery案例篇
    完成省市联动的效果.市的信息从后台服务器端获得.通过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序列化不再繁琐。br/>【XStream的入门】
    引入xstream需要的jar包:
    ![](https://s1.51cto.com/images/blog/201804/14/feb7d29950f81fe87fd9078cf9476ecc.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
    入门:
    @Test
    public void demo1(){
    List<City> list = new ArrayList<City>();
    list.add(new City(1,"哈尔滨"));
    list.add(new City(2,"齐齐哈尔"));
    list.add(new City(3,"牡丹江"));

                XStream stream = new XStream();
    
                // 设置标签的别名:
                stream.alias("city", City.class);
    
                // 设置子标签作为属性进行显示:
                stream.useAttributeFor(City.class, "id");
    
                String xml = stream.toXML(list);
    
                System.out.println(xml);
        }

    1.5.2.2 步骤分析:
    Ø 设计页面:
    Ø 为第一个下拉列表绑定事件:change
    Ø 在change事件触发的函数中:提交数据到Servlet.
    Ø 在Servlet中:
    n 接收数据:接收提交的省份的信息.
    n Map<String,List<City>>
    n 将集合转成XML,将XML写回到浏览器.
    Ø 在回调函数中获得XML中的市的信息.
    Ø 生成一个option元素,将option元素添加到第二个下拉列表中。
    1.5.3 代码实现:

    设计一个页面:
    <h1>省市联动的案例</h1>
    <select id="province">
    <option value="">--请选择--</option>
    <option value="黑龙江">黑龙江</option>
    <option value="吉林">吉林</option>
    <option value="辽宁">辽宁</option>
    </select>
    <select id="city">
    <option value="">--请选择--</option>
    </select>
    
    为第一个列表绑定事件:
    $(function(){
    // 为第一个列表绑定事件:
    $("#province").change(function(){
    // 获得下拉列表选中的值
    var val = $(this).val();
    // alert(val);
    $.post("/WEB15/ServletDemo6",{"province":val},function(data){
    // alert(data);
    $("#city").html("<option>--请选择--</option>");
    $(data).find("city").each(function(){
    var id = $(this).children("id").text();
    var name = $(this).children("name").text();
    // alert(name);
    var op = "<option>"+name+"</option>";
    $("#city").append(op);
    });
    });
    });
    });

    1.6 使用Jquery完成省市联动的案例:使用JSON作为响应数据:1.6.1 需求:
    第15章WEB15-AJAX和JQuery案例篇
    完成省市联动的效果.市的信息从后台服务器端获得.通过AJAX使用这样的功能!!!
    1.6.2 分析:1.6.2.1 技术分析:
    【JSON的概述】
    JSON的概念:
    第15章WEB15-AJAX和JQuery案例篇
    JSON的案例:

    • {key:value,key:value}
      • {id:1,name:aaa}
    • [{key:value,key:value},{key:value,key:value}]
      • [{id:1,name:aaa},{id:2,name:bbb}]
        将对象转成JSON:
        使用JSONLIB将Java中对象或集合转成JSON.
    • JSONArray :将数组或List集合转成JSON的.
    • JSONObject :将对象或Map集合转成JSON的.

    转载于:https://blog.51cto.com/13587708/2103348

    展开全文
  • 课题 案例2.3单科成绩及格判断 学时 1学时 教材 分析 本次公开课的学习单元采用高等教育出版社C语言程序设计一书中的2.3 案例2.3单科成绩及格判断采用任务驱动法及案例教学法这一单元提供选择结构中if语句的程序设计...
  • 传智播客专注于和Php网页平面设计工程师的培训 WEB01-HTML篇 今日任务 网站信息...了解HTML主要特性,主要变化及发展趋势 了解HTML的结构标签 掌握HTML的主要标签(字体,图片,列表,链接,表单等标签) 教学方法 案例驱动法
  • hibernate基础知识二

    2017-02-14 23:45:40
    北京市昌平区建材城西路金燕龙办公楼一层 电话:400-618-9090 第 1 章 Hibernate_day02 ...教学方法 案例驱动法 案例一: 使用 Hibernate 完成 CRM 客户管理中 查询所有客户的操作 1.1案例需求: 1.1.1
  • hibernate基础知识三

    2017-02-14 23:49:00
    第 1 章 Hibernate_day03 今日任务案例一:使用 Hibernate...教学方法 案例驱动法 案例一: 完成多对多的关联关系映射并操作 1.1案例需求 1.1.1 需求描述 用户即使用系统的用户, 包括业务员、 总经理
  • 第1章 WEB01-HTML篇

    2018-03-28 09:25:29
    今日任务Ø 网站信息页面案例Ø 网站图片信息页面案例Ø 网站友情链接页面...图片,列表,链接,表单等标签)教学方法案例驱动法1.1 案例一:网站信息页面的显示:1.1.1 需求:在网页中显示网站的信息的页面:效果如下:...
  • JSP和JSTL

    2019-09-28 00:35:03
    JSP&EL&JSTL 今日任务 商品信息的显示 ...教学导航 ...教学目标 ...案例驱动法 1.1案例一:商品信息的显示的案例: 1.1.1需求: 将数据库中的商品的信息,显示到页面中.尽量少使用...
  • Spring_01

    2017-05-21 08:27:22
    Spring_day01总结 ...案例驱动法 案例一使用Spring的IOC完成保存客户的操作: 1.1 案例需求 1.1.1 需求概述 CRM系统中客户信息管理模块功能包括: 新增客户信息 客户信息查询 修改客
  • Spring_02

    2017-05-21 08:28:16
    Spring_day02总结 今日任务 Ø 使用Spring的AOP对客户...案例驱动法 案例一使用Spring的AOP对客户管理的DAO进行增强 1.1 案例需求 1.1.1 需求描述 对于CRM的系统而言,现在有很多的DAO类,比如客户的
  • JSP模式&JDBC加强

    2017-05-29 20:34:08
    JSP模式&JDBC高级 今日任务 Ø 使用MVC设计模式开发一个转账案例 教学导航 ...教学目标 ...教学方法 ...案例驱动法 1.1 案例一:使用MVC设计模式完成转账的案例: 1.1.1 需求: 在页面中输入
  • Spring_03

    2017-05-29 19:35:30
    Spring_day03总结 今日任务 Ø 使用Spring的AOP对客户管理的DAO进行增强 Ø 使用Spring完成转账的事务管理 教学导航 ...案例驱动法 案例一:使用Spring的AOP对客户管理的DAO进行增强 1.1 案
  • hibernate基础知识一

    2017-02-14 23:44:04
    传智播客——专注于 Java、 .Net 和 ...北京市昌平区建材城西路金燕龙办公楼一层 电话:400-618-9090 第 1 章 Hibernate_day01 今日任务  使用 Hibernate 完成对 CRM 系统...教学方法 案例驱动法 案例一: 使用 Hib
  • MVC5,EF6,BootStrap,HTML5,JqueryMobile,VS,.NET,ASP.NET北风团队精心打造的42个经典案例,囊括了企业常见项目开发90%的典型应用优势1、强大的课程体系,首创任务驱动教学法,42个经典案例,.NET开发一网打尽...
  • Cookie&Session

    2019-09-28 00:35:14
    Cookie&Session 今日任务 显示用户的上次访问时间 显示商品浏览记录 购买商品将商品添加到购物车 系统登录的验证码的...教学导航 ...教学目标 ...教学方法 ...案例驱动法 1.1记录用户的上次访问时间: ...
  • servlet 参考

    2017-08-16 14:28:58
    Servlet 今日任务 Ø 完成系统的登录的功能 Ø 完成登录系统后页面定时跳转 Ø 记录系统登录成功后,系统被访问多少次 教学导航 ...教学目标 ...教学方法 ...案例驱动法 1.1 HTTP
  • linux笔记

    2017-10-29 23:52:24
    23-Linux篇 今日任务 Ø 能够独立安装虚拟软件 Ø 能够独立在虚拟软件上安装Linux系统 Ø 能够在Linux系统上使用常用命令 教学导航 ...教学目标 ...教学方法 ...案例驱动法 1.1 Linux的概
  • 基础加强

    2019-09-29 15:40:41
    基础加强 今日任务 使用自定义注解完成仿@Test的作用. 使用Servlet3.0完成文件上传. 使用动态代理解决网站的字符集编码 教学导航 教学目标 ...教学方法 ...案例驱动法 ...
  • 今日任务Ø 使用MVC设计模式开发一个转账案例教学导航教学目标掌握JSP的设计模式了解MYSQL的事务管理掌握JDBC的事务管理会使用DBUtils完成事务的管理教学方法案例驱动法1.1 上次课内容回顾:JSP : JSP的概述: JSP...
  • 第12章WEB12-JSP&EL&JSTL篇

    2018-04-12 09:52:47
    今日任务Ø 商品信息的显示教学导航教学目标掌握JSP的基本的使用掌握EL的表达式的用法掌握JSTL的常用标签的使用教学方法案例驱动法1.1 上次课内容回顾:Cookie :就是将数据保存到客户端浏览器的会话技术. 从浏览器...
  • 第8章WEB08-XML&Tomcat篇

    2018-04-10 09:49:44
    今日任务Ø 通过XML作为配置文件完成模拟Tomcat的案例Ø 安装Tomcat服务器发布一个WEB项目教学导航教学目标了解XML的基本语法,并能够编写正确...教学方法案例驱动法1.1 上次课内容回顾:JDBC : JDBC的概述: JDB...
  • 教学导航教学目标掌握response设置响应头掌握response重定向和转发的区别掌握request接收请求参数掌握request域的作用范围教学方法案例驱动法1.1 上次课内容回顾:HTTP : Http请求部分: 请求行:请求...
  • 第9章WEB09-Servlet篇

    2018-04-10 15:13:33
    今日任务Ø 完成系统的登录的功能Ø 完成登录系统后页面定时跳转Ø 记录系统登录成功后,系统被访问多少次教学导航教学目标了解HTTP协议掌握Servlet的编写了解ServletConfig的使用掌握ServletContext对象的使用教学...

空空如也

空空如也

1 2 3
收藏数 48
精华内容 19
关键字:

任务驱动教学法案例