当前位置: 首页 > news >正文

10月16日培训日记

讲解了RequestDispatcher.forward方法实现请求跳转,其常见于MVC模式的WEB开发中。
通过一个情景故事讲解了什么是MVC模式和MVC模式的好处,Servlet完全业务处理,jsp完成页面显示,Servlet将jsp显示时要用到的数据放在哪呢?Servlet处理完成后通过什么样的方式将剩余的处理工作交给jsp呢?MVC模式的好处是牵一发而不用动全身。
Servlet可以将数据存储在三个地方:ServletContext,Session,Request。由这三者的区别讲解了购物车。所谓购物车,就是保存在Session中的一个容器对象。
登陆出错时的标准处理方式,forward相对路径的问题:a跳转到b,b页面内容中的相对路径将是相对于a,而不是相对b,怎么解决foward相对路径的问题?不管浏览器地址栏中的地址怎样改变,<base>让当前网页中的相对路径总是固定。
forward后面的代码是否会执行?如果想让一个方法调用后面的代码不执行,怎么办?抛出异常!

用PrintWriter对象进行输出时,输出的数据源必须是字符串,如果用PrintWriter方法输出一个文件内容,那就要把硬盘文件内容先以字符串的形式读取到内存中来。缺省Servlet在这种情况下是如何进行输入与输出的,冯伟立在这画了一个很好的总结图:某种字符编码的文件--(fileEncoding参数)-->内存中的Unicode编码字符串--(PrintWriter对象使用的输出码)-->某种字符编码的输出流。

forward方法是引擎提供的,所以,Servlet调用forward就是在给引擎回话,告诉Servlet引擎去做什么事。

forward请求转发的执行流程,foward应用中的更多细节问题。

sendRedirect请求重定向的运行原理,sendRedirect请求重新定向与forward请求转发的比较。魏奕东提问:“如果两个程序互相sendDirect,情况会怎样?”我回答是死循环,由此又给大家讲解了两个邮箱都设置自动回信时所出现的循环问题,增长大家的见识。
讲解了缺省Servlet的缓存问题。
接着为大家讲解了如何配置Tomcat,让其支持SSL协议。
首先介绍非对称的公钥/私钥加密,和对称的私钥加密,对称加密的优点和作用,非对称加密的优点和作用。
在非对称加密中,持公钥者向对方发送加密数据,持私钥者可用于身份认证。MD5与公钥/私钥结合形成的数字签名,数字证书等等。
SSL协议与TLS协议,TLS是SSL的升级替代。看Tomcat中文档SSL的介绍和JDK中的keytool的介绍。
keystore用于存储key和证书,key和证书有一个名字,称为别名,每个别名有一个密码。keystore本身也有一个密码来保护它。我课堂上的比喻是抽屉与抽屉中的笔记本。
1.客户端向服务器发送自身的一些SSL/TLS信息
2.服务器回送自己的证书
3.浏览器验证后,并比较证书的用户名与服务器名是否相同(仅作为一条提示信息,为了让此通过,在使用keytool时,当提示用户名时,应输入服务器的名称)。用服务器证书上的公钥加密一个随机数,客户端与服务器以后都用这个随数产生一个私钥,这个私钥加密双方传输的数据。

SSL是一个双向过程,服务器和浏览器送出去的所有数据都要加密。
WEB服务器的数字证书是与IP地址绑定,即每一个IP都需要一个数字证书。数字证书上还描述了公司名称,管理员的联系信息等附属内容。数字证书中有其属主的加密签名,所以,很难被人模仿。
配置Tomcat的安全连接器时,先讲解清楚了Tomcat的体系结构。

做了一下使用hibernate访问Oracle数据库的实验,起到复习hibernate和学习连接Oracle的效果。
在客户机上使用sql plus连接Oracle时,在客户机上必须使用net manager配置描述符(要注意单击保存按钮,郁闷!)
在配置文件中增加实体时的一个问题:
<mapping resource="cn/itcast/Student.hbm.xml"/>中的cn前不能有斜杠

<session-factory>设置name属性时,报告JNDI异常,怎么解决?在这种情况下,要将hibernate放置于支持JNDI的容器环境中。

讲解了hibernate.hbm2ddl.auto属性的三个设置值的区别:create、create-drop、update。


相关文章:

  • AppStore上发布应用,当天就过审了
  • 生榴莲的处理办法
  • [技术评论]龙芯电脑
  • window 远程登陆
  • 终于知到X.509、H.263等名字的来历了
  • China-Pub和Dearbook 谁的销售更厉害?
  • view controller 屏幕旋转的总结
  • 强制旋转UIAlertView
  • 我被中国计算机教育的现实打败了
  • Unable to simultaneously satisfy constraints
  • 将Java包程序转换为Exe可执行文件
  • UIApplication openURL tel 在不同iOS版本上的表现实测
  • 《Selling - Building Partnerships》- 用交流性原则来建立关系
  • 为什么NSArray和NSDictionary中不能存放int、float、bool等基本类型
  • 《Selling - Building Partnerships》- 寻找客户
  • JavaScript 如何正确处理 Unicode 编码问题!
  • [译]如何构建服务器端web组件,为何要构建?
  • 【162天】黑马程序员27天视频学习笔记【Day02-上】
  • input实现文字超出省略号功能
  • nginx(二):进阶配置介绍--rewrite用法,压缩,https虚拟主机等
  • React 快速上手 - 07 前端路由 react-router
  • Vue小说阅读器(仿追书神器)
  • 电商搜索引擎的架构设计和性能优化
  • 二维平面内的碰撞检测【一】
  • 高性能JavaScript阅读简记(三)
  • 构建工具 - 收藏集 - 掘金
  • 紧急通知:《观止-微软》请在经管柜购买!
  • 力扣(LeetCode)357
  • 悄悄地说一个bug
  • 微信小程序实战练习(仿五洲到家微信版)
  • 线上 python http server profile 实践
  • 最近的计划
  • 3月7日云栖精选夜读 | RSA 2019安全大会:企业资产管理成行业新风向标,云上安全占绝对优势 ...
  • 第二十章:异步和文件I/O.(二十三)
  • 扩展资源服务器解决oauth2 性能瓶颈
  • 如何在招聘中考核.NET架构师
  • ![CDATA[ ]] 是什么东东
  • # 飞书APP集成平台-数字化落地
  • #pragma pack(1)
  • $GOPATH/go.mod exists but should not goland
  • (07)Hive——窗口函数详解
  • (11)MATLAB PCA+SVM 人脸识别
  • (SpringBoot)第七章:SpringBoot日志文件
  • (二十一)devops持续集成开发——使用jenkins的Docker Pipeline插件完成docker项目的pipeline流水线发布
  • (附源码)基于ssm的模具配件账单管理系统 毕业设计 081848
  • (蓝桥杯每日一题)love
  • .gitignore文件---让git自动忽略指定文件
  • .net core 6 使用注解自动注入实例,无需构造注入 autowrite4net
  • .so文件(linux系统)
  • /dev/sda2 is mounted; will not make a filesystem here!
  • /etc/sudoer文件配置简析
  • /run/containerd/containerd.sock connect: connection refused
  • @Autowired自动装配
  • @DateTimeFormat 和 @JsonFormat 注解详解
  • [52PJ] Java面向对象笔记(转自52 1510988116)