JavaEE重点知识总结概括经典.docx
- 文档编号:24119194
- 上传时间:2023-05-24
- 格式:DOCX
- 页数:33
- 大小:31.22KB
JavaEE重点知识总结概括经典.docx
《JavaEE重点知识总结概括经典.docx》由会员分享,可在线阅读,更多相关《JavaEE重点知识总结概括经典.docx(33页珍藏版)》请在冰豆网上搜索。
JavaEE重点知识总结概括经典
JavaEE重点知识总结_概括(经典)
JSP/SERVLET/JAVABEAN
第一章JavaEE概述
Java平台的版本:
JavaSE:
窗体、控制台应用程序
JavaME:
嵌入式开发——手机、移动设备
JavaEE:
WebApplication
JavaEE的体系结构:
1、表示层(HTML、JavaScript、Ajax)
2、中间层(JSP、Servlet、JSTL、JavaBean)(Struts)
3、数据层(JDBC)(Hibernate)
三层体系结构的优点:
1、耦合性低2、扩展性好3、重用性好4、便于分工
系统集成技术
1、JAX-WS2、JNDI
HTTP协议的提交方式
1、GET——用URL传递数据
2、POST——用流的方式传递数据
GET和POST的区别:
1、GET方式在地址栏中有数据显示,POST没有
2、GET提交的数据量有限,POST没有
3、GET请求的页面可以设置为书签或通过EMAIL发送,POST不行
第二章Servlet基础
什么是Servlet:
Servlet是一个Java程序,是在服务器端运行的以处理客户端请求并做出响应的程序。
Servlet类一定要继承HttpServlet,Servlet必须和Servlet容器配合运行,Servlet要嵌入容器才能运行。
Web应用程序的结构:
tomcat-webapps-appName:
http:
//ip:
port/appName/index.jsp
1、页面和图片(可以自己组织结构,可以从客户端直接访问,jsp、html、js、jpg……)
2、WEB-INF目录(必须的,其中的东西不能从客户端直接访问)
a、web.xml(必须的,这个Web程序的总体的配置,是一个核心)
b、classes文件夹(必须的,Servlet和JavaBean编译成Class后存放于该文件夹)
c、lib文件夹(存放该程序用到的类库Jar包)
Web.XML中要对Servlet进行一些配置
doPost
doGet
service
JSP在运行时需要翻译成一个Servlet程序,然后在编译成Class文件,然后才可以运行。
Servlet的生命周期由Servlet容器来管理
Servlet的生命周期:
1、加载和实例化(构造方法):
在Web容器中查找用户请求的Servlet,如果没有找到,则实例化,如果找到加载。
2、初始化(init):
在实例化后调用的方法,可以初始化一些资源。
3、服务(service):
接收请求并做出响应。
根据请求的方式不同,调用doXXX方法。
4、销毁(destory):
主要用来销毁初始化时创建的资源,在destory方法中我们标识那些资源可以回收,并不能马上回收。
加载——实例化——初始化——服务——
加载——服务——
加载——服务——
销毁
HttpServlet——基类
MyServlet——派生类
HttpServletms=Class.forname("org.owl.MyServlet").getInstance();
容器使用Servlet的伪代码
HttpServlets=container.getServlet("name");——加载
if(s==null){
s=Class.forname("org.owl.MyServlet").getInstance();——实例化
s.init();——初始化
container.setServlet("name",s);
}
s.service(request,response);——服务
.s.destory();——销毁
s=null;
HttpServletRequest常用方法:
getParameter方法:
获得页面传过来的数据
setCharacterEncoding方法:
设置请求的编码字符集
setAttribute,getAttribute方法:
用于在request中存储一些信息,他们的生命周期就是一个请求的期间。
getRequestDispatcher方法:
用于获得一个RequestDispatcher对象,应用于请求转发。
HttpServletResponse常用方法:
setContentType方法:
设置响应的字符集和格式
sendRedirect方法:
重定向。
getWriter方法:
获得向客户端输出字符信息的对象。
RequestDispatcher常用方法
forward方法:
请求转发
include方法:
服务器端包含
重定向:
客户端发送请求到服务器端,如果服务器端需要重定向,那么将需要重定向到的地址发送给客户端,
客户端再向该地址提出请求。
请求转发:
客户端发送请求到服务器端,如果服务器端需要请求转发,那么服务器端直接把请求传送给另一个servlet或jsp,由其向客户端返回响应。
请求转发(request.getRequestDispacther("1.jsp").forword(request,response))
与重定向(response.sendRedirect("1.jsp"))的区别
1、重定向地址栏地址改变,请求转发不变;
2、重定向可以跳转到站外页面,请求转发不能;
3、重定向不能保存request中的数据,请求转发可以。
第三章基于Servlet的会话跟踪
(一)
HTTP协议无状态
Session指的是在一段时间内,单个客户与Web服务器之间一连串相关的交互过程
Session是通过SessionID来确认是否是一个session过程
Session是一个HttpSession类的实例。
通过request的getSession方法来获取Session
无参数的方法和参数是true方法是一样的,获取匹配的Session,如果无匹配,返回一个新的Session对象。
如果参数是false的话,如果无匹配的Session,返回null
使用Session
利用其setAttribute设置session,使用其getAttribute方法来获取session中的内容。
结束一个Session
1、关闭浏览器
2、当两次访问的时间超过了Session的最大非活动时间间隔
3、调用Session的invalidate方法使一个Session无效
由于Session的易失性,在获取数据后要进行判断。
第四章基于Servlet的会话跟踪
(二)
常用的集合类和接口
集合类分为两种:
1、Collection(单一元素的集合)
2、Map(键值对的集合)
Collection
1、List(有序、元素可以重复)——ArrayList、LinkedList
2、Set(无序、元素不能重复)——HashSet、TreeSet
Map——HashMap、Properties
第五章基于Servlet的MVC设计模式
设计模式使一套被反复使用,成功的代码设计经验的总结。
MVC设计模式
1、M(Model)模型:
JavaBean
2、V(View)视图:
JSP
3、C(Controller)控制器:
Servlet
优点:
1、各施其职、互不干涉
2、有利于开发中的分工
3、有利于组件的重用
客户端提交请求到C,C获取客户端数据,根据不同的请求调用不同的M,并获得M的结果,根据结果的不同,选择不同的V,V将结果显示给客户端。
V:
显示数据,与客户端交互
C:
获取客户端数据;调用M;选择V
M:
业务逻辑;数据库访问
第六章Model层开发:
高级JDBC
我们需要什么样的数据访问层:
1、完成CRUD操作
2、能够处理数据库发生的各种错误(自定义异常)
3、可以灵活的修改配置(配置文件)
4、提供方便使用的工具(通用DAO)
5、高性能(数据库连接池)
连接池:
一个存放着很多连接的容器。
数据源:
对容器进行管理的对象
JNDI:
获取数据源的方式
在Tomcat中配置连接池并使用:
1、将驱动Jar放入Tomcat中的lib目录(如果是5.0的话,放入tomcat中的common中的lib目录);
2、修改Tomcat中conf目录中的context.xml配置文件,加入一个Resource标签。
3、在自己项目中的Web.xml中配置Resource-ref标签
4、编写程序,获取数据源
importjavax.naming.*;
Contextctx=newInitialContext();
DataSourceds=(DataSource)ctx.lookUp("java:
comp/env/jdbc/book");
Connectioncn=ds.getConnection();
如果JNDI名字是jdbc/book
lookUp方法中的名字应写成:
java:
comp/env/jdbc/book
属性文件:
*.properties
因为Java中有一个类Properties可以用这个类的load方法直接读取*.properties文件。
属性文件如何存储:
键值对的方式,key=value
一行一个键值对
publicclassSss{
privatestaticSssss=null;
privateSss(){
}
privatesynvoidInit(){
if(ss==null)
ss=newSss();
}
publicstaticSssgetInstance(){
Init();
returnss;
}
}
Sssss=Sss.getInstance();
自定义异常:
所有的异常的父类:
Throwable
Exception就是Throwable的子类
throw关键字用于抛出异常,throws关键字用于将方法中的异常传递给调用类来处理。
自定义异常可以让我们更方便的看懂异常信息
通用DAO类
Result相当于C#中的DataTable
ResultSupport相当于C#中的DataAdapter
第七章View层开发:
JavaBean在JSP中的使用
JavaBean实际上就是一个Java类
1、封装数据
2、封装业务
JavaBean要满足的要求:
1、公有类,公有的无参的构造方法
2、属性私有(field)
3、公有的Getter和Setter方法。
属性,特性(property)
根据Getter和Setter方法来的
1、将Getter和Setter方法中的get和set去掉,剩下的部分首字母变为小写
例如,getName,setName,属性名为name
2、如果剩下的部分前两个字母都是大写,那么首字母不变为小写
例如,getUName,setUName,属性名为UName
JSP标准动作
1、useBean:
( useBean/>): 获取或者创建JavaBean对象 id必须有的,代表JavaBean的变量名 class一个类型,新创建出来的JavaBean的数据类型 type一个类型,获取对象以后将其转换为那种类型 scope作用域,可选的参数,默认值是page class和type必须得有一个,不能都没有,但是可以都有,type和class可以不一样,type指定的类型一定是class指定的类型的父类或者其实现的接口。 scope有四个值: 从小到大——page,request,session,application useBeanid="test"class="org.owl.User"scope="session"/> Usertest=(User)session.getAttribute("test"); if(test==null){ test=newUser(); session.setAttribute("test",test); } useBeanid="test"type="org.owl.Person"scope="session"/> Persontest=(Person)session.getAttribute("test"); if(test==null)thrownewException(); useBeanid="test"type="org.owl.Person"class="org.owl.User"scope="session"/> Persontest=(Person)session.getAttribute("test"); if(test==null){ test=newUser(); session.setAttribute("test",test); } 2、setProperty: 给JavaBean对象的属性赋值。 name必须有,对应的是JavaBean的名称,(例如useBean标签的id属性的值) property必须有,指定的JavaBean的属性(property)名称 value给属性赋的值 param上一页表单的表单元素的名字 不使用useBean的时候,也可以使用setProperty value属性和param属性不可以同时出现,要么只能出现一个,或者一个也不出现。 都不出现时,只要上一页表单元素的名称和属性名称正好相同,那么可以自动给属性赋值。 还可以给property属性赋值为*,那么就会将上一页所有的与JavaBean属性名称相同的表单元素的值赋给JavaBean相对应的属性。 setPropertyname="test"property="name"value="tom"/> test.setName("tom"); setPropertyname="test"property="name"param="userName"/> test.setName(request.getParameter("userName")); setPropertyname="test"property="name"/> test.setName(request.getParameter("name")); setPropertyname="test"property="*"/> 3、getProperty: 获取指定JavaBean的某个属性的值并输出 name必须有 property必须有 如果property指定的属性的值是null,会输出null 如果name指定的对象的值是null,会抛出异常 4、forward: 请求转发 page: 转发到的页面地址 ModelIJSP+JAVABEAN中小型项目 ModelIIJSP+JAVABEAN+SERVLET大型项目 第八章View层开发: EL和JSTL JSP2.0版本开始 语法: ${表达式} 点号操作符,中括号操作符 中括号操作符可以替换点号操作符,但是反之不可以 ${bean.name}等价于${bean["name"]} ${beans[0]},${beans["0"]} EL的隐式对象 作用域: pageScope requestScope sessionScope applicationScope 参数访问: param paramValues JSP隐式对象: pageContext ${param.name} ${paramValues[0]} JSTL——JSP标准标签库 非常好的支持EL,或者说没有EL,JSTL不能正常运作 标签描述文件——扩展名tld 要使用必须在页面上面添加taglib指令 <%@tagliburi=""prefix=""%> 核心标签库(默认的前缀是c) 通用标签 set获取或者创建JavaBean var变量名 value值(EL) scope作用域 remove删除JavaBean对象 var变量名 scope作用域 out输出一个值 value输出的值(EL) 条件标签 if条件分支 test布尔类型的值(EL),当test的值是true的时候运行标签体中的代码 var变量名 scope作用域 迭代标签 foreach迭代循环 var变量名(迭代变量) items集合(EL) varStatus循环状态变量(属性: index——从零开始,count——从1开始) start开始索引 end结束索引 step步长 SQL标签库(默认的前缀是sql) setDataSource创建或者获取数据源 update增删改 query查询 param是update和query的子标签,用于给其中的sql语句设置参数 第九章Web服务 Web服务是为实现“基于Web无缝集成”的目标而提出的全新概念,希望通过Web服务能够实现不同的系统之间的相互调用,从而实现系统集成的平台无关性、语言无关性。 Web服务是一个应用程序,它为调用者提供一个能够通过Web进行调用的API。 Web服务应用的协议: HTTP、SMTP、TCP/IP 传输的数据格式: XML 数据格式限制协议: SOAP 让调用者知道如何访问发布的Web服务,描述方法: WSDL(方法名,方法参数,参数的数据类型,返回值,返回值的数据类型) 如何利用XFire创建Web服务 1、加入XFire的Jar包 2、在Web.xml中配置XFire 3、开发接口 4、开发实现类 5、编写services.xml 6、发布Web服务 7、调用Web服务 JUnit测试 测试类一定要继承或者间接继承TestCase类 测试方法一定要叫做testXXX 开发基于Struts/Spring/Hibernate/Ajax的网上信息发布平台 第一章框架技术概述 框架是一个提供了可重用的公共结构的半成品 框架的优点(为什么使用框架) 1、不用再考虑公共问题 2、可以专心在业务逻辑上 3、结构统一,便于学习和维护 4、新手也可以写出稳健、性能优良而且结构优美的高质量程序 第二章Struts原理 (一) 创建应用Struts的程序需要的步骤: 1、添加Struts支持(准备过程) 添加Struts的Jar包 在Web.xml中配置ActionServlet 在WEB-INF中添加Struts-Config.xml配置文件 2、编写业务逻辑 3、编写Struts组件 a、编写ActionForm(FormBean) ActionForm实际上对应的是表单,理论上有几个表单就有几个ActionForm FormBean的类一定要继承ActionForm这个类 要写与表单元素对应的属性,属性名称要与表单元素的名称一致 承担了一个将客户端传上来的数据封装起来的作用 b、编写Action(ActionBean) 是ActionServlet的扩展 所有的ActionBean的类都要继承Action这个类 要重写Action中的execute方法 参数: ActionMapping,ActionForm,HttpServletRequest,HttpServletResponse 返回值: ActionForward c、编写JSP d、配置Struts-config.xml 配置FormBean 在form-beans标签体中,配置form-bean标签 nameformbean的名称 typeformbean的完全限定名 配置ActionBean 在Action-Mappings标签中配置Action标签 path代表Action的访问路径,必须以/开头 typeActionBean的完全限定名 name与这个Action相关的FormBean的名称 scope相关的FormBean的存入的作用域 attribute相关的FormBean存入作用域时使用的名称 input表明由谁来访问此Action,主要作用是当出错时可以自动跳转到该路径,也必须以/开头 在Action标签中配置Forward标签 nameforward对象的名称 pathforward对象对应的路径,必须以/开头 4、调试运行 Struts包括三种组件 控制器组件: ActionServlet和自定义的Action 模型组件: 业务逻辑类和数据访问类 视图组件: JSP、ActionForm和Struts标签 运行原理: 客户端发送请求到ActionServlet(比如在web.xml中设置的url-pattern是*.do,那么所有的以.do结尾的请求都会发送给ActionServlet) ActionServlet将.do去掉获得请求的名称(如add.do的话,就取出add) ActionServlet将去struts-config.xml中查找所有的Action配置中path属性是/add的配置 然后ActionServlet取出该配置中的type属性,利用反射创建出该类对象,试图去调用其execute方法 execute方法有四个参数,要构建出来 创建ActionMapping: 将刚才找到Action配置转换成为一个ActionMapping的对象,包括配置中的Forward集合 创建ActionForm: 从该Action配置中找到name属性,取出其值,去所有的FormBean配置中查找name属性值相同的FormBean配置,然后取出其type属性,用反射创建该FormBean对象。 根据该FormBean的属性名称去request中取表单传过来的数据,并为其属性赋值。 这样就可以调用ActionBean的execute方法了 execute方法返回一个ActionForward对象。 (从ActionMapping的Forwards集合中利用forward的名称查找出来的) ActionServle
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JavaEE 重点 知识 总结 概括 经典