JavaEE知识点.docx

上传人:b****8 文档编号:9418882 上传时间:2023-05-19 格式:DOCX 页数:19 大小:23.52KB
下载 相关 举报
JavaEE知识点.docx_第1页
第1页 / 共19页
JavaEE知识点.docx_第2页
第2页 / 共19页
JavaEE知识点.docx_第3页
第3页 / 共19页
JavaEE知识点.docx_第4页
第4页 / 共19页
JavaEE知识点.docx_第5页
第5页 / 共19页
JavaEE知识点.docx_第6页
第6页 / 共19页
JavaEE知识点.docx_第7页
第7页 / 共19页
JavaEE知识点.docx_第8页
第8页 / 共19页
JavaEE知识点.docx_第9页
第9页 / 共19页
JavaEE知识点.docx_第10页
第10页 / 共19页
JavaEE知识点.docx_第11页
第11页 / 共19页
JavaEE知识点.docx_第12页
第12页 / 共19页
JavaEE知识点.docx_第13页
第13页 / 共19页
JavaEE知识点.docx_第14页
第14页 / 共19页
JavaEE知识点.docx_第15页
第15页 / 共19页
JavaEE知识点.docx_第16页
第16页 / 共19页
JavaEE知识点.docx_第17页
第17页 / 共19页
JavaEE知识点.docx_第18页
第18页 / 共19页
JavaEE知识点.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

JavaEE知识点.docx

《JavaEE知识点.docx》由会员分享,可在线阅读,更多相关《JavaEE知识点.docx(19页珍藏版)》请在冰点文库上搜索。

JavaEE知识点.docx

JavaEE知识点

第一讲:

JavaEE体系结构

1.JavaEE概念:

一种开发Internet企业级应用的规范

2.JavaEE组成:

(1)容器规范:

容器是运行JavaEE组件的环境

i.Web容器:

运行web组件;

ii.EJB容器:

运行EJB组件

iii.Applet容器:

运行Applet

iv.Applicationclient容器:

运行一般的Java类

(2)组件规范:

i.Web组件:

JSPServletFilterListenerJSF

ii.EJB组件:

实体EJB,会话EJB,消息EJB

iii.Applet组件:

iv.Applicationclient组件

(3)服务规范:

由组件调用

i.JDBC:

连接数据库

ii.JavaMail:

连接MailServer发送/接受E-mail

iii.JNDI:

连接命名服务系统或者目录服务系统

iv.JTA:

事物管理服务

v.JMS:

连接消息服务

(4)协议规范:

规定访问组件的通讯规范

i.HTTP:

访问web组件

ii.HTTPS:

安全协议

iii.RMI:

远程调用

iv.RMI-IIOP:

访问EJB组件

v.SOAP:

访问web服务

(5)开发角色的规范:

产品的提供者工具的提供者等。

第二讲Servlet编程

1.Servlet概念:

Servlet是一种JavaEE的web组件,以Java类的形式存放,以Web形式读取。

继承了HttpServlet类

2.引入的包:

java.io.*;javax.servlet.*;javax.servlet.http.*

3.Servlet配置:

在WEB-INF下得web.xml文件下

a)声明Servlet:

类名

—声明servlet的名字-->

包名.类名

—指定servlet的全名-->

b)声明servlet初始化参数:

参数名

参数值

注:

servlet声明初始化参数后,在servlet中的init方法中用config.getInitParameter(“参数名”)来取出初始化参数的值

c)servlet映射:

servlet名

映射地址

注:

1.声明servlet和其映射的时候要注意servlet名必须一致

2.映射地址分为绝对映射和模糊映射

绝对映射:

以”/”开头

模糊映射:

前置方式:

*.do或者*.action

后置方式:

”/*”或者”/目录/*”

注意区别联众映射的区别,声明一个servlet的映射的时候要么以“/”开头要么以“*”开头。

否则均视为映射声明错误

d)servlet的四种方法:

publicvoidinit(ServletConfigconfig)throwsServletException{

//声明servlet初始化

}

publicvoiddestroy(){

//servlet终止

}

publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{

//用Get方法传递参数时调用的方法

}

publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{

//用post方法传递参数时调用的方法

}

e)servlet生命周期:

从用户调用servlet开始到向应客户结束

第三讲:

Http请求处理编程

1.Http请求数据的组成:

a)请求头

i.客户端信息(浏览器信息,位置信息,cookie数据等)

ii.请求数据体信息(一下仅为主要的信息)

User-Agent:

客户端的类型

Accept:

浏览器可接受的MIME类型

Accept-Charset:

浏览器支持的字符编码

Accept-Encoding:

浏览器知道如何解码的数据编码类型

Accept-Language:

浏览器指定的语言

Connection:

是否使用持续连接

Content-Length:

使用post方法提交是,传递数据的字节数

Cookie:

保存的cookie对象

Host:

主机和端口

b)请求体:

包含提交到服务器的数据,只有post方法才有请求体,get请求的请求体包含在url中作为请求头的请求体

2.Http请求数据的类型:

文本和二进制

注:

当请求体数据是二进制的时候需引入解析二进制数据的第三方框架,例如:

apache的Commonfileupload,cos框架,JspSmartUpload同时客户端必须以post方式进行提交而且表单中要加入属性:

enctype=”multipart/form-data”

3.Http请求对象,实现HttpServletRequest接口(javax.servlet.http.HttpServletRequest)

a)声明周期:

每次Http请求时创建,当向应结束时销毁

b)请求对象的方法:

i.取得请求头的方法:

getHeader():

取得指定的请求头字符串类型的内容返回字符串类型

getIntHeader():

取得整数类型的指定内容返回整数类型

getDataHeader():

取得如期类型的指定请求头中得内容返回日期类型

getHeaderNames();取得所有请求头的列表,返回枚举类型

ii.取得请求体中包含的提交参数数据:

getParameter():

取得指定名称的参数数据

getParameterValues():

取得指定参数名称的数据数组

getParameterNames():

取得所有请求参数的名称

getParameterMap():

取得所有请求的参数名和值

getInputStream():

取得客户端提交的输入流。

iii.取得其他客户端信息:

getRemoteHost():

取得请求客户的主机名

getRemoteAddr():

取得请求客户的IP地址

getRemotePort():

取得请求客户的端口号

getProtocol():

取得请求协议

getContentType():

取得请求体内容的类型

getContentLength():

取得当请求提为二进制流时请求体的长度,多用于文件上传

iii.取得服务器端信息:

getServerName():

取得服务器的HOST,一般为IP

getServerPort():

取得服务器接收端口

iv.取得cookie

getCookies():

取得cookie数组

v.获取请求地址信息:

getRequestURL():

取得URL;

getRequestURI():

取得URI;

注:

url与uri的区别:

url指次文件在全球互联网的地址

uri指文件在站点下的地址

第四讲:

Http响应处理

1.Http响应内容:

a)响应状态:

状态码和状态信息组成

i.状态码:

1.1XX:

用于指定客户端应响应的某些动作

2.2XX:

用于表示请求成功;例如200表示完成

3.4XX:

用于指出客户端的错误;例如404表示请求的文档不存在

4.5XX:

用户支持服务器错误;一般指Java代码内部错误

b)响应头:

i.响应类型

ii.字符编码

iii.Cookie

c)响应体:

文本类型和二进制类型

常见的响应体类型:

扩展名

类型/子类型

扩展名

类型/子类型

*

Application/octet-stream

mp2

Video/mpeg

avi

Video/x-msvideo

Mp3

Audio/mpeg

Bmp

Image/bmp

Mpeg

Video/mpeg

Css

Text/css

Mpg

Video/mpeg

Doc

Application/msword

Pdf

Application/pdf

Dot

Application/msword

Pfx

Application/xpkcs12

Gif

Image/gif

Pgm

Image/x-portable-graymap

Htm

Text/html

pps

Application/vnd.ms-powerpoint

Html

Text/html

Ppt

Application/vnd.ms-powerpoint

Jpe

Image/jpeg

Txt

Text/plain

Jpeg

Image/jpeg

Xls

Application/vnd.ms-excel

Jpg

Image/jpeg

Xwd

Image/x-xwindowdump

Movie

Video/x-sgi-movie

Zip

Application/zip

2.JavaEE向应对象(javax.servlet.http.HttpServletResponse)

a)方法:

i.设置向应状态码

1.setStatus()向客户端发送自定义的状态码或者信息

2.sendError()向客户端发送指定的错误信息码

ii设置向应头

1.setHeader()将指定的名称和值(字符型或者整型常量)的响应头发送到客户端

2.setDataHeader()将指定的名称和值(long类型)的响应头发送到客户端

iii设置响应头的便捷方法

1.setContentType()直接设置向应内容类型MIME响应头

2.setContentLength()设置向应体长度,以字节为单位

3.setCharacterEncoding()设置向应字符集

4.setBufferSize()设置向应体的缓存字节数

iv设置向应体发送功能方法

1.setContentType()设置响应类型ContentType

2.setCharacterEncoding()设置向应字符编码

3.PrintWriterout=response.getWriter()取得文本字符流对象

4.out.println()向流对象发送文本数据

5.out.flush()清空流中缓存的字符

6.out.close()关闭流

7.addCookie()发送cookie到客户端

8.sendRedirect()重定向响应

9.InputStreamin=response.getInputStream()取得二进制流

第五讲会话跟踪编程

1.会话的概念:

客户端与服务器交互的过程

2.跟踪的概念:

服务器保存客户端信息的能力

注:

http是无状态协议,所以无跟踪能力

3.实现会话跟踪的技术:

a)重写URL:

将客户端信息附加在请求URL地址的参数中

i.缺点:

1.url地址过长

2.不同浏览器对url传递参数的限制

3.安全性缺陷

4.编程繁杂

b)隐藏表单字段:

将要保存的客户信息使用隐藏表单字段发送到服务器端

i.缺点:

1.安全性差

2.编程复杂

3.无法再超链接模式下工作

c)Cookie:

使用javaEEAPI提供的Cookie对象

i.CookieAPI(javax.servlet.http.Cookie)

1.Cookiecookie=newCookie(”attribute”,”value”)创建Cookie

2.Cookie的主要方法

a)getName()取得Cookie对象的名称

b)getValue()取得Cookie对象的值

c)getMaxAge()取得Cookie对象在客户端保存的有效期

d)getPath()取得Cookie对象的有效路径

e)getVersion()取得Cookie对象使用的协议版本

f)getDomian()取得Cookie对象的有效域

g)setValue()设置Cookie对象的新的有效值

h)setMaxAge()设置Cookie对象在客户端保存的有效期

i)setDomain()设置Cookie对象的访问域名

j)setPath()设置Cookie对象的有效目录

k)response.addCookie(cookie名)将cookie发送到客户端

ii.缺点:

1.Cookie存储方式单一

2.存储位置限制

3.Cookie大小受浏览器的限制

4.Cookie可用性的限制

5.安全性缺陷

d)HttpSession对象API

i.接口:

javax.servlet.http.HttpSession

ii.创建会话对象:

HttpSessionsession=request.getSession([Boolean])

1.参数为true:

有会话对象直接返回引用,无会话对象则先创建再返回引用

2.参数为false:

有会话对象直接返回引用,无会话对象则不会创建会话对象

iii.会话对象的方法:

1.setAttribute()设置存入会话对象的属性和值

2.getAttribute()取得存入会话对象的值

3.removeValues()删除会话对象中不需要的属性

4.getAttributeNames()取得会话对象中保存的所有属性名称列表,返回枚举类型的对象

5.setMaxInactiveInterval()设置会话对象的时效期限,以秒为单位

6.getMaxInactiveInterval()取得会话对象的时效期限,以秒为单位

7.invalidate()立即迫使会话对象失效

8.isNew()测试取得的会话对象是否是刚刚创建的返回值为boolean类型

9.getCreateTime()取得会话对象的创建时间,返回long类型的整数

10.getId()取得会话对象的ID

iv会话对象的生命周期:

a)创建:

i.第一次访问Jsp文件,同时不设置session属性

ii.第一次访问servlet有会话对象创建的方法

b)销毁:

i.会话对象的方法销毁

ii.访问超时

iii.Server关闭

v会话对象ID的存储

a)默认存储在cookie中

b)编程实现(url重写)

注:

此时的url重定向有两种方法:

1.自动重定向:

response.encodeRedirectURL(Stringurl)

2.超链接重定向:

重写url,进行封装

第六讲:

Web页面的跳转

1.重定向:

a)手动

i.地址栏输入地址

ii.超链接

iii.表单提交

c)自动:

response.sendRedirect();

2.转发:

web组件在服务器端直接跳转

a)实现:

javax.servlet.ResquestDispatcher

i.JSP:

forwardpage=””/>

ii.Servlet:

RequestDispatcherrs=request.getResquestDispacher();rs.forward(request,response);

3.转发与重定向的区别:

a)位置不同:

重定向是想在客户端,跳转实现在服务器端

b)请求次数不同:

重定向请求两次,跳转请求一次

c)共享不同:

重定向不能共享request,跳转可以共享request

d)速度不同:

重定向比跳转慢

e)访问外部url:

重定向可以访问外部url,跳转不可以访问外部url

第七讲ServletContext对象

1.servletContext对象是web级应用对象

2.ServletContext对象的方法:

a)Web级数据共享容器:

i.setAttribute()增加ServletContext对象中的属性和值

ii.getAttribute()取得ServletContext对象中的值

iii.removeAttribute()将指定的属性从ServletContext中删除

iv.getAttributeNames()取得所有属性的名称列表

b)读取web级初始化参数

i.Web级初始化参数的配置:

属性名

属性值

ii.Web组件取得web初始化参数

1.getInitParameter()取得初始化参数的值

2.getInitParameterNames()取得所有web初始参数名称列表

c)访问外部资源:

i.getRealPath()取得指定web目录或者文档的绝对目录地址

ii.gerResourceAsStream()以二进制字节流的类型返回指定的web资源

iii.getRequestDispatcher()取得指定web文档的转发对象

iv.getResource()返回指定Web资源的URL地址

v.getMimeType()返回指定文件的MIME类型

d)取得web应用的基本信息

i.getMajorVersion()取得Servlet容器API的主版本号

ii.getMinorVersion()取得Servlet容器的次版本号

iii.getServletInfo()取得web容器的名称和版本信息

e)web应用日志输出

i.log()

第八讲JavaEE过滤器编程

1.过滤器概念:

JavaEE过滤器能够对Http请求头和请求体在到达web服务器组件前进行预处理,同时对Http响应头和向应体在发送到客户端之前进行后处理操作

2.过滤器的功能:

a)登录检验

b)权限审核

c)数据验证

d)日志登记

e)数据压缩/解压缩

f)数据加密/解密

3.过滤器API

a)接口:

javax.servlet.Filter,javax.servlet.FilterChain,javax.servletConfig

b)必须包含三个方法init()dofilter()和destory()方法

c)FilterChain定义了一个dofilter()方法:

调用下级过滤器或者最终的请求资源

注:

过滤器编程时必须实现以上三种方法,缺一不可,doFilter()方法中的两个参数是ServletRequest和ServletResponse的对象

4.过滤器的配置

a)

过滤器名称

过滤器包名.类名

注:

在过滤器中也可以设置初始化参数方法与servlet相同

第十讲监听器

1.监听器的概念:

检测web容器对象ServletContext,Session,request的变化的Java对象

2.监听器的基本功能:

a)网站访问人数或次数计数器

b)网站登录用户人数和在线用户监测

c)日志记录

d)会话超时后的清理工作

3.监听器类型:

a)ServletContext对象监听器

i.接口:

javax.servlet.ServletContextListener

ii.事件类:

ServletContextEvent

iii.实现方法:

contextInitialized()和contextDestory()

b)ServletContext对象属性监听器

i.接口:

javax.servlet.ServletContextAttributeListener

ii.事件类:

ServletContextAttributeEvent

iii.实现方法:

attributeAdded(),attributeRemoved()和attributeReplaced()

c)会话对象监听器

i.接口:

javax.servlet.http.HttpSessionListener

ii.事件类:

HttpSessionEvent

iii.实现方法:

sessionCreated()和sessionDestoryed()

d)会话对象属性监听器

i.接口:

javax.servlet.http.HttpSessionAttributeListener

ii.事件类:

HttpSessionBindingEvent

iii.实现方法:

同ServletContext对象属性监听器的方法

e)请求对象监听器

i.接口:

javax.servler.ServletRequestListener

ii.事件类:

ServletRequestEvent

iii.实现方法:

requestInitialized()和requestDestroyed()

f)请求对象属性监听器

i.接口:

javax.servlet.ServletRequestAttributeListener

ii.事件类:

ServletRequestAttributeEvent

iii.实现方法同ServletContext对象属性监听器的方法

4.监听器的配置

包名.类名

第十一讲El和JSTL

1.EL:

表达式语言,应用于jsp2.0以后,代替Jsp文件中的脚本代码

2.EL语法:

${表达式}

注:

表达式可以是常量,变量,但是当表达式是变量的时候指的是scope对象的属性名

Scope对象:

pageContext,request,session,application,他们的访问顺序是自左向右

3.EL运算符:

a)算数运算

b)逻辑运算

c)空判断运算符(empty)

i.任意类型对象为null,返回true

ii.String类型对象为空字符串时,返回true

iii.数组类型对象无元素时,返回true

iv.容器类型对象无元素时,返回true

d)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2