1.http协议的特点是无连接性。cookie的特点是:服务器可以向客户端写内容、只能是文本内容(不能使exe)、客户端可以阻止服务器写入、只能拿自己webapp写入的东西、Cookie分为两种属于窗口/子窗口(放在内存中的)和属于文本(有生命周期的)、一个servlet/jsp设置的Cookie能够被同一个路径下面或者子路径下面的servlet/jsp读到,
2.父路径的cookie子路径能够读取,子路径的cookie父路径不能读取。
3.由于cookie,客户端可以把它禁用或者删除,所以一定要不是核心业务逻辑才行,如果是核心业务逻辑的话,就要用session编程。session是在服务器端构建一个session对象,在session对象里面写入信息,往客户端的cookie里面写入一个ID号,当客户端连上服务器的时候,检验客户端与服务器端的ID号是否一致。相比于cookie,session可以在服务器端session里面写入很多东西。另外,session对于有父子关系的窗口,都是一个session,都能读取。
4.session总结:1.服务器的一块内存(存key-value),在web.xml里面有一个session-timeout标签,设置时间(单位是分钟)2.和客户端窗口对应(子窗口,独一无二)3.客户端向服务器端发送sessionID的时候两种方式:1.cookie(内存cookie)2.在禁用cookie的时候重写URL。
5.由于servlet都是公用一个对象,所以不要在servlet中设计成员变量,因为如果那样的话,就会用混。
6.servletcontext是与servlet的容器打交道的,它相当于一个更大的容器。对于不同的session都无所谓,都能够访问到这个容器。
7.JavaBean就是一个普通的类,只是有了一些额外的要求,sun希望组建可以实现随意拖拉。
8.JSP出现的目的就是把servlet里面的html标签等给省略,让java代码直接嵌入到html里面去让java代码和html代码混着写。JSP本身就是一个servlet,所以它拥有servlet的特性和优点。为了便于设计人员和美工、DreanmWeavor看懂,JSP的语法经历了几代:JSP传统语法->JSTL->JSF。使得JSP的语法变成标签的形式呈现。
9.<% ...%>在html里面的java语句块会从服务器端算好,然后拿回静态的数据传入html里面。不要写关于GUI的Java代码,因为GUI会在服务器端生成而不会在客户端生成。<%!%>里面的变量会生成成员变量,而<%%>会生成局部变量。servlet尽量要避免成员变量。
10.内置对象:out、request、response.<!-- -->即html的注释不能阻止JSP的代码运行,但是能够阻止它的显示。要搞清楚那些语句是在服务器端执行的,哪些代码是在客户端执行的,客户端执行的与服务器端执行的代码之间是不能通信的,即不能互相调用。一般是服务器端执行了之后以静态方式发到客户端上。
11.Directive,格式:<%@Directive 属性="属性值“%>,常见的包括page、include、taglib.<%@include file="fileURL"%>包含的页面是在JSP转换成servlet之前就把被包含的页面代码放在当前页面。尽量避免标签的重复;不能传参数;两个JSP被编译成一个统一的servlet;这两个页面访问的是同一个request对象;字符集要设置一样。
12.动态包含:<jsp:include page="url.jsp" flush="true"/>,与静态包含不同的是,它会分别产生两个文件,而不是像以前那样是一个文件。而且,可以传参数。被包含的页面可以取得包含页面的参数且可以添加自己的函数,即被包含的页面的范围比包含的范围大。
13.JavaBean:使用Java语言开发的一个可重用的组件。在JSP的开发中可以使用JavaBean减少重复代码,是整个JSP代码的开发更简洁。使用JavaBean与JSP搭配使用,在使用的时候直接调用就行。JavaBean本身是一个类,属于Java的面向对象编程。将HTML和JAVA代码分离也是为了日后维护的方便,如果将JAVA代码和HTML代码都写大JSP页面中,会是代码显得臃肿。还可以将常用到的组件写成一个JavaBean,日后不需要重复写只需要调用即可。
14.JavaBean的要求:1.所有的类必须放在一个包中,不能用裸体类;2.所有的类必须声明为public class;3.类中的所有属性必须封装,即使用private;4.封装的属性如果需要被外部操作,则用get方法和set方法;5一个javabean中至少存在一个无参构造方法。可以不写构造方法让系统自动提供一个默认构造方法。
15.JavaBean有几个名词:VO:值对象,存放所有的传递数据操作。POJO,简单Java对象;TO,传输对象,一个类必须实现Serializable接口才成为传输对象。
16.作为一个.java文件,现在的java程序编译成的.class文件需要放在哪里才能被使用呢?