一:关于Jsp的概念.
利用jsp开发web应用程序可以实现动态页面和 静态 页面的分离. 以及 数据 的 表示 和 处理 的分离.
html文件中 加入 jsp标记; 成员变量和方法(相当于类的成员和方法); java程序片(类似于main函数); java表达式
二:jsp的运行原理
第一次请求 a.jsp 的时候, tomcat服务器启动一个线程: 将jsp页面文件转为一个 java 文件. 然后编译这个 a.java文件为
a.class文件.然后把 a.class 文件加载到内存中. 响应客户请求.
三:jsp 标记
<%@ include file ="url" %> 在该指令出现的位置 静态 的嵌入一个文件.
<jsp:param name="" value=""> 用来向动态加载的页面传递必要的值
Tag文件 和 Tag标记: 通过编写tag文件实现代码复用。结构和jsp文件相同,区别在于扩展名。
tag文件只供jsp调用。用户不可以请求tag文件。
格式: <Tag fileName /> or
<Tag fileName>
param......
</Tag fileName>
要使用Tag ,必须使用<taglib>指令标记引入标记库
四:内置对像
http协议规定了信息在internet上的传输方法。特别规定了 浏览器与服务器的 交互 方法;(请求和响应协议!)
无状态协议:服务端不保存连接的有关信息。
request对像: 当用户请求jsp页面时,tomcat将用户的请求封装在 request 中。
response对像:对客户请求作出反应,向客户端发送数据。
contentType: 规定响应的MIME类型。 即 客户端用word,powerpoint ,musicPlayer 等的方式响应。
session:用户 首次 访问Web服务目录时,由tomcat产生一个session对象,并分配一个 唯一 ID;然后把这个ID发送给
客户机,存储在客户机的 cookie 中。 建立 服务器 和 客户机的 1:1 关系。
在用户 访问 x网站期间,session一直存在。直道连接断开或者主动销毁了session对像。
每个用户的 session 是不同的。
application对象:任何用户在 所访问目录 时,application是相同的。就是 多用户 共用一个application对象。直道服务器
关闭才销毁。
五:JSP 和 JAVABEAN
jsp页面通过使用 javaBean来实现 数据的 表示 和 处理 的 分离。相当于 一个工具放在工具箱里。需要时拿来用就行。
一个javaBean对象 由 ID(名字) 和 scope(作用范围)决定。
scope取值: page:tomcat分配给每个jsp页面的bean是不同的。就是每个页面一个对像(ID和scope相同):: 同用户和不同用户;
session: tomcat分配给每个jsp页面的bean是相同的。就是每个页面是同一个对像(ID和scope相同)::同用户。
对于不同用户:bean互不相同(ID和scope相同)。
request:只在当前页面内有效。当前页面执行完毕后,对象被销毁,内存被释放。
对于不同用户:bean互不相同(ID和scope相同)。
application: tomcat为所有 的jsp页面分配一个 共享 的bean。不同用户的 bean 也都是同一个。
六:文件的上传和下载
上传:
RandomAccessFile流的指向既可以作为源,也可以作为目的地。
可以设置指针位置(距离文件开头字节位置)。
下载: 只需让内置对象response调用方法setHeader,添加下载的 头 给客户的浏览器既可。浏览器在收到该头后就会打开响应
的下载对话框。
七:在Jsp中使用数据库。
使用预处理语句。
数据库操作原理: 当向数据库发送一个 SQL 语句时,数据库中的SQL解释器要将sql语句生成底层的内部命令,然后执行。
预处理语句是对sql语句的预先编译(解释);可以加快查询,降低数据库负担。
可以使用 通配符。
基于CachedRowSet分页显示记录:
statement查询结果resultSet对像和数据库连接对象实现了紧密的邦定,一旦连接对象被关闭,ResultSet对象
中的数据会立刻消失。
CachedRowSet可以看成resultSet的不依赖连接版本。
八:Java Servlet
javaservlet 技术就是在服务器端创建响应用户请求对像的技术,被创建的对像习惯上称为一个servlet对象。
jsp技术不是java servlet技术的全部,只是他的一个成功应用。
servlet类是HttpServlet的子类。
需要编写xml格式的部署文件。
servlet的工作原理:
1个servlet对应多个客户。为多个客户提供服务通过service()方法。每个客户都运行自己的service()
方法,互不干扰。
九:基于Servlet的MVC模式。
Model(模型):存储数据对象
View(视图):为模型提供数据显示的对象。
Control(控制器): 负责处理数据。根据视图提出的要求处理数据,并将结果存储到模型中。然后请求视图显示模型中的数据。
servlet创建javaBean对象。
1:request周期的javaBean。该javaBean只对servlet请求的jsp页面有效。
2:session周期的javaBean。只要用户的会话没有 结束,就一直存在。不同用户的ssesion生命周期的javabean是
互不相同的。
3:application周期的javabean.
只要用户的会话没有 结束,就一直存在。不同用户的ssesion生命周期的javabean是相同的。
2016/06/04 18:03