传智播客 Java web基础补充

来源:互联网 发布:中文编程语言 编辑:程序博客网 时间:2024/05/16 15:47

    在网络直播JAVA基础增强后,张老师继续讲解了java web方便的知识。由于前面已经写过很多java web方便的总结,所以这次只是对张老师网络课堂上讲解的知识点进行回顾,对有些前期没有做过的总结或者原来视频中没有的知识点进行总结。
    在网络课程中,先讲解了浏览器的两个功能:从远程获取内容和展现内容和Web服务器与大型网站的布局架构图,这些在前期视频中已经做过总结了。在关于Tomcat的讲解中,新的收获还是比较多的。第一个知识点是配置Tomcat,使用的压缩版的Tomcat,重点介startup.bat、catalina.bat、setclasspath.bat这些批处理文件,说明了Tomcat启动配置原理。需要了解的环境变量有catalina_home和java_home,值得注意的是startup.bat可以自己猜catalina_home,当然也不能完全猜测,只是改变目录,到上一级目录中去寻找而已。在讲解这个知识点的同时,顺便提到了Linux下的Tomcat安装问题。一个基本区别是linux的环境变量的名称时是分大小写的,path与classpath环境变量中的多个目录之间用:分隔,路径是/正斜杠。接着讲解了怎样检查tomcat的启动错误,这个在以前的视频基础上,又增加了一种方式:在命令行中使用catalina run,就不会打开一个子窗口,所有的错误就会显示在主窗口。还有一个经常遇到的错误就是端口被占用的情况,除了可以从启动错误信息中找到,还可以使用activeport来查看端口占用情况。接下来的几个知识点都是前期总结过的,在这里只是提及一下知识点:配置虚拟根目录和配置虚拟主目录、通过WEB-INF/web.xml文件来配置当前web应用、如何配置目录的默认首页、tomcat的体系架构和虚拟主机的配置。
    最后是一个以前视频中没有的知识,关于https服务器的配置问题。先了解一些基本的安全知识,例如数字摘要和MD5/SHA算法的作用是对数据的完整性进行校验,保证收到的发出的数据是一致的。接着是对称加密与非对称加密的区别,对称加密速度快,但加密和解密的钥匙必须相同,只有通信双方才能知道钥匙;非对称加密速度慢,加密和解密的钥匙不相同,某一个人持有私钥,任何人都可以知道公钥。最后一个关于安全的知识点就是数字签名和数字证书,网络传输必须能够验证内容没有修改,必须能够验证内容确实是被发送方签署。数字摘要可以验证内容没有修改,而数字签名就是用发送方的公钥来验证发送方签名的真实性,但这些公钥和私钥就必需由一些权威的机构产生,才具有可信性。而数字证书就用来提供这个功能的。
    有了以上知识,就可以实际配置HTTPS服务器了,HTTPS协议是建立在SSL/TLS协议的基础上的。所谓SSL(Secure Socket Layer)是netscape公司设计的主要用于web的安全传输协议。这种协议在WEB上获得了广泛的应用。而IETF将SSL作了标准化,即RFC2246,并将其称为TLS(Transport Layer Security),从技术上讲,TLS1.0与SSL3.0的差别非常微小。它们的基本原理是先非对称加密传递对称加密所要用的钥匙,然后双方用该钥匙对称加密和解米往来的数据。SSL的工作过程如下:
      1.浏览器向服务器发出请求,询问对方支持的对称加密算法和非对称加密算法;服务器回应自己支持的算法。
      2.浏览器选择双方都支持的加密算法,并请求服务器出示自己的证书;服务器回应自己的证书。
      3.浏览器随机产生一个用于本次会话的对称加密的钥匙,并使用服务器证书中附带的公钥对该钥匙进行加密后传递给服务器;服务器为本次会话保持该对称加密的钥匙。第三方不知道服务器的私钥,即使截获了数据也无法解密。非对称加密让任何浏览器都可以与服务器进行加密会话。
      4.浏览器使用对称加密的钥匙对请求消息加密后传送给服务器,服务器使用该对称加密的钥匙进行解密;服务器使用对称加密的钥匙对响应消息加密后传送给浏览器,浏览器使用该对称加密的钥匙进行解密。第三方不知道对称加密的钥匙,即使截获了数据也无法解密。对称加密提高了加密速度。
    了解原理后,最重要的当然是能动手配置成功了。这里需要解决的一个问题就是服务器端需安装数字证书,用户可能需要确认证书。当然不需要为了实验去权威机构买数字证书了,有一个方法是使用keytool创建或导入Web服务器所需要的证书。至于KeyStore,需要了解的是它能存储多个私钥和其附带的数字证书、存储信任的第三方数字证书。KeyStore中的每一个私钥和信任的第三方数字证书用一个alias进行标识。所以,配置总共分两步:
      1.修改server.xml文件,为Tomat增加一个支持SSL功能的连接器。Tomcat要支持这种链接方式,必须安装相应的Connector对象,实际操作就是取消其中对SSL连接器的注释,并根据安装的数字证书信息对一些参数进行调整即可。
      2.产生或获取证书并且让连接器使用证书。使用keytool为tomcat产生数字证书时,用户的姓名部分必须填写成tomcat服务器的主机名。在tomcat5.5中,没有keyalias选项来指定用哪个证书,在tomcat 6.x开始,就多了一个选项来指定所用证书的名称了。

原创粉丝点击