java基础学习笔记(精选6篇)
java基础学习笔记 第1篇
千锋教育 精品课程 全程面授
Java基础学习心得笔记
对于很多只会C语言的初学者而言,面对java基础语法学习,反而感觉很难,其实其中最大的问题不是语法难,而是一种编程思想的转变。面向过程就是把你的代码封装成函数,然后依次去做一件事情,面向过程是把你要做的事情抽象成对象,告诉对象去做。所以要想学好java入门,必须知道类和对象的概念。
类是对生活中事物的抽象描述,比如人类,动物类,交通工具类;对象即是对类的具体实例化,比如张三是人,猫是动物,飞机是交通工具(对象-----类)。Java基础入门学习路线可以总结为四步走:
1.java开发环境的搭建;
2.java初级之基础语法学习(80%类似C语言);3.java中级之面向对象编程学习(重点); 4.java中级之应用编程学习。
第一步:JDK软件开发包时java软件开发环境,包括jre运行环境和jvm虚拟机,在oricle官网下载javaSE版本JDK包;配置好环境变量就可以使用了。
第二步:java初级语法学习,1.基本数据类型整形,字符型,字节型,长整形,短整形,浮点型,双精度,布尔型;
千锋教育-中国IT职业教育领先品牌
千锋教育 精品课程 全程面授
2.运算符+,-,*,/,%等; 3.控制流(while,switch,if else);4.数组的定义方式。
此阶段基本无难度,只要了解练习例题。
第三步:java面向对象学习,1.类和对象;
2.java语言三大特性,封装、继承、多态;
3.一些关键字学习(static,final,abstract,extends)等。这是重点,大家根据知识点一步步研究学习才是关键。
第四步:java应用编程,例如:文件IO,集合(类似C语言数据结构),异常处理,线程,网络,JDBC数据库操作等,都是掌握面向对象以后,在查找不同的类使用类中不同的方法达到应用的效果,所以并不会很难。等基础语法掌握了就可以继续后面框架学习(java web方向,android学习),相信明确思路你会豁然开朗,更有学习动力。
以上没有具体的实例和知识点讲解,分享的只是完全没接触过java的初学者自学java的思路和学习的流程,应该把握的重点,希望大家有所帮助。
如果你想学好Java,找一家靠谱的培训机构,能让你的学习事半功倍。
千锋教育-中国IT职业教育领先品牌
千锋教育 精品课程 全程面授
千锋教育的Java培训对互联网的历程及发展有着极为远见的规划,因此结合大数据潮流,融合最前沿资讯,对接名企最新需求,对Java的发展及潮流方向都有一个很好的把控,让学员赢在现在的同时,更让学员赢在未来。
千锋教育力造IT培训领导品牌,学员百分之九十以上都是大专以上学生,力求为你营造最优质的学习环境。千锋教育现在更有0学费入学、2周免费试听、跨学科周末班限时免费送活动,一次报名,学习双技能,如同打了五折。欢迎你前来咨询,试听。
千锋教育-中国IT职业教育领先品牌
千锋教育 精品课程 全程面授
千锋教育-中国IT职业教育领先品牌
java基础学习笔记 第2篇
摘要: Java基础—java语句这些是黑马程序员java基础入门的一个很重要的内容。今天主要给大家简单讲解一下Java基础—java语句,以后会慢慢讲解黑马程序员的课程内容!
关键语句介绍
一、while 语句 一般形式:
whi l e(条件表达式){ 语句体 ……… } 执行过程:
条件表达式为真,执行语句体。否则,退出!
二、do while 语句 一般形式: do { 语句体 …….} while(条件表达式);执行过程:
先执行一次语句体,判断 条件表达式是否为真,为真再执行do语句中的语句体。为假,退出。
需要注意:与whi l e语句区别
黑马程序员合肥中心 编著
1.while(条件表达式)后面有分号;2.不管条件表达式是否为真,语句体均会执行一次。
三、for 语句 一般形式:
for(子句 1;子句 2;子句 3){ 语句体 …… } 执行过程:
四、break、cont inue 语句 break 退出所在循环 : int stopHere = 5;for(int i=1;i<8;i++){ if(i == stopHere){ break;} System.out.println(“i = ” + i);
黑马程序员合肥中心 编著
} //打印结果:5,6,7,8均没有打印出来。
需要注意的一个问题: int stopHere = 5;for(int i = 1;i < 8;i + +){ if(i = = stopHere){ / /语句体 } break;System.out.println(“i = ” + i);} 这个时候编译器会报错:无效的 System.out 输出语句。冷静分析一下:
break 语句会结束循环,所以不会再去执行 System.out 输出语句。编译会认为你在多此一举,sorry 报个错!
continue 退出本次循环,不会退出整个循环: int skipHere = 5;for(int i = 1;i < 8;i + +){ if(i = = skipHere){ continue;}
黑马程序员合肥中心 编著
System.out.println(“i = ” + i);} / /打印结果:除了5没有打印出来。
i = 1 i = 2
五、switch 语句 一般形式: switch(常量){ case 表达式1:语句体1;break;case 表达式2:语句体2;break;.....default : 语句体n;break;}
执行过程: 执行过程:
case 根据自己的表达式看是否匹配常量,如果匹配就执行语句体,否则执行 default 语句。
case 执行类似于并行操作,不是顺序操作。所以各个表达式的值不可以相同。
黑马程序员合肥中心 编著
哪个 case 匹配常量就会执行自己的语句体,不会再去寻找其他 case 语句。注意:
<1> case 穿透:省去break关键字
[AppleScript] 纯文本查看 复制代码 ?
01 /
02 * @author 传智播客 03 */
04 int i = 10;05 switch(i){ 06 case 10:
07 System.out.println(“ A”);08 //break;09 case 5: System.out.println(“ B”);11 //break;12 case 7: System.out.println(“ C”);14 //break;15 default : System.out.println(“ error”);17 break;18 }//打印结果:A B C error
<2> 在 Java 编程中 switch 括号中的常量的数据类型只可以为 int 类型或者是 byte、char、short(因为 byte、char、short 可以自动提升为 int),常量类型不可以是 long、float 和 double 等数据类型。<3> 多个 case 可以合并 , 相当于 “ 或 ”,例如下面 i 等于 10、5、7 都可以执行打印语句。
[AppleScript] 纯文本查看 复制代码 ?
01 /
02 * @author 传智播客 03 */
04 int i = 5;05 switch(i){ 06 case 10: 07 case 5: 08 case 7:
09 System.out.println(“ C”);10 break;11 default : System.out.println(“ error”);13 break;
黑马程序员合肥中心 编著 }//打印结果:C <4> default 语句可以省,但是不推荐,他后面的 break 可省 <5> case 或者 default 子句中可以写多条语句 case 7: System.out.println(“ C”);if(i == 5){ System.out.println(“ i = ” +i);} break;<6> case 或者 default 子句中还可以嵌套 switch 或者其他语句
六、return 语句
终止方法的运行并指定要返回的数据。两种形式:
<1> return 表达式;
<2> return ;没有任何数据直接返回,结束函数(方法)的执行。
七、if 语句
一般形式:
1.if(条件表达式){ 语句体} 2.if(条件表达式){ 语句体} else{语句体 } 3. if(条件表达式1){ 语句体} else if(条件表达式2){语句体 } else {语句体 }
特别注意:形式3,else与其最近的上个if 配对。例子:
[AppleScript] 纯文本查看 复制代码 ?
黑马程序员合肥中心 编著
01 /
02 * @author 传智播客 03 */
04 public class TestIF {
05 public static void main(String[] args){ 06 int i = 30;07 if(i < 20){
08 System.out.println(“<20”);09 } else if(i < 50){ System.out.println(“<50”);11 } else if(i < 80){ System.out.println(“<80”);13 } else System.out.println(“>=80”);15 System.out.println(“黑马程序员!”);16 }
如果大家想学习java基础的知识,欢迎大家可以去传智播客官网http:///去了解java基础知识!
java基础学习笔记 第3篇
JAAS(Java Authentication java基础学习记录 and Authentication Service Jay,认证和授权服务)是SUN公司为了进一步增强Java 2安全框架的功能而提供的编程接口,它是JDKI.3的标准扩充,并成为JDKI.4的一个组成部分。Java 2安全框架提供的是基于代码源的存取控制方式,即基于代码从哪里来,谁签署了代码,而JAAS还提供了基于代码运行者的存取控制能力,因此,JAAS是Java安全编程的一个重要补充。随着Internet的安全问题日益受到重视,JAAS编程接口和安全服务作为J2EE 1.3标准的一部分,必将会在Java应用编程中得到更广泛的应用。
JAAS主要由认证和授权两大部分构成。不管Java代码是作为Application、Applet、Bean还是Servlet运行,JAAS认证部分都能提供安全可靠的方法,决定谁可以执行哪些Java代码。
JAAS认证通过插件的形式工作,这可以使Java应用程序独立于底层的认证技术,应用程序可以使用新的或经过修改的认证技术而不需要修改应用程序本身。
2 JAAS的核心类
2.1 公共类
公共类是由JAAS认证和授权部分共同使用的类,其中Subject类最关键,它代表某个整体的一组相关信息,这个整体可以是一个人或其它对象,而相关信息则包括这个整体的标识(Principal)公有凭据、私有凭据等。
2.1.1 Subject(主题)类
应用程序首先要对请求的来源进行认证,然后才能对该请求源访向的资源进行授权。JARS框架定义“主题,这个术语代表请求源。主题可以是任何实体,如一个人或一项服务。一旦通过了认证,主题就和相关的标识联系在一起,标识可以使不同主题之间相互区别。一个主题可以具有多个标识,例如,一个人可以有一个名字标识和一个SSN(社会保障号)标识。主题也可以拥有与安全相关的属性,这些属性被称为凭据。需要特殊保护的凭据,如私匙等,储存在私有凭据集中;而可以公开的凭据,如公共证书等,储存在公共的凭据集中。
主题对象可以由以下构造函数创建:
第一个构造函数用空的标识和凭据集创建主题。第二个构造函数用指定的标识和凭据集创建主题,布尔参数read Only使主题成为只读,这样可以防止标识和凭据集被改变。
2.1.2 Principal标识类
Principal对象代表了Subject对象的身份。标识可以和一个主题关联,用于主题之间的相互区别,它必须实现java security Principal和jave.io.Serializable接口。另外,一个Subject对象中可包含多个Principal对象。
2.1.3 Credential(凭据)类
核心工JAAS类库没有对公共和私有凭据类做出规定,所以任何Java类都能代表凭据。但一般情况下,建议作为凭据的类应该实现Refreshable和Destroyable两个接口,Refreshable接口可以使凭据能够自我刷新,而Destroyable接口提供了销毁凭据中内容的功能。
2.2 认证类
认识一个主题需要下面一些步骤:
(1)应用程序实例化登录上下文(Login Context)。
(2)登录上下文按照输入参数及配置装入所有相关的登录模块。
(3)应用程序调用登录上下文的Login方法。
(4)Login方法调用所有被装入的登录模块。每个模块都试图认证主题。如果认证成功,登录模块就把相关的标识和凭据关联到所认证的主题。
(5)登录上下文返回认证状态给应用程序。
(6)如果认证成功,应用程序可以从登录上下文中获得被认证的主题。
2.2.1 Login Context(登录上下文)类
登录上下文类给应用程序提供了认证主题的基本方法,并提供了一种独立于底层认证技术的应用程序开发方法。登录上下文依照配置决定应用程序采用哪些认证服务,或者说,哪些认证模块,这样,认证模块就以插件的形式工作于应用程序的底层,认证技术的改变不需要修改应用程序本身。登录上下文创建时,需要提供一个字符申参数name,登录上下文用这个参数去索引登录配置,以决定所采用的登录模块,此外还可以提供Subject,Callback Handler等参数。
2.2.2 Login Module(登录模块)接口
登录模块接口使开发者能够把不同类型的认证技术以插件的形式加到应用程序中。作为实例化登录模块,登录上下文要求每一个登录模块提供一个没有参数的构造函数,然后登录上下文通过调用登录模块的initialize方法初始化登录模块,这样可以保证所提供的主题是非空的。
登录过程的方式由用户所编写的Callback Handler类决定,可以是提示用户输人用户名和密码.然后和储存在(如NIS和LDAP等)命名服务中的数据进行比较;也可以是从智能卡或生物特征鉴别设备那里得到数据,或者简单地从底层的操作系统中抽取用户信息。
2.2.3 Callback Handler(回调)接口
在某些情况下,登录模块必须和用户通讯以获得认证信息,这种交流可以由以下过程达到。应用程序提供一个实现Callback Handler接口的类,并把该类的实例的引用作为创建登录上下文对象时的参数,登录上下文接着把它传给了底层的登录模块。登录模块通过这个引用调用它的handle方法,这样就可以从用户那里收集信息(如密码或智能卡的PIN号),也可以把信息送给用户。于是,底层的登录模块与用户交互的方式就可以由应用程序所决定。
2.3 授权类
在成功认证主题的基础上,通过调用主题类的do As方法,可以对主题做细粒度的存取控制。授予主题的权限配置在JAAS策略中。
2.3.1 Policy(策略)类
这是一个抽象类,代表系统范围的JAAS存取控制策略。默认情况下,JAAS提供一个基于文件的子类实现,名为Policy File。
2.3.2 策略文件在JAAS中
最常见的安全策略配置一般存在于策略文件中,与Java 2的安全策略文件类似,文件中的每一个条目代表一种授权,但所列的权限是授予由代码源、代码签署者、标识集三者构成的元组,即把权限授予从特定代码源下载和被特定签署者签署的任何代码,只要运行那些代码的主题具有属于标识集中的特定标识。
2.3.3 Auth Permission类
这个类是Permission类的子类并封装了JAAS所要求的基本权限。一个Auth Permission类包含一个名字(也称为目标名),但它没有行为列表。Auth Permission类对象用于保护对Policy,Subject,Login Context和Configuration对象的访问。从Java API文档中可以得到所支持的名字列表。
3 配置文件
JAAS的可扩展性来源于它能够进行动态配置,而配置信息通常是保存在文本。这些文本文件有很多个配置块构成,我们通常把这些配置块称作申请(Application)。每个申请对应了一个或多个特定的Login Module对象。
当你的代码构造一个Login Context对象时,你需要把配置文件中申请的名称传递给它。Login Context将会根据申请中的信息决定激活哪些Login Module对象,按照什么顺序激活以及使用什么规则激活。配置文件中各元素之间的关系如图1所示。
4 实际操作
由于JAAS编程牵涉到的类比较多,它们之间的关系相对来说也比较复杂,为了更好地说明JAAS的编程特点,SUN公司提供了一个完整的例子,可以从http://java.sun.com/products/jaas/index-10.html得到。
5 结语
JAAS安全编程有很强的模块性,它通过提供动态的、可扩展的模型来进行用户验证和控制权限,从而使应用程序有更加健壮的安全机制。同时,它还能够让你能够很轻松地创建自己的登录机制。JAAS可以同时在在客户端和服务器端的应用程序上工作。以上只是介绍了JAAS编程中常用的类,所提供的例子也只是说明了程序的执行过程,以及JAAS中主要类、方法之间的调用和被调用关系。对于一个实际的系统,还会对安全提出更多的要求,因此编程时还要考虑很多因素,做很多的扩充,才能满足要求。
摘要:JAAS(Java Authentication and Authentication ServiceJay,认证和授权服务)是Java安全编程的一个重要补充。它提供了根据验证主题身份来验证主题和授权资源访问的标准方法。本文较全面地介绍了JAAS的特点、组成及其在Java安全编程中的应用。介绍了JAAS编程中常用的类,所提供的例子也只是说明了程序的执行过程,以及JAAS中主要类、方法之间的调用和被调用关系。
关键词:JAAS,认证,编程
参考文献
[1]林天峰,基于JAAS的JAVA安全编程.[J],计算机应用与软件,2007,(7):86-88.
[2]万军,金静梅,JAAS的分析和应用.[J],计算机时代,2008,(9):22-23.
java基础学习笔记 第4篇
(1)学习的目的是为了将来进行应用程序的开发,而不是进行语言理论研究,
(2)将来的应用开发是在成熟的平台上展开,而不是自己从底层开发平台。
一、掌握静态方法和属性
静态方法和属性用于描述某一类对象群体的特征,而不是单个对象的特征。Java中大量应用了静态方法和属性,这是一个通常的技巧。但是这种技巧在很多语言中不被频繁地使用。理解静态方法和属性对于理解类与对象的关系是十分有帮助的,在大量的Java规范中,静态方法和属性被频繁使用。因此学习者应该理解静态方法和属性。Java在方法和属性的调用上是一致的,区别只表现在声明的时候,这和c++是不同的。
二、重视接口
在面向对象早期的应用中大量使用了类继承。随着软件工程理论的不断发展,人们开始意识到了继承的众多缺点,开始努力用聚合代替继承。软件工程解决扩展性的重要原则就是抽象描述,直接使用的工具就是接口。接口近年来逐渐成为Java编程方法的核心。另一方面,就应用而言,大部分开发是建立在规范基础之上的,不需要自己建立复杂的继承关系和庞大的类。因此读懂规范和用好规范已经成为应用程序开发人员的首要任务,Java各项规范的主要描述手段就是接口。
三、学好集合框架
Java描述复杂数据结构的主要方式是集合框架。Java没有指针,而是通过强大的集合框架描述数组、对象数组等复杂的数据结构。学好这些数据结构的描述方法对于应用程序编写,特别是涉及到服务器、三层结构编程至关重要。程序员在这个时候不能再用诸如数据库结果集之类的结构描述数据了。
由于很多语言没有这么强大的集合框架体系,很多初学者不知所措,更不知道拿来做什么用,因此应该引起足够的重视。
四、例外捕捉
Java对例外捕捉的强调是空前的,它强迫程序员用显著的与逻辑方法完全不同的方式描述例外捕捉,对于程序描述的完整性和严谨性有很大的意义。c++也有类似的机制,但是我们看到很多c++程序员并不习惯使用这些机制。
Java的初学者应该充分学习好这种对外捕捉机制,养成良好的编程习惯。
五、多线程需要理解机理
很多Java程序员热衷于多线程程序编写,认为是对逻辑能力的挑战。其实在大量应用中根本就不需要编写多线程程序,或者说大多数编写应用程序的程序员不会去写多线程程序。这是因为多线程机制都内置到基础平台当中了。
程序员应该了解的是多线程原理和多线程安全,这对于今后准确地把握程序是至关重要的。
例如:JSP中编写到不同的位置对于多个用户环境的安全影响完全不同。又如著名的Super Servlet是每一个访问作为一个进程,但是每一个页面是一个线程,和Servlet正好相反,对程序的性能和安全的影响有天壤之别。
六、了解网络编程
java学习笔记 第5篇
jdk(java development kit)
有如下公司或组织开发jdk
sun jdk
ibm jdk
bea jrocket
gun jdk
其中ibm的jdk包含的jvm(java virtual machine)运行效率要比sun jdk包含的jvm高出许多。而专门运行在x86平台的jrocket在服务端运行效率也要比sun jdk好很多。但不管怎么说,我们还是需要先把sun jdk掌握好。
1、jdk的下载和安装
jdk又叫做j2se(java2 sdk standard edition),可以从sun的java网站上下载到,java.sun/j2se/downloads.html ,jdk当前最新的版本是j2sdk1.4.2,建议下载该版本的jdk,下载页面在这里:java.sun/j2se/1.4.2/download.html。
下载好的jdk是一个可执行安装程序,默认安装完毕后会在c:program filesjava目录下安装一套jre(供浏览器来使用),在c:j2sdk1.4.2下安装一套jdk(也包括一套jre)。然后我们需要在环境变量path的最前面增加java的路径c:j2sdk1.4.2in。这样jdk就安装好了。
2、java documentation
java编程手册,java核心所在
3、java 应用服务器
a、tomcat
b、ibm webshpere
c、bea weblogic
d、免费 jboss
4、java应用的运行环境
应用服务器(app server)
app server是运行java企业组件的平台,构成了应用软件的主要运行环境。当前主流的app server是bea公司的weblogic server和ibm公司的websphere以及免费的jboss,选择其中一个进行学习就可以了,个人推荐weblogic,因为它的体系结构更加干净,开发和部署更加方便,是java企业软件开发人员首选的开发平台。下面简要介绍几种常用的app server:
1、tomcat
tomcat严格意义上并不是一个真正的app server,它只是一个可以支持运行serlvet/jsp的web容器,不过tomcat也扩展了一些app server的功能,如jndi,数据库连接池,用户事务处理等等。tomcat被非常广泛的应用在中小规模的java web应用中,因此本**一点下载、安装和配置tomcat的介绍:
tomcat是apache组织下jakarta项目下的一个子项目,它的主网站是:jakarta.apache.org/tomcat/ ,tomcat最新版本是tomcat4.1.27,软件下载的连接是:www.apache.org/dist/jakarta/tomcat-4/binaries/ 。
下载tomcat既可以直接下载zip包,也可以下载exe安装包(个人建议zip更干净些),不管哪种情况,下载完毕安装好以后(zip直接解压缩就可以了)。需要设置两个环境变量:
java_home=c:j2sdk1.4.2
catalina_home=d: omcat4 (你的tomcat安装目录)
这样就安装好了,启动tomcat运行catalina_homeinstartup.bat,关闭tomcat运行shutdown.bat脚本。tomcat启动以后,默认使用8080端口,因此可以用浏览器访问localhost:8080来测试tomcat是否正常启动。
tomcat提供了两个web界面的管理工具,url分别是:
localhost:8080/admin/index.jsp
localhost:8080/manager/html
在启用这两个管理工具之前,先需要手工配置一下管理员用户和口令。用一个文本工具打开catalina_homeconf omcat-users.xml这个文件,加入如下几行:
这样用户“robbin”就具备了超级管理员权限。重新启动tomcat以后,你就可以使用该用户来登陆如上的两个管理工具,通过web方式进行tomcat的配置和管理了。
2、bea weblogic
weblogic可以到bea的网站上免费注册之后下载到最新的weblogic8.1企业版,license可以免费使用1年时间,其实这已经完全足够了。weblogic的下载连接:commerce.bea/index.jsp,.https://www.99xueshu.com/edocs.bea/ 。
3、ibm webshpere
websphere同样可以下载到免费的`试用版本,到ibm的developerworks网站可以看到websphere试用产品的下载和相关的websphere的资料,developerworks中文网站的连接是:www-900.ibm/developerworks/cn/wsdd/ ,websphere的下载连接:www7b.software.ibm/wsdd/...wassupport.html 。
4、jboss
jboss是免费开源的app server,可以免费的从jboss网站下载:www.jboss.org/,然...n/idea.html
四、java应用的运行环境
java的应用可以简单分为以下几个方面:
1、java的桌面应用
桌面应用一般仅仅需要jre的支持就足够了。
2、java web应用
java的web应用至少需要安装jdk和一个web容器(例如tomcat),以及一个多用户数据库,web应用至少分为三层:
browser层:浏览器显示用户页面
web层:运行servlet/jsp
db层:后端数据库,向java程序提供数据访问服务
3、java企业级应用
企业级应用比较复杂,可以扩展到n层,最简单情况会分为4层:
browser层:浏览器显示用户页面
client层:java客户端图形程序(或者嵌入式设备的程序)直接和web层或者ejb层交互
web层:运行servlet/jsp
ejb层:运行ejb,完成业务逻辑运算
db层:后端数据库,向java程序提供数据访问服务
4、java嵌入式应用
java学习笔记(更新) 第6篇
与Servlet有关的隐含对象
page、config
与Input/Output有关的隐含对象
out、request、response
JSP执行时,提供有关Context的隐含对象
session、application、pageContext 与Error有关的隐含对象
exception
2.get与post区别
get方式:将表单内容经过编码之后,通过URL发送,使用get方式发送时有255个字符的限制(可以在地址栏里看到方式和地点)
post方式:将表单的内容通过http发送,post没有字符长度的限制(在地址栏里看不到表单提交的信息
3.forward与sendredirect区别 服务器端跳转
使用
使用服务器端跳转,可以通过
response.sendRedirect(“uri”);地址栏改变的跳转
所有代码执行完毕之后再跳转
使用response时,不能保存request属性
使用客户端跳转,可以通过重写URL的方式来传递参数 4.JSP内置对象session
session对象用来存储有关用户会话的所有信息直到它的生命周期超时或被人为释放掉为止。
设置session session.setAttribute(“name”, “admin”);根据名称去获取session中存放对象的值
String name =(String)session.getAttribute(“name”);根据名称去删除session中存放对象的值 session.removeAttribute(“name”);用户注销功能的实现 session.invalidate();5.JDBC API JDBC API可做三件事:与数据库建立连接、执行SQL语句、处理结果 DriverManager :依据数据库的不同,管理JDBC驱动 Connection :负责连接数据库并担任传送数据的任务
Statement(PreparedStatement):由 Connection 产生、负责执行SQL语句 ResultSet:负责保存Statement执行后所产生的查询结果
JDBC应用开始->装入JDBC驱动程序
->创建与数据库的连接->创建语句对象——Statement或PreparedStatement->利用语句对象执行SQL语句,得到结果
->处理结果 JDBC应用结束 6.MVC设计模式
模型(Model)JavaBean 代表应用程序状态和业务逻辑
视图(View)JSP 提供可交互的客户界面,向客户显示模型数据
控制器(Controller)Servlet 根据客户的请求来操纵模型,并把结果经由视图展现给客户
Model I设计模式
JSP+JavaBean(View + Model)
Model II设计模式
JSP+JavaBean+servlet(View + Model+controller)
Model I和Model II的对比
Model I缺少控制器(Controller),不易维护和扩展 Model I开发速度快,适用于开发中、小型项目
Model II 代码的重用性 有利于开发的分工
各司其职、互不干涉 7.EL表达式
由于jsp标准动作的局限,一般是操作JavaBean的属性
JavaBean的属性只能为基本数据类型不能进行逻辑操作,而el却可以精确的访问存储对象,Bean属性的简略记法,空值取代错误消息 优点
代替复杂代码,省去条件判断 访问Bean的属性 Bean属性的简略记法
以输出MVC中的内容,代码简单 8.EL隐式对象
pageScope:范围和JSP的page相同,只限于当前页面 requestScope:范围和JSP的page相同,范围限于一次请求 sessionScope:范围和JSP的session相同,范围为一次会话
applicationScope:从服务器一开始执行服务,到服务器关闭为止 9.jsp中动态include和静态的include 区别
动态INCLUDE总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。
静态include伪码实现,不会检查所含文件的变化,适用于包含静态页面 10.Servlet和JSP的关系
Servlet是JSP的早期版本,在JSP中,更加注重页面的表现,而在Servlet中则更注重业务逻辑的实现。
同时,JSP只能处理浏览器的请求,而Servlet则可以处理一个客户端的应用程序请求。因此,Servlet加强了Web服务器的功能。10.Servlet的生命周期
Servlet是服务器端运行的。Servlet是javax.servlet包中HttpServlet类的子类,由服务器完成该子类的创建和初始化。
Servlet的生命周期主要由3个过程组成。
1、init()方法:服务器初始化Servlet。
2、service()方法:初始化完毕,Servlet对象调用该方法相应客户的请求。
3、destroy()方法:调用该方法消灭Servlet对象。其中,init()方法只在Servlet第一次被请求加载的时候被调用一次,当有客户再请求Servlet服务时,Web服务器将启动一个新的线程,在该线程中,调用service方法相应客户的请求。11.JSP 6种基本动作
jsp:include:在页面被请求的时候引入一个文件。jsp:useBean:寻找或者实例化一个JavaBean。jsp:setProperty:设置JavaBean的属性。jsp:getProperty:输出某个JavaBean的属性。jsp:forward:把请求转到一个新的页面。
jsp:plugin:根据浏览器类型为Java插件生成OBJECT或EMBED标记
12.Request对象的主要方法:
setAttribute(String name,Object):设置名字为name的request的参数值 getAttribute(String name):返回由name指定的属性值
getAttributeNames():返回request对象所有属性的名字集合,结果是一个枚举的实例 getCookies():返回客户端的所有Cookie对象,结果是一个Cookie数组 getCharacterEncoding():返回请求中的字符编码方式 getContentLength():返回请求的Body的长度
getHeader(String name):获得HTTP协议定义的文件头信息
getHeaders(String name):返回指定名字的request Header的所有值,结果是一个枚举的实例
getHeaderNames():返回所以request Header的名字,结果是一个枚举的实例 getInputStream():返回请求的输入流,用于获得请求中的数据 getMethod():获得客户端向服务器端传送数据的方法
getParameter(String name):获得客户端传送给服务器端的有name指定的参数值 getParameterNames():获得客户端传送给服务器端的所有参数的名字,结果是一个枚举的实例
getParameterValues(String name):获得有name指定的参数的所有值 getProtocol():获取客户端向服务器端传送数据所依据的协议名称 getQueryString():获得查询字符串
getRequestURI():获取发出请求字符串的客户端地址 getRemoteAddr():获取客户端的IP地址 getRemoteHost():获取客户端的名字
getSession([Boolean create]):返回和请求相关Session getServerName():获取服务器的名字
getServletPath():获取客户端所请求的脚本文件的路径 getServerPort():获取服务器的端口号
removeAttribute(String name):删除请求中的一个属性 13.会话跟踪技术
Session 隐藏表单域 URL重写 Cookie使用 14.cookie的使用
cookie是一段字符串,由HTTP支持,在客户端可以永久保存.写入(硬盘).每次请求,响应中都会为cookie留有空间.Cookie cookie=new Cookie(“name”,cookie);//必须指定cookie的键与值,且必须为字符串.response.addcookie(cookie);
cookie.setMaxAge(3600);//以秒为单位.读取客户端发送过来的cookie,返回值类型为: cookie数组
【java基础学习笔记】相关文章:
java 基础要点总结 学习java必看08-22
外汇基础学习07-31
学习基础日语学习感想05-04
问题基础学习法06-13
美术基础学习心得05-17
新蒙语学习基础06-03
基础团校学习心得08-20
电工学习基础范文05-28
德语会话基础学习07-09
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.bianchenghao6.com/h6javajc/19737.html