JSP知识点总结

来源:互联网 发布:大数据十三五规划 编辑:程序博客网 时间:2024/05/17 21:07

第1部分    Servlet技术

     

(1)   Http是一个无状态协议,它使用端口发送和接收消息,80端口是为Http开放的。

(2)   Http请求消息使用GET或POST方法在Web上传输请求。GET方法传递的数据对客户端是可见的,查询字符串的长度是有长度限制的。POST方法发送数据对客户端不可见,且对发送的数据量没有限制。

(3)   基于Java技术的Web应用程序由Servlet、JSP页面、图像、HTML文件、JavaBean、Applet等组成。将Web应用程序文件打包成 .war文件,要求按特定的目录机构组织文件。目录层次演示:

http://127.0.0.1:8080/myroot

myroot                 顶层目录

——myhtm.html   静态文本

——myjsp.jsp       JSP页面文件

——WEB-INF      特定目录,不可引用

       ——classes   Web应用程序所需要的任何其它类都存储在该文件夹下

       ——lib           Web应用程荀所需的 .jar文件

       ——tags        .tag标签文件存放目录

       ——.tld         标记库描述符文件

       ——web.xml 应用程序部署描述符文件

(4)   Servlet是一个用Java编写的应用程序,在服务器上运行,处理请求的信息并将其发送到客户端。其生命周期为:实例化->初始化[init()]->服务[service()]->破坏[destroy()]->不可用。

(5)   Servlet是实现javax.servlet.Servlet接口的对象,大多数Servlet从GenericServlet或HttpServlet类扩展而来。ServletAPI包含于javax.servlet和javax.servlet.http两个包中。

(6)   javax.servlet包的主要接口和类:

a)     ServletInputStream类        用于从客户端读取二进制数据

b)    ServletOutputStream类     向客户端发送二进制数据

c)     GenericServlet类                     抽象类

d)    ServletRequest接口          用于封装客户向Servlet的请求信息

e)    ServletResponse接口              Servlet响应对象

f)     ServletContext接口           用于获取Servlet容器信息

g)    ServletConfig接口             Servlet初始化时Servlet容器传递给Servlet的配置信息

h)    Servlet接口                       定义所有Servlet必须实现的方法

(7)   javax.servlet.http包的主要接口和类:

a)     HttpServletRequest接口           扩展ServletRequest接口

b)    HttpServletResponse接口        扩展ServletResponse接口

c)     HttpSession接口                      用于标识客户端并存储有关客户端的信息

d)    HttpServlet类                           扩展GenericServlet类

e)    Cookie类                                  用户创建Cookie

(8)   会话跟踪的常用方法包括URL重写、隐藏表单域和使用Cookie等技术。

(9)   HttpServletRequest接口的getSession()和getSession(booleanvalue)方法用于创建会话,其中getSession(true)等同于getSession,当没有与当前请求关联的会话时,创建一个会话,而getSession(false)此时则会返回null。

(10) Servlet运行于一个称为ServletContext的环境,该环境描述了与Servlet关联的各种参数,一个Servlet只属于一个ServletContext。

(11) Servlet间通信的3种基本需求为:

a)     访问当前从Servlet加载的Servlet

b)    使用其它Servlet功能执行一项任务

c)     共享Servlet之间的状态信息

(12) JavaMail API用于发送和接收邮件,使用POP3或IMAP接收消息,使用SMTP发送消息。

(13) Javax.mail包中的类和接口:

a)     Message抽象类          email邮件消息模型

b)    Folder抽象类              用于管理email邮件,包含消息和自文件夹

c)     Store抽象类               提供对文件加的访问方法并验证连接

d)    Session类                  定义了用来与邮件系统进行通信的邮件会话

 

第2部分    JSP技术

      

(1)   JSP是一种Java服务器端技术,它用于在网页上显示动态内容。

(2)   JSP页面构成

a)     静态内容       HTML元素等

b)    指令              <%@ page language=”java”pageEncoding=”GBK” %>

c)     表达式           <%=”Hello World!” %>

d)    Scriptlet        <%out.println(“<h1> HelloWorld!</h1>”); %>

e)    声明              <%!public String welcome = “HelloWorld!”; %>

f)     动作              <jsp:include page=”/welcome.jsp”flush=”true” />

g)    注释              <%-- 这个注释客户端看不见 --%>

(3)   表达式、Scriptlet和声明都是JSP脚本元素。

(4)   JSP目前的指令有3种,即page、include、taglib。

(5)   JSP隐式对象:

a)     输入输出对象       request、response、out

b)    作用域通信对象    session、application、pageContext

c)     Servlet对象         page、config

d)    错误对象              exception

(6)   JavaBean是一个公共类,具有不带任何参数的公有构造函数,具有get()和set()方法。

(7)   JSP标准动作:<jsp:setProperty>、<jsp:getProperty>、<jsp:useBean>、<jsp:forword>、<jsp:include>

(8)   EL表达式可用于所有HTML和JSP标签中。其隐式对象包括:pageContext、request、param、paramValues、pageScope、requestScope、sessionScope、applicationScope

(9)   自定义标签在功能逻辑上与JavaBean类似,都封装Java代码;自定义标签时可重用的组件代码,JavaBean也是可重用的组件。

(10) 标签处理程序是JSP文件中自定义标签的实现代码,是一个运行时调用的Java类。它必须实现或扩展javax.servlet.jsp.tagext包中的类和接口。

(11) Javax.servlet.jsp.tagext包中的类:

a)     Tag接口                      定义了标签处理程序和JSP页面生成的Servlet之间的基本协议

b)    IterationTag接口         扩展了Tag接口,增加了一个控制重复处理标签主体的方法

c)     BodyTag接口              扩展了IterationTag接口,由需要对标签主体进行访问并能对其进行操作的标签处理程序使用

d)    TagSupport类             实现了Tag和InterationTag接口,支持简单标签和主体迭代

e)    BodyTagSupport类     实现BodyTag接口,扩展TagSupport类,支持需要访问和操纵标签的主体内容的标签

(12) 标签生命周期:

(13) 使用标签文件,不需要标签库描述符文件,且标签文件必须存放在WEB-INF/tags文件夹或其子目录中。

(14) JSTL提供4个主要的标签库:核心标签库、国际化(I18N)与格式化标签库、XML标签库以及SQL标签库。

(15) 核心标签库:

a)     通用标签:<c:set>、<c:remove>、<c:out>

b)    条件标签:<c:if>、<c:choose>

c)     迭代标签:<c:forEach>、<c:forTokens>

 

第3部分    过滤器的设计模式

 

(1)    过滤器是向Web应用程序的请求和响应处理添加功能的Web服务组件。过滤器必须实现javax.servlet.Filter接口。

(2)    过滤器生命周期:实例化à初始化[init()]à过滤[doFilter()]à销毁[destroy()]

(3)    过滤器API:

a)        Filter接口             在请求与响应之间执行过滤任务

b)       FilterChain接口    用于调用过滤链中的下一个过滤器

c)        FilterConfig接口   提供过滤器初始化

(4)    ModelII与ModelI的不同是将Servlet纳入架构中扮演前端Controller角色。

(5)    MVC将交互式应用程序组织成3个独立的模块

a)        应用程序模块       表示数据和业务逻辑

b)       数据表示              表示用户输入

c)        控制器                  控制流程