Servlet与JSP权威指南-读书笔记

来源:互联网 发布:v盾网络验证 编辑:程序博客网 时间:2024/05/21 17:20
Servlet与JSP权威指南-总结
 
Host:客户端指定自己想访问的WEB服务器的域名/IP 地址和端口号。
      例如:Host:rss.sina.com.cn
 
Connection:
请求:close(告诉WEB服务器或者代理服务器,在完成本次请求的响应后,断开连接,不要等待本次连接的后续请求了)。
      keepalive(告诉WEB服务器或者代理服务器,在完成本次请求的响应后,保持连接,等待本次连接的后续请求)。
响应:close(连接已经关闭)。
      keepalive(连接保持着,在等待本次连接的后续请求)。
PS: HTTP1.1中永久连接时默认的,除非在请求中Connection字段设为close;而HTTP1.0中只有Connection字段设为keepalive才是长连接;
Keep-Alive:如果浏览器请求保持连接,则该头部表明希望 WEB 服务器保持连接多长时间(秒)。
            例如:Keep-Alive:300

各协议所使用的端口
HTTP:80
FTP:21
SMTP:25
TELNET:23
 
?关于url编码,一般是浏览器代劳,如果直接通过servlet来写,则要进行encode
 
JSP注释
  1> 显示注释
     <!-- 显式注释 [ <%= 表达式 %> ] -->
     在显式注释中,注释部分可以使用表达式,因为显式注释会被JSP引擎解释; 在客户端
     HTML文件的源代码中生成同样的注释信息,但不会在HTML页面上显示
      如: <!-- 本文件的加载日期 <%= (new.java.util.Date()).toLocalString() %> -->
     在客户端HTML文件的源代码中生成如下注释:
          <!-- 本文件的加载日期 July 06,2007 -->
  2> 隐式注释
     <%-- JSP 隐式注释 --%>
     隐式注释和显式注释一样不能在JSP页面显示, 但是隐式注释不能在客户端HTML文件的
     源代码中生成同样的注释信息,也不能使用表达式;
 
用 <%! %>这个声明变量是全局变量 只要服务没有关闭 这个变量是一直存在的 而 <% %>声明的变量是当前页面的私有变量,如果刷新页面该或关闭页面后 这个变量就会重新初始
化。
 
JSP下动态INCLUDE与静态INCLUDE的区别分析:
动态INCLUDE
用jsp:include动作实现;它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。
静态INCLUDE
用include伪码实现,不会检查所含文件的变化,适用于包含静态页面;
===================================================================
1. 静态include的结果是把其他jsp引入当前jsp,两者合为一体; 动态include的结构是两者独立,直到输出时才合并( 看看jsp生成的java文件就可以知道了)
2.正是因为这样,动态include的jsp文件独立性很强,是一个单独的jsp文件,需要使用的对象,页面设置,都必须有自己创建,当然,还好它和include它的页面的request范围是一致的.
而静态include纯粹是把代码写在外面的一种共享方法,所有的变量都是可以和include它的主文件共享,两者高度紧密结合,不能有变量同名的冲突.而页面设置也可以借用主文件的.

JSP指令元素:page指令;include指令;taglib指令;
JSP动作元素:
<jsp:include>
<jsp:param>
<jsp:forward>
<jsp:plugin>
<jsp:useBean>
<jsp:setProperty>
<jsp:getProperty>
 
SSL:Secure Socket Layer安全套接层
 
servlet过滤器的执行顺序就是servlet过滤器在web.xml里面定义的顺序