针对汪大伦的提问,解释Session中为什么也可能出现线程安全的问题,在服务器端比较缓慢时,一个表单可以被提交多次,这时候就会出现多个线程访问同一个Session的情况。所以,我们是要注意存放在Session中的Cart对象本身应该是线程安全的。
前几天雷辉老师在讲解ibatis的JPetStore例子时,我们看到某个业务对象中的一个方法为两个成员变量进行了赋值,结果JSP页面的显示数据就发生了修改,当时觉得很奇怪,我们的习惯思维是将数据显示在某个域范围中,JSP然后显示域范围中的数据。后来雷辉研究明白了,JSP页面显示的就是那个业务对象,业务对象内部的成员变量发生了修改,就导致了JSP页面的显示数据发生变化。

简单标签的setParent方法只在有父标签时才被调用。简单标签只有一个doTag方法来处理标签的业务功能,其标签体用JSPFragment对象来表示,且标签体中不能包含JSP脚本片段。在doTag方法中调用getJspBody().invoke()方法执行JspFragment中包含的内容,并把它输出到某个Writer中。想想如何修改简单标签体中的内容后再输出呢?将标签体先输出到StringWriter中,再从StringWriter中取出内容进行修改,最后输出修改后的内容。

在doTag方法中抛出SkipPageException异常,就可以结束页面后面部分的执行。

<jsp:attribute></jsp:attribute>标签中的内容也是用JSPFragment来表示的。

对于Servlet 2.3规范,<taglib>元素在web.xml文件中的情况是:<web-app><tag-lib></tag-lib></web-app>;对于Servlet 2.4规范,<taglib>元素在web.xml文件中的情况是:<web-app><jsp-config><tag-lib></tag-lib><jsp-config></web-app>。

如何将自定义标签处理类及相关的支持类打包成jar文件对外发布,标签库描述符文件(tld)文件也应该连同打包到jar文件中,其位置应该放置在jar包中的META-INF目录及其子目录中。

接着讲解了java web中的listener和Spring中提供的ContextLoaderListener的功能原理。

冯伟立实验发现的一个问题:在common-logging包中有两个jar文件,一个是commons-logging-api-1.1.jar,一个是common-logging-1.1.jar。在项目中要用后者,如果用前者的话,将总是调用JDK标准的Log工具。
冯伟立自己做了一个digester小练习,有如下一些经验问题:
d.addObjectCreate方法表示遇到标签开始创建对象,d.addCallMethod方法表示遇到标签结束调用方法。d.addSetNext表示遇到标签结束时调用栈中的第二个对象的方法,并将当前的对象作为参数传递给该方法。栈顶的对象是什么时候出栈的呢?以后问问梁言兵老师。估计是遇到对象对应的结束标签就出栈,与程序代码的编写顺序无关。

张艳青发现IE浏览器中的一个JavaScript问题:
<div id="ok">ok</div>
<input name="submit" value="...">
得到div对象后,再调用其nextSibling方法,可以得到<input>对象。
<input name="submit" value="...">
<div id="ok">ok</div>
得到<input>对象后,再调用其nextSibling方法,无法得到<div>对象,得到的是一个代表回车换行的对象。

小技巧:
    在eclipse中直接在某个类后面编写其实现的接口,然后按CTRL+1,即可生成接口中定义的方法。

转载于:https://www.cnblogs.com/javaEEspring/archive/2006/11/11/2522976.html

11月7日简单标签与Listener培训日记相关推荐

  1. 如何利用大数据做金融风控? 原创 2016年11月24日 17:42:03 标签: 大数据 / 金融 / 风控 1594 导语:如何通过海量数据与欺诈风险进行博弈? 随着金融科技、科技金融等概念的

    如何利用大数据做金融风控? 原创 2016年11月24日 17:42:03 标签: 大数据 / 金融 / 风控 1594 导语:如何通过海量数据与欺诈风险进行博弈? 随着金融科技.科技金融等概念的热起 ...

  2. The Wide and Deep Learning Model(译文+Tensorlfow源码解析) 原创 2017年11月03日 22:14:47 标签: 深度学习 / 谷歌 / tensorf

    The Wide and Deep Learning Model(译文+Tensorlfow源码解析) 原创 2017年11月03日 22:14:47 标签: 深度学习 / 谷歌 / tensorfl ...

  3. 11月25日科技资讯|网易回应裁撤生病员工:确实存在简单粗暴不近人情行为

    「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧.扫描上方二维码进入 CSDN App 可以收听御姐萌妹 Sty ...

  4. python编程入门与案例详解-quot;Python小屋”免费资源汇总(截至2018年11月28日)...

    原标题:"Python小屋"免费资源汇总(截至2018年11月28日) 为方便广大Python爱好者查阅和学习,特整理汇总微信公众号"Python小屋"开通29 ...

  5. 2014年11月3日至2014年12月29日

    2014年11月3日 1.在MyEclipse中运行写好的MapReducer,抛出: 2014-11-0310:59:24,729 WARN [main] util.NativeCodeLoader ...

  6. 【历史上的今天】11 月 24 日:美国在线收购网景;太阳能光伏之父出生;HTML 2.0 发布

    整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来. 今天是 2022 年 11 月 24 日,在 1859 年的今天,达尔文<物种起源>第一版发行,共 1250 ...

  7. 面试经历---YY欢聚时代(2015年11月21日上午初试、25日下午复试)

    YY欢聚时代一年多前去面试过一次,当时鄙视了,在现在的公司呆了1年半了,感觉做得很不爽,而且薪资又不满意,所以想找个新工作,就想去YY面试. 下面将两次YY面试的经历写出来,包括一次初试和一次复试的面 ...

  8. 分享Silverlight/WPF/Windows Phone一周学习导读(10月30日-11月6日)

    分享Silverlight/WPF/Windows Phone一周学习导读(10月30日-11月6日) 本周Silverlight学习资源更新 Silverlight 定位 niejunhua [学习 ...

  9. 11月15日BCH协议升级提案又双叒啜来了,请查收!

    ​​BCH告别了5月的纷扰,迎来了新的篇章.对于BCH来说,一年中有两件大事,一是5月15日的升级,二是11月15日的升级.上半年的网络升级已经顺利完成并告一段落,下半年的升级工作正在被BCH开发者写 ...

  10. 学习笔记(11月03日)

    三周五次课(11月3日) 1.生成式和生成器 1.1列表生成式是python受欢迎的语法之一,通过一句简洁的语法就可以对一组元素进行过滤,还可以对得到的元素进行转换处理. 语法格式为: [exp fo ...

最新文章

  1. 重磅!明略发布数据中台战略和三大解决方案
  2. Python Numpy中返回下标操作函数-节约时间的利器
  3. tensorflow_yolo-v3 Intel Realsense 视频流处理模块 opencv.videocapture()
  4. 目标检测一卷到底之后,终于又有人给它挖了个新坑|CVPR2021 Oral
  5. procyon java8_java jdk 8反编译工具JD-GUI、procyon-decompiler、luyten、crf下载使用简介
  6. mysql修改表的备注信息_修改mysql 数据库的 表的列的备注信息
  7. linux 创建临时文件目录 mktemp 命令(创建随机名临时文件)
  8. sql truncate_SQL Truncate和SQL Delete语句的内部
  9. python123下载失败_安装python3.5时出现严重错误无法完成安装,请问这个是什么情况?怎么解决??...
  10. python水仙花数的代码_Python水仙花数的编程代码写法
  11. 『Java面经』简述 Java 的反射机制及其应用场景
  12. 时间序列预测在R中的应用 (Part1 简介和预测工具集)
  13. 支撑向量机作业(SVM)
  14. 微信公众号一次性订阅消息
  15. Flightmare: A Flexible Quadrotor Simulator 无人机仿真器
  16. 酉变换 matlab,数字图像处理:原理与实践(MATLAB版)
  17. 这些能够实现图片翻译成文字的软件,你确定不来看看吗?
  18. 古代密码学破解方式-频率分析法
  19. [Sdoi2010]地精部落
  20. QTP简易框架(GN0.1)编写小结

热门文章

  1. 爬虫python漏洞群_『Python』 爬取 WooYun 论坛所有漏洞条目的相关信息
  2. GNOME Screencaster 将支持 Miracast P2P 传输
  3. Linux C 实现改变输出字的颜色。
  4. oracle生成测试数据的简单方法
  5. ERROR - ORA-12560: TNS:protocol adapter error
  6. HTTP 应用层过滤的兼容性问题及解决方案
  7. 杜拉拉升职记摘录:早日实现退休理想--你需要眼光和资格
  8. Python中将字典保存为文件并读取
  9. Linux如何查找软件的安装位置
  10. JAVA求n个数里最小的k个_n个数 找到最小的k个数 几种解法 和java实现