Web编程技术考前复习材料

第一章

1.TCP/IP代表一个协议集,其中最重要的是TCP和IP,它包含4个层次:应用层、传输层、网络层和物理接口层。
2.应用层协议主要有:远程登录协议(Telnet),用于实现互联网中的远程登录,文件传输协议(FTP),用于实现文件传输,简单邮件传输协议(SMTP),实现电子邮件收发,域名服务系统(DNS),用于实现域名到IP地址的映射,超文本传输协议(HTTP),用于在Web浏览器和Web服务器之间传输Web文档。
3.传输层也叫运输层,主要功能更是负责进程之间的端到端通信。传输层定义了两种协议:传输控制协议(TCP)和用户数据报协议(UDP).
4.网络层也叫IP层,负责处理互联网中计算机之间的通信,向传输层提供统一的数据包。它的主要功能有以下3个方面:处理来自传输层的分组发送请求,处理接收的数据包,处理互连的路径。
5.物理接口层的主要功能是接收IP层的IP数据报,通过网络向外发送;或接收处理从网络上来的物理帧,抽出IP数据报,向IP发送。该层是主机与网络的实际连接层。
6.WWW——Word Wide Web的英文缩写。 7.Web技术还涉及以下相关概念:
(1) 超文本传输(HTTP)协议:一种详细规定了浏览器和万维网服务器之间相互通信的规则,通过因特网传送万维网文档的数据传送协议。
(2) 统一资源定位符(URL):互联网的一个协议要素,可以定义任何远程或本地的可用资源,其通用格式为: 协议:[//] [用户名[:密码]@]主机名[:端口号] ][/资源路径]
(3) 超文本标记语言(HTML):用于描述网页文档外的外观和格式。
8.Web信息交换过程简单描述:
(1)客户端向web服务器发出访问动态页面的请求、
(2)Web服务器根据客户端所请求的页面的后缀名确定该页面所采用的动态网页编程技术,然后将该页面提交给相应的动态网页解释引擎。
(3)动态网页解释引擎执行页面中的脚本以实现不同的功能,并把执行结果返回web服务器。
(4)Web服务器把包含执行结果的HTML页面发送到客户端。
9.Web客户端技术:
(1)HTML语言
(2)JAVA Applets
(3)脚本程序
(4)CSS
10. Web服务器技术:主要包括CGI、PHP、ASP、ASP.NET、JSP等技术
11. JSP的特点:
(1) 将内容的生成和显示进行分离
(2) 强调可重用性组件
(3) 采用标识简化页面开发
(4) 健壮性和安全性
(5) 良好的移植性
(6) 企业级的扩展性和性能

第二章
1.HTML(Hyper Text Markup Language)即超文本标记语言。
2.HTML实例:(文档结构)

<html> 
<head> 
<title>标题 </title> 
</head> 
<body>页面内容测试</body> 
</html>

3.标签:单标签和双标签两种形式。
4.标题标签:<h#>文字</h#> #=1,2,3,4,5,6
5.其他文本效果:
字体:<font face=字体值>文本</font>
下划线:<u>文字</u>
删除线:<strike>文字</strike>
闪烁:<blink>文字</blink>
增强:<strong>文字</strong>
强调:<em>文字</em>
示例:<samp>文字</samp>
粗体:<b>文字</b>
斜体:<i>文字</i>
6.超链接:<A href=”资源地址” name=”字符串”>链接文字</a>
7.内部链接:锚点
8.外部链接:
(1)网站链接:<a href=”http://www.baidu.net”>链接百度</a>
(2)电子邮件链接:<a href=”mailto:haimes@163.com”>写信给我</a>
(3)FTP链接<a href=”ftp://ftp.jmu.edu.cn”>下载档案</a>
(4)News链接:<a href=”news:news.hrmex.net”>seedmet news 服务</a>
(5)Gopher链接<a href=”gopher://gopher.hmex.net/”>seedmet gopher 服务</a>
(6)BBS链接<a href=”telnet://bbs.jmu.edu.cn/”>seedmet bbs服务</a>

第三章
1.Java的特点:平台无关性、简单性、面向对象、安全性、分布性、动态性、健壮性、多线程性、可移植性。
2.Java语言程序实际上有两种:一种是java应用程序(application),是一种独立程序。
3.Java语言中规定标识符是以字母(大小写均可,java中对大小写敏感)、下划线(_)或美元符号($)开始的,其后可跟数字、字母、下划线或美元符号组成的字符序列。
Java语言采用的是Unicode编码字符集(即统一编码字符集)。 (P27~P36)

第四章
1.一个jsp页面的基本结构通常包含三个部分:普通的HTML标记、jsp标签和jsp脚本(变量和方法的声明、jsp程序片段和java表达式)。
2.HTML注释:<!--注释[<%=表达式 %>]-->
3.隐藏注释:<%--注释--%>
4.声明变量和方法:只需在<%!与%>标记之间放置java的变量声明语句即可,而且所声明变量在整个jsp页面中有效(声明方法类似)
声明方法或者变量时,,还需要遵循如下规则:
(1)声明必须以(;)结尾
(2)可以一次声明多个变量和方法,但必须以(;)结束
(3)必须在使用变量或方法之前在jsp文件中声明它们。
(4)可以直接使用在编译指令<%@ page %>中所包含进来的变量和方法,无须对它们重新声明。
(5)一个声明仅在一个页面中有效。如果想每个页面都能用到一些声明,最好把这些声明写成一个单独的文件,然后用<% @include%><jsp:include >包含进来。
6.表达式:<%=expression %> 注意:在jsp中引用表达式时,必须遵循如下规则。
(1)不能用一个分号(;)来作为表达式的结束符。
(2)构成表达式的元素必须符合java语言的语法规则。
(3)表达式可以嵌套,这时表达式的求解顺序为从左到右。
7.JSP的编译指令:3种常用的编译指令:page指令、include指令、taglib指令
8.page编译指令:
功能:定义整个jsp页面的属性及其属性值。 语法格式:<%@ page 属性1 = 值 属性2 =值…%> 该指令所包含属性如下:
(1) Language:定义JSP网页所使用的脚本语言的种类,其默认值是java。
(2) Import:指定JSP网页中需要导入的java包列表。
(3) Session:设置此网页是否要加入到一个session中(其值为布尔类型)。如果为true,则session是有用的,否则,就不能使用session对象以及定义了scope=session的<jsp:useBean>元素,这样的使用会导致错误。其默认值是true。
(4) autoFlush:指定当缓冲区满时是否自动输出缓冲区的数据(其值为布尔类型)。如果为true,输出正常,否则当缓冲区满时将抛出异常。其默认值是true。
(5) contentType:定义了JSP网页所使用的字符集及JSP响应的MIME类型。默认MIME类型是text/html,默认字符集是ISO-8859-1.
注意:page指令作用于整个JSP页面和由include指令和<jsp:include>包含进来的静态文件中,但不能用于动态包含文件。可以在一个页面上使用多个page指令,但是其中的属性只能使用一次(import属性例外)。
9.Include指令: 功能:指令在JSP文件中包含的一个静态的文件,即在JSP文件被编译时需要插入的文本或代码。 语法格式:<%@ include file=”文件名称” %>
10.JSP的操作指令
(1) Jsp:useBean操作指令:在JSP页面中声明一个javaBean组件实例,如果该实例不存在,则创建一个Bean实例并指定它的名字和作用范围。
(2) Jsp:setProperty操作指令:在bean中设置一个或多个属性值。
(3) Jsp:getProperty操作指令:获取bean的属性值,在jps中使用此标签可以提取Javabean中的属性值,并将结果以字符串的形式显示给客户。
(4) jsp:include操作指令:在JSP文件中包含一个静态或动态文件。
(5) Jsp:forward操作指令:用于将浏览器显示的网页重定向到另一个HTML文件或jsp文件。
(6) Jsp:param操作指令:为其他标签提供附加信息。
(7) Jsp:plugin操作指令:让客户端执行一个小Java程序(Applet或Bean),有可能的话还要下载一个Java插件,用于执行它。

第五章
Jsp中常见的8种内部对象 内部对象名 主要功能 request 封装用户提交的请求信息 response 封装响应用户请求的信息
session 在用户请求时期保存对象属性 application 提供存取servlet class 环境信息的方法
Out 向客户端输出信息 pageContext 存取JSP执行过程中需要用到的属性和方法 config 提供存取servlet
Class初始参数及server环境信息 exception 在页面出错时产生无法控制的Throwable
Request:request对象的类型是一个执行javax.servelt.http.HttpServletRequest界面的类
Request对象常用方法: getHeader(String name):获得HTTP协议定义的传送文件头信息,例如,request.getHeader(“User-agent”)返回客户端浏览器的版本号、类型等信息。
getAttribute(String name):返回name指定的属性值,若不存在指定的属性值,就返回空值(null)。
getMethod():获得客户端向服务端传送数据的方法(如:GET、POST和PUT等类型)。 getParameter(String name):获得客户端传送给服务端的参数值,该参数由name指定。
getQueryString():获得由客户端以GET方式向服务端传送的字符串。
Response:response对象的类型为javax.servlet.http.HttpServletResponse类。
Response对象的常用方法: setContentType(String s):该方法可以改变contentType的属性值。当用户访问一个contentType属性值是text/html的JSP页面时,JSP引擎将按照ContentType属性的值来响应客户的请求信息。Response对象可以调用该方法来设置contentType的值,其中参数s可取text/html、application/x-msxcel和application/msword等。
sendRedirect(URL):该方法将实现客户的重定向,即在处理客户请求的过程中,可能会根据不同的事件将客户重新引导至另一个页面。其中参数URL的值为重定向页面所在的相对路径。(重定向语句之后的代码将不再执行)
Session对象的常用方法:
Session是会话的意思,其实它指的是当一个用户在客户端打开IE浏览器并连接到服务器端开始,一直到该用户关闭IE浏览器位置的这段时期。
Session对象在第一个JSP页面被装载时自动创建,完成会话期管理。当用户第一次登录网站时,服务器端的JSP引擎将为该用户生成一个独一无二的session对象。需要说明的是,session对象中所保存和检索的信息不能是基本数据类型,必须是java语言中相应的Object对象。
setAttribute(String key,Object obj):该方法实现将参数obj所指定的对象添加到session对象中,并添加的对象指定一个索引关键字key。索引关键字的值由参数key确定。
getAttribute(String name):该方法实现从session对象中提取由参数name指定的对象。若对象不存在,将返回null。
getId():每生成一个session对象,服务器都会给其分配一个独一无二的编号,该方法将返回当前session对象的编号。
removeAttribute(String name): 该方法将实现从session中删除由参数name所指定的对象。
isNew():该方法判断是否一个新的用户。如果是返回true,否则返回false。 Out对象的常用方法:
Out对象的类型是一个继承自抽象的javax.servlet.jsp.JspWrite类。实际上out对象是一个输出流,可以向客户端输出数据。
Out.print(类型名):此方法实现向客户端输出各种类型的数据(如out.print(char))。
Out.println(类型名):此方法实现向客户端换行输出各种类型数据。 out.newLine():此方法实现向客户端输出一个换行符。
Out.flush():此方法实现向客户端输出缓冲区的数据。 Out.close():此方法用来关闭输出流。
out.clearBuffer():此方法实现清除缓冲区里面的数据,并把数据写到客户端。
Out.clear():此方法清除缓冲区里的数据,但不把数据写到客户端。
out.getBufferSize():此方法用来获得缓冲区的大小,缓冲区的大小可用<%@ page buffer=”size” %>设置。
out.isAutoFlush():此方法用来设置是否自动向客户端输出缓冲区中的数据。返回值为布尔类型,如果是则返回true,否则返回false。
Application常用的方法
与session对象相似,当一个用户首次访问服务器上的一个JSP页面时,服务器的JSP引擎就为该用户创建了application对象,当客户在服务器的各个页面之间浏览时,这个application对象都是同一个,直到服务器关闭。但是与session对象不同的是,所有用户的application对象都是同一个,即所有用户共享这个application对象。Application对象由服务器创建,也由服务器自动清除,不能被用户创建和清除。
getAttribute(String name):该方法返回由参数name指定的、存放在application中的对象。注意返回时应该使用强制类型转换成为对象原来的类型。
getAttributeNames():该方法返回所有存放在application中的对象,结果集是一个Enumeration(枚举)类的对象。
getInitParameter(String name):该方法返回由参数name所指定的application中某个属性的初始值。
setAttribute(String name , Object obj):该方法用来将参数obj指定的对象添加到application中,并为添加的对象指定一个关键字。该关键字由name指定。
Exception:无法保证在进行JSP编程时不发生错误,那么当JSP文件执行过程中发生了错误该如何处理呢?实际上exception对象是专门负责处理这些问题的。但是要注意exception对象一般要和page指令一起配合使用,通过指定某个页面为错误处理页面,把JSP文件执行时所有发生的错误和异常都集中到那个页面去进行处理,这不仅提高了系统的统一性,程序流程也变得更简单清晰。

第六章

  1. SQL(Structured Query Language)的中文意思是“结构化查询语言”,这种语言是IBM的圣约瑟研究实验室为其关系数据库管理系统SYSTEM R开发的,它的前身是SQUARE语言。
  2. SQL语言包含了4个部分:
    (1) 数据查询语言(DQL),
    (2) 数据操纵语言(DML),
    (3) 数据定义语言(DDL),
    (4) 数据控制语言(DCL)。
  3. SQL的技术优势:
    (1) 非过程化语言
    (2) 数据库操作语言的统一
    (3) 支持所有的关系数据库
  4. JDBC可以完成以下工作:
    (1)和一个数据库建立连接。
    (2)向数据库发送SQL语句。
    (3)处理数据库返回的结果。
  5. JDBC的工作方式:(按照工作方式分为4类)
    (1)JDBC-ODBC Bridge+ODBC 驱动
    JDBC-ODBC Bridge桥驱动将JDBC调用翻译成ODBC调用,再由ODBC驱动翻译成访问数据库命令。
    优点:可以利用现存的ODBC数据源来访问数据库。
    缺点:效率和安全性比较差,不适合用于实际项目。
    (2)基于本地API的部分java驱动
    应用程序通过本地协议跟数据库打交道,然后将数据库执行的结果通过驱动程序中的java部分返回给客户端程序。
    优点:效率较高
    缺点:安全性较差
    (3)基于中间件驱动
    应用程序通过中间件访问数据库
    优点:安全性较好
    缺点:两段通信,效率比较差
    (4)纯java本地协议
    通过本地协议用纯java直接访问数据库
    优点:效率高,安全性好
  6. 目前市面上最流行的两种数据库接口是ODBC和JDBC。 这样说似乎ODBC完全可以取代JDBC,其实不然,可以从以下几点说明:
    (1)因为ODBC是一个C语言接口,所以在java中直接使用ODBC不适当,从java中来调用C代码在安全性、健壮性、实现的方便、可移植行等方面有许多不便。它使得java在这些方面的许多优点得不到发挥。
    (2)基于C语言的ODBC到基于java API的ODBC的实现容易产生问题。毕竟java和C在很多方面存在着差异,比如C语言中定义了指针类型,而java中没有指针。
    (3)从掌握难易程度而言,JDBC要比ODBC要容易学习一些。因为ODBC对非常简单的的操作,比如查询一个数据库都需要设置复杂的选项。
    (4)考虑客户端的环境,ODBC不能保证在任何一台客户机上使用(除非事先在这台客户机上安装了ODBC的驱动程序以及驱动管理器)。如果JDBC的驱动程序是由纯java代码编写的,那么JDBC将适合任何的java平台环境。
  7. JDBC的常用对象
    (1) Statement对象 Statement对象用于把SQL语句发送到数据库。只须简单地创建一个Statement对象并采用适当的方法执行SQL语句,使用适当的方法执行发送的SQL语句。Statement stmt = con.createStatement(); 需要调用带有SQL语句参数的Statement的方法。

a) executeUpdate:使用该方法可以创建表、改变表、删除表,也被用于执行更新表SQL语句。executeUpdate()传回一个数值结果,表示语句影响的行数。
b) executeQuery:被用来执行select语句,它几乎是使用最多的执行语句。该语句执行后会将结果集返回给java.sql.ResultSet,可以使用ResultSet的next()来移动至下一条记录,它会传回true或false表示是否有下一条资料,使用getXXX()来取得相应记录所对应的值。

(2) PreparedStatement 对象
PreparedStatement实例包含已编译的SQL语句。这就是使语句“准备好”。由于PreparedStatement对象已预编译过,所以其执行速度要快于Statement对象,因此,多次执行的SQL语句经常创建为PreparedStatement对象,以提高效率。
(3) ResultSet对象
结果集(ResultSet)是数据中查询结果返回的一种对象。结果集读取数据的方法主要是getXXX(),它的参数可以使整型表示第几列(是从1开始的),还可以是列名。返回的是对应的XXX类型的值。 结果集从其使用的特点上可以分为四类:基本的ResultSet、可滚动的ResultSet类型、可更新的ResultSet、可保持的ResultSet。
8. JDBC数据库操作:
(1) JDBC连接数据库 JDBC连接数据库分为两个步骤:装载驱动程序和建立连接

a) 装载驱动程序 class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);
b) 建立连接 Connection con = DriverManager.getConnection(url, user , password);
c) 常见数据库连接 MySQL数据库 class.forName(“org.gjt.mm.mysql.Driver”).newInstance();
String url = “jdbc:mysql://localhost/myDB?user=test&password=test&useUnicode=true&characterEncoding=8859_1”; //myDB为数据库名
Connection conn=DriverManager.getConnection(url);

第七章

  1. <form>表单标记
    (1)action属性:设置或获取表单内容要发送处理的URL。
    (2)Method属性:指定数据传送到服务器的方式。两种主要的方式,当method=get时。将输入数据加载action指定的地址后面传送到服务器,当method=post时则将输入数据按照HTTP传输协议中的post传输方式传送到服务器。
    (3)Name属性::用于设定表单的名称。
  2. <input>表单输入标记
    (1)属性name设定当前变量名称
    (2)属性type的值决定了输入数据的类型。

a) type=text:表示输入单行文本
b) Type=textarea:表示输入多行文本
c) Type=password:表示输入数据为密码,用星号表示
d) Type=checkbox:表示复选框
e) Type=radio:表示单选框
f) Type=submit:表示提交按钮,数据将被送到服务器
g) Type=reset:表示清除表单数据,以便重新输入
h) Type=file:表示插入一个文件
i) Type=hidden:表示隐藏按钮
j) Type=image:表示插入一个图像
k) Type=button:表示普通按钮
l) Type=value:用于设定输入默认值,即如果用户不输入就采用此默认值。
m) Type=src:是针对type=image的情况来说的,设定图像文件的地址

  1. 表单在客户端确认的利弊:在客户端脚本技术出现之前,确认表单只能在服务器端完成,但是这样不仅会占用服务器资源,也会占用网络资源。特别是用户多次修改表单数据仍不符合要求,那么就需要不断地网络连接和服务器响应,效率较低。但如果在网页中引入了客户端脚本技术(JavaScript),即将表单确认程序跟随网页一起从服务器端下载到客户端的浏览器上,这样当用户填写完表单中的数据后,提交时就可以由浏览器解释执行表单确认程序,而无须服务器响应,从而大大减轻了网络负载并提高了响应速度。很明显,用户的等待时间减少了。
  2. isDate()日期确认函数
    功能:确认返回所输入的数据是否一个有效的日期,如果是函数返回true,否则返回false
Function isDate (myStr){
Var the1st = myStr.isdexof(‘/’);
Var the2nd =theStr.lastIndexof(‘/’);
If( the1st == the2nd ){  return (false) ;}
Else{  var m = myStr.substring(0,the1st);
Var d = myStr.substring(the1st+1,the2nd);
Var y = myStr.substring(the2nd+1,myStr.length);
Var maxDays = 31;
If(isInt(m) == false || isInt(d )== false || isInt(y) == false)
{ return (false);}Else if (y.length<4)
{ return (false);}
Else if (!isBetween(m,1,12)){ return (false);}Else if(m==4 || m==6 ||m ==9 || m==11)
maxDays = 30;Else if (m==2) { if(y%4 >0)maxDays = 28;
Else   maxDays=29;}
If(isBetween(d,1,maxDays) == false)
{  return(false) ;}
Else { return(true) ;}}
}
  1. isBetween(val,low,high)范围确定函数
    功能:确认所输入的数据是否位于参数low和high之间,如果是函数返回true,否则返回false
Function isBetween(val,low,high)
{
If( (val<low) ||(val>high)) 
{  return (false) ;}
Else {  return (tru) ;}
}

isDigit(myNum)数字确认函数
功能:确认所输入的数据是否一个合法数字。如果是函数返回true,否则返回false

Function isDigit(myNum)
{
Var mask = ‘ 0123456789’ ;
If(isEmpty(myNum))  {
Return (false);
}else if (mask.indexOf(myNum) == -1) {
Return (false);
}
Return (true);
}
  1. isEmpty(myStr)函数
    功能:确认所输入的数据是否为空,如果为空函数返回true,否则返回false
Function isEmpty(myStr){
If( (myStr == null ) || (myStr.length == 0 )) return (true) ;
Else return(false);
}
  1. 向客户端输出数据: Out对象常用的方法: Out.Println(boolean) 功能:JSP向客户端输出一个布尔值。 Out.println(char) 功能:jsp向客户端输出一个字符。 Out.println(double)
    功能:JSP向客户端输出一个双精度的浮点数 Out.println(float) 功能:JSP向客户端输出一个单精度的浮点数
    表单在服务器端确认的利弊:表单确认放在服务器端执行的最大优点就是在于屏蔽了客户端平台的异构性,因为不管客户端安装的是什么操作系统,JSP的执行都能够顺利进行。当然表单的确认放在服务器端执行也增加了服务器的负载,并且延长了客户端的等待时间。

第九章

  1. Servlet的基本概念:Servlet(java服务器小程序)是用java编写的Server端程序,它与协议和平台无关。
  2. Servlet的特点:采用java代码编写、运行于服务器端、跨平台、处理消息传递、结构简洁设计轻巧 Servlet的优势:处理客户端传递过来的HTTP请求,并返回一个响应。同事还具有Java语言的一切特性,Servlet可直接接受客户端的请求,然后完成商业逻辑;请求包括:Get或 post请求
  3. Servlet的主要功能在于交互式地浏览和修改数据,生成动态web内容。这个过程包括4个阶段:
    (1)Client想server发送请求
    (2)Server将请求信息发送至servlet
    (3)Servlet根据请求信息生成响应内容(包括静态或动态的内容)并将其传给servlet。 (4)Servlet将响应返回给client
  4. Servlet的生命期
    (1)servlet的初始化。当servlet第一次被请求加载时,服务器初始化这个servlet,换几句话说就是创建一个servlet对象,对象调用init()方法完成初始化的过程。
    (2)被创建的servlet对象调用service()方法响应客户的请求。
    (3)服务器被关闭时,调用destroy()方法杀掉servlet对象。
    注意:init()方法仅被调用一次,也就是在servlet首次加载时被调用。以后再有客户请求(无论是不同客户的请求还是同一客户的再次请求)相同的servlet服务时,web服务器将启动一个新的线程,在该线程中servlet调用service()方法响应客户的请求。
  5. Java servlet的技术优势:
    (1)servlet可以和其他资源(文件、数据库、applet、java应用程序等)交互,以生成返回给客户端的响应内容。如果需要,还可以保存请求响应过程中的信息。
    (2)采用servlet,服务器可以完成授权对本地资源的访问(如数据库),并且servlet自身将会控制外部用户的访问数量及访问性质。
    (3)Servlet可以是其他服务的客户端程序,例如,它们可以用于分布式的应用系统中,可以从本地硬盘,或者通过网络从远端硬盘激活servlet。
    (4)Servlet可以被链接(chain)。一个servlet可以调用另一个或者一系类servlet,即成为它的客户端。
    (5)采用servlet Tag技术,可以在HTML页面中动态调用servlet。
    (6)Servlet API与协议无关。它并不对传递它的协议有任何假设
    (7)像所有的java程序一样,servlet拥有面向对象java语言的所有优势
    (8)Servlet提供了java应用程序的所有优势——可移植、稳健、易开发。使用servlet的tag技术,servlet能够生成嵌于静态HTML页面中的动态内容。
    (9)一个servlet被客户端发送的第一个请求激活,然后它将继续运行于后台,等待以后的请求。每个请求将生成一个新的线程,而不是一个完成的进程。多个客户能够在同一个进程中同时得到服务。一般来说,servlet进程只是在web server 卸载时被卸载。
    通过表单调用servlet:
    DoGet():用于处理用户的Get请求。
    DoPost():用于处理用户的Get请求。
    DoPut():用于处理用户的HTTPPUT请求。
    DoDelete():用于处理用户的Delete请求。

第十章

  1. javaBean是java程序的一种组件,其实就是java类。javaBean规范将“组件软件”的概念引入到java编程的领域。
  2. Javabean具有的特性:
    (1)javabean是一个公开的类
    (2)Javabean包含一个无参的构造函数
    (3)Javabean给外界提供一组get型公开函数,利用这些函数来提取java bean内部的属性值。
    (4)Javabean给外界提供的一组set型公开函数,利用这些函数来修改javabean内部的属性值。

第十一章
MVC:即把一个应用的输入、处理、输出流程按照Model、View、Control的方式进行分离,这样一个应用程序被分为模型层、视图层、控制层。在MVC模型之前,Sun公司提出了两种基于JSP开发WEB应用系统的模型,基于纯JSP的开发模型和基于JSP+javabean的开发模型。
MVC模型的技术优势
(1)耦合性降低。
(2)部署速度和可维护性提高。
(3)可适用性和组件可重用行提高。
(4)有利于程序功能的扩展。

编写Servlet的注意事项: 用户编写的Servlet需要从HttpServlet继承;
在自定义的Servlet类内部重载doGet、doPost方法来处理客户端的GET/POST请求;
注意定义doGet和doPost方法时的异常处理问题;
必须导入java.io包、javax.Servlet包及javax.Servlet.http包;
doGet和doPost这两个方法是由service()方法调用的, 有时可能需要直接覆盖service()方法;

  1. Servlet接口
Public interface Servlet {
Public abstract void destroy();
Public abstract ServletConfig getServletConfig();
Public abstract void init(ServletConfig) throws
ServletException;
Public abstract void
service(ServletRequest,ServletResponse)
throws ServletException lOException; }
  1. HttpServlet类的方法
    (1) service()方法
Public void service(ServletRequest request, ServletResponse response)
throws ServletException,loException
它是GenericServlet中的service()方法的实现;
该访法调用下面重载的service()方法;
Protected void service(HttpServletRequest request,HttpServletResponse response)
HttpServlet实现这个方法后就成为一个HTTP请求分发者。
service ()方法把请求代理给doXXX()方法。

(2)doXXX ()方法
doGet 方法doGet的格式如下:

protected void doGet ( HttpServletResquest request, HttpServletResponse response)
throws ServletException,IOException;

doPost 方法doPost的格式如下:

protected void doPost(HttpServletResquest request, HttpServletResponse response)
throws ServletException,IOException;