1
				
				
						、
						Tomcat
				
				
						的目录结构
						
								
								
								
						
				
		
		
				
						
								| 
												
														目录
														
																
																
														
												
										 | 
												
														描述
														
																
																
														
												
										 | 
						
								| 
												/bin
										 | 
												存放
												Windows
												平台及
												Linux
												平台启动和关闭
												Tomcat
												的脚本文件
										 | 
						
								| 
												/conf
										 | 
												存放
												Tomcat
												服务器的各种配置文件,其中最重要的配置文件是
												server.xml
										 | 
						
								| 
												/server
										 | 
												包括
												3
												个子目录:
												Class
												、
												Lib
												、
												Webapps
										 | 
						
								| 
												/server/lib
										 | 
												存放
												Tomcat
												服务器所需的各种
												JAR
												文件
												(
												只有
												Tomcat
												可以访问
												)
										 | 
						
								| 
												/server/webapps
										 | 
												存放
												Tomcat
												自带的两个
												Web
												应用:
												admin
												和
												manager
										 | 
						
								| 
												/common/lib
										 | 
												存放
												Tomcat
												服务器以及所有
												Web
												应用都可以访问的
												JAR
												文件
										 | 
						
								| 
												/share/lib
										 | 
												存放所有
												web
												应用都可以访问的
												JAR
												文件
												(Tomcat
												不能访问
												)
										 | 
						
								| 
												/logs
										 | 
												存放
												Tomcat
												的日志文件
										 | 
						
								| 
												/webapps
										 | 
												当发布
												web
												应用时,默认情况下把
												web
												应用文件放于此目录下
										 | 
						
								| 
												/work
										 | 
												Tomcat
												把
												JSP
												生成的
												Servlet
												放于此目录下
										 | 
				
		
		
				注:
				lib
				目录下都只能接受
				JAR
				文件,如果类压缩文件为
				ZIP
				文件,应该将它展开,重新打包为
				JAR
				文件再拷贝到
				lib
				目录下。
		
		
				
						2
				
				
						、把开放目录结构的
						Web
				
				
						应用打包成
						war
				
				
						文件的方法
						
								
								
						
				
		
		
				(
				1
				)进入
				helloapp
				应用的根目录
				<CATALINA_HOME>/webapps/helloapp
				;
		
		
				(
				2
				)把整个
				web
				应用打包为
				helloapp.war
				文件,命令如下:
				jar cvf helloapp.war *.*
				;(展开:
				jar xvf helloapp.war
				);
		
		
				
						3
				
				
						、
						Servlet
				
				
						的功能
						
								
								
						
				
		
		
				(
				1
				)创建并返回基于客户请求的动态
				html
				页面
		
		
				(
				2
				)创建可嵌入到现有
				html
				页面中的部分
				html
				页面(
				html
				片段)
		
		
				(
				3
				)与其他服务器资源(如数据库或基于
				Java
				的应用程序)进行通讯
		
		
				(
				4
				)接收多个客户机的输入,并将结果广播到多个客户机上
		
		
				(
				5
				)根据客户请求采用特定的
				MIME(Multipurpose Internet Mail Extensions)
				类型对数据过滤,例如进行图象格式转换
		
		
				
						4
				
				
						、
						Servlet API
				
				
						类框图
						
								
								
						
				
		
		
				Servlet
				的框图是由两个
				Java
				包组成的:
				javax.servlet
				和
				javax.servlet.http
				。在
				javax.servlet
				包中定义了所有的
				Servlet
				类都必须实现或扩展的通用接口和类。在
				javax.servlet.http
				包中定义了采用
				http
				协议通信的
				HttpServlet
				类。
				 
		
		 
		
		
		
				
						5
				
				
						、
						Tomcat
				
				
						服务器初次执行
						JSP
				
				
						的过程
						
								
								
						
				
		
		
				  
		
		
		
				由
				JSP
				生成的
				Servlet
				类实现了
				javax.servlet.jsp.JspPage
				接口,该接口扩展了
				javax.servlet.Servlet
				接口。在
				javax.servlet.JspPage
				接口中定义了代表
				JSP
				生命周期的方法
				JspInit()
				和
				JspDestory()
				,类似
				Servlet
				的
				Init()
				和
				Destory()
				方法。
		
		
				
						6
				
				
						、
						JSP
				
				
						指令:
						page
				
				
						、
						include
				
				
						、
						taglib
				
		
		
				
						page
				
				
						指令:
				
				可以指定所使用的脚本语言、
				JSP
				代表的
				Servlet
				实现的接口、
				Servlet
				扩展的类以及导入的软件包。语法:
				<%@ page 
				属性
				1=”
				值
				1” 
				属性
				2=”
				值
				2” %>
		
		
				
						page
				
				
						指令属性表:
						
								
								
						
				
		
		
				
						
								| 
												属
												性
										 | 
												描
												
														  
												
												述
										 | 
												举
												例
										 | 
						
								| 
												language
										 | 
												指定文件所用的脚本语言。目前仅
												java
												为有效值和默认值。该指令作用于整个文档。当多次使用这一指令时,只有第一次有效。
												
														
														
												
										 | 
												<%@ page language=”java”  %>
										 | 
						
								| 
												method
										 | 
												指定
												Java
												程序片段(
												Scriptlet
												)所属的方法的名称。
												Java
												程序片段会成为指定方法的主体。默认的方法是
												service
												方法。当多次使用该指令时,只有第一次是有效的。该属性的有效值包括
												Service
												、
												doGet
												、
												doPost
												等。
												
														
														
												
										 | 
												<%@ page method=”doPost”  %>
										 | 
						
								| 
												import
										 | 
												指定导入的
												Java
												软件包名或类名列表,该列表用逗号分隔。在
												JSP
												文件中,可以多次使用该指令来导入不同的软件包
												
														
														
												
										 | 
												<%@ page import=”java.io.*,jav
										 
												a.util.Hashtable”  %>
										 | 
						
								| 
												content_type
										 | 
												指定响应结果的
												MIME
												类型。默认的
												MIME
												类型是
												text/html
												,默认字符编码为
												ISO-8859-1
												。当多次使用该指令时,只有第一次使用是有效的
												
														
														
												
										 | 
												<%@ page content_type=”text/html;
										 
												charset=GB2312” %>
										 | 
						
								| 
												session=”true/false”
										 | 
												指定
												JSP
												页面是否使用
												Session
												,默认为
												true
										 | 
												<%@ page session=”true” %>
										 | 
						
								| 
												errorPage=”error_url
										 | 
												当发生异常时,客户请求重新定向到哪个网页
												
														
														
												
										 | 
												<%@ page errorPage=
										 
												”errorpage.jsp” %>
										 | 
						
								| 
												isErrorPage=”T/F”
										 | 
												表示此
												JSP
												网页是否为处理异常的网页
												
														
														
												
										 | 
												<%@ page isErrorPage=”true” %>
										 | 
				
		
		
				
						include
				
				
						指令:
				
				JSP
				可以通过
				include
				指令来包含其它文件。被包含的文件可以是
				JSP
				文件、
				HTML
				文件或文本文件。如果被包含的是
				JSP
				文件,那么被包含的
				JSP
				文件中的
				Java
				程序片段也会被执行。
		
		
				include
				指令的语法为:
		
		
				<%@ include file=”relativeURL” %>
		
		
				 
		
		
				
						7
				
				
						、
						JSP
				
				
						隐含对象
						
								
								
						
				
		
		
				在编写
				JSP
				程序时,可以直接使用
				Servlet/JSP
				容器提供的隐含对象。使用这些对象的引用变量时不需要任何变量声明。
				JSP
				中的隐含对象列表:
		
		
				
						
								| 
												隐含对象
												
														
														
												
										 | 
												类
												
														    
												
												型
												
														
														
												
										 | 
						
								| 
												request
										 | 
												javax.servlet.HttpServletRequest
										 | 
						
								| 
												response
										 | 
												javax.servlet.HttpServletResponse
										 | 
						
								| 
												pageContext
										 | 
												javax.servlet.jsp.PageContext
										 | 
						
								| 
												application
										 | 
												javax.servlet.ServletContext
										 | 
						
								| 
												out
										 | 
												javax.servlet.jsp.JspWriter
										 | 
						
								| 
												config
										 | 
												javax.servlet.ServletConfig
										 | 
						
								| 
												page
										 | 
												java.lang.Object(
												相当于
												Java
												中的
												this
												关键字
												)
										 | 
						
								| 
												session
										 | 
												javax.servlet.http.HttpSession
										 | 
						
								| 
												exception
										 | 
												java.lang.Exception
										 | 
				
		
		
				
						8
				
				
						、装载并注册数据库驱动程序
						
								
								
						
				
		
		
				//
				装载
				JdbcOdbcDriver class
		
		
				Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);
		
		
				//
				装载并注册
				SQLServer Driver
		
		
				Class.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver”);
		
		
				java.sql.DriverManager.registerDriver(new com.microsoft.jdbc.sqlserver.SQLServerDriver());
		
		
				//
				装载并注册
				OracleDriver
		
		
				Class.forName(“oracle.jdbc.driver.OracleDriver”);
		
		
				java.sql.DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
		
		
				//
				装载并注册
				MySQLDriver
		
		
				Class.forName(“com.mysql.jdbc.Driver”);
		
		
				java.sql.DriverManager.registerDriver(new com.mysql.jdbc.Driver());//
				不是必要步骤
		
		
				 
		
		
				常用的数据库的
				JDBCURL
				形式
		
		
				◆如果通过JDBC-ODBC Driver连接数据库,形式如下:
		
		
				jdbc:odbc:datasource
		
		
				◆对于Oracle数据库连接,形式如下:
		
		
				jdbc:oracle:thin:@localhost:1521:sid
		
		
				◆对于SQL Server数据库连接,形式如下:
		
		
				jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=BookDB
		
		
				◆对于MySQL数据库连接,形式如下:
		
		
				jdbc:mysql://localhost:3306/BookDB
		
		
				中文编码转换问题
				
						:
						
								
								
						
				
		
		
				String dbUrl=”jdbc:mysql://localhost:3306/BookDB?useUnicode=true&characterEncoding=GB2312”
		
		
				
						9
				
				
						、
						HttpSession
				
				
						接口
						
								
								
						
				
		
		
				
						
								| 
												
														方
												
												
														
																  
														
												
												
														法
												
												
														
																
																
														
												
										 | 
												
														描
												
												
														
																  
														
												
												
														述
												
												
														
																
																
														
												
										 | 
						
								| 
												getId()
										 | 
												返回
												session
												的
												ID
										 | 
						
								| 
												invalidate()
										 | 
												使当前的
												session
												失效,
												servlet
												释放其占用的资源
												
														
														
												
										 | 
						
								| 
												setAttriibute(String name,Object object)
										 | 
												将一对
												name/value
												属性保存在
												HttpSession
												对象中
												
														
														
												
										 | 
						
								| 
												getAttribute(String name)
										 | 
												根据
												name
												参数返回保存在
												HttpSession
												对象中的属性名
												
														
														
												
										 | 
						
								| 
												getAttributeNames()
										 | 
												以数组的方式返回
												HttpSession
												对象中所有的属性名
												
														
														
												
										 | 
						
								| 
												isNew
										 | 
												判断是否是新建的
												session
										 | 
						
								| 
												setMaxInactiveinterval()
										 | 
												设定一个
												session
												可以处于不活动状态的最大时间间隔,以秒为单位
												
														
														
												
										 | 
						
								| 
												getMaxInactiveinterval()
										 | 
												得到
												session
												的最大时间间隔
												
														
														
												
										 | 
				
		
		
				
						10
				
				
						、一个标准的
						JavaBean
				
				
						的特征
						
								
								
						
				
		
		
				(
				1
				)
				JavaBean
				是一个公共的
				(public)
				类;
		
		
				(
				2
				)
				JavaBean
				有一个不带参数的构造方法;
		
		
				(
				3
				)
				JavaBean
				通过
				setXXX
				方法设置属性,通过
				getXXX
				方法获取属性。
		
		
				
						11
				
				
						、
						JSP
				
				
						访问
						JavaBean
				
				
						的语法
						
								
								
						
				
		
		
				可以通过程序代码来访问
				JavaBean
				,也可以用特定的
				JSP
				标签来访问
				JavaBean
		
		
				(1)
				导入
				JavaBean
				类
				
						
						
				
		
		
				如:
				<%@ page import=”mypack..CounterBean” %>
		
		
				(2)
				声明
				JavaBean
				对象
				
						
						
				
		
		
				<jsp:useBean id=”myBean” class=”mypack.CounterBean” scope=”session”/>
		
		
				注:
				scope
				可选值包括
				page
				、
				request
				、
				session
				、
				application
				,默认为
				page
				。
		
		
				(3)
				访问
				JavaBean
				属性
				
						
						
				
		
		
				JSP
				提供了访问
				JavaBean
				属性的标签,如果要将
				JavaBean
				的某个属性输出到网页上,可以用
				<jsp:getProperty>
				标签,如:
		
		
				<jsp:getProperty name=”myBean” property=”count”/>
		
		
				如果要给
				JavaBean
				的某个属性赋值,可以用
				<jsp:setProperty>
				标签,如:
		
		
				<jsp:setProperty name=”myBean” property=”count” value=”0”/>
		
		
				
						12
				
				
						、
						Tomcat
				
				
						安全域的类型
						
								
								
						
				
		
		
				
						
								| 
												类
												
												
												型
												
														
														
												
										 | 
												类
												
												
												名
												
														
														
												
										 | 
												描
												
														  
												
												述
												
														
														
												
										 | 
						
								| 
												内存域
												
														
														
												
										 | 
												MemoryRealm
										 | 
												在初始化阶段,从
												XML
												文件中读取安全验证信息,并把它们以一组对象的形式存放在内存中
												
														
														
												
										 | 
						
								| 
												JDBC
												域
												
														
														
												
										 | 
												JDBCRealm
										 | 
												通过
												JDBC
												驱动程序访问存放在数据库中的安全验证信息
												
														
														
												
										 | 
						
								| 
												数据源域
												
														
														
												
										 | 
												DataSourceRealm
										 | 
												通过
												JNDI
												数据源访问存放在数据库中的安全验证信息
												
														
														
												
										 | 
						
								| 
												JNDI
												域
												
														
														
												
										 | 
												JNDIRealm
										 | 
												通过
												JNDI provider
												访问存放在基于
												LDAP
												的目录服务器中的安全验证信息
												
														
														
												
										 | 
				
		
		
				
						13
				
				
						、
						MVC
				
				
						设计模式
						
								
								
						
				
		
		
				
						
								| 
												
														MVC
												
												
														模块
												
												
														
																
																
														
												
										 | 
												
														描
												
												
														
														
												
												
														述
												
												
														
																
																
														
												
										 | 
						
								| 
												模型
												
														
														
												
										 | 
												代表应用程序状态和业务逻辑
												
														
														
												
										 | 
						
								| 
												视图
												
														
														
												
										 | 
												提供可交互式的客户界面,向客户显示模型数据
												
														
														
												
										 | 
						
								| 
												控制器
												
														
														
												
										 | 
												响应客户的请求,根据客户的请求来操纵模型,并把模型的响应结果经由视图展现给客户
												
														
														
												
										 | 
				
		
		
				 
		
		
				 
		
		
				
						JDBC-ODBC
				
				
						编程的典型步骤
						
								
								
						
				
		
		
				
						1
				
				
						、输入
						java.sql
				
				
						包
						
								
								
						
				
		
		
				在程序的开头,必须加入下面的代码:
		
		
				Import java.sql.*
		
		
				
						2
				
				
						、声明变量
						
								
								
						
				
		
		
				在
				JDBCDemo.java
				,声明了下面三个变量,
				stmt
				用于
				select
				语句,
				pstmt
				用于
				update
				语句,
				rs
				用于
				select
				的结果集。
		
		
				Statement stmt;
		
		
				PreparedStatement pstmt;
		
		
				ResultSet rs;
		
		
				
						3
				
				
						、加载
						jdbc-odbc
				
				
						桥驱动程序
						
								
								
						
				
		
		
				Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);
		
		
				
						4
				
				
						、定义
						JDBC URL
				
		
		
				URL
				中使用的
				JDBCDemo
				就是在“控制面板”的“
				ODBC
				数据源(
				32
				位)”中设置的
				ODBC
				数据源
				JDBCDemo
				。
		
		
				String url=”jdbc:odbc:JDBCDemo”;
		
		
				
						5
				
				
						、连接数据库
						
								
								
						
				
		
		
				Connection con=DriverManager.getConnection(url);
		
		
				
						6
				
				
						、进行相应的数据操作
						
								
								
						
				
		
		
				如果需要执行
				select
				操作,可以使用
				Statement
				对象或
				PreparedStatement
				对象,如果需要进行
				update
				操作,就只能使用
				PreparedStatement
				对象。
		
		
				
						7
				
				
						、关闭数据库连接
						
								
								
						
				
		
		
				Con.close();
		
		
				 
		
		
				
						源程序:
						JDBCDemo.java
				
		
		
				
						
								| 
												/*
										 
												* @(#) JDBCDemo.java
										 
												*/
										 
												import java.sql.*;
										 
												 
										 
												/**
										 
												*
												演示
												JDBC
												操作数据库的各项功能,包括表的
												create
												、
												drop
												、
												insert
												、
												update
												、
												select
										 
												*@versin 1.00 2004/09/05
										 
												*@author spring
										 
												*since jdk1.3
										 
												*/
										 
												 
										 
												public class JDBCDemo
										 
												{
										 
												
														       public static void main(String args[])
										 
												
														       {
										 
												
														              try{
										 
												
														              Statement stmt;
										 
												
														              PreparedStatement pstmt;
										 
												
														              ResultSet rs;
										 
												
														              
														
														
												
										 
												
														              //
												加载
												jdbc-odbc
												桥驱动程序
												
														
														
												
										 
												
														              Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
										 
												
														              
														
														
												
										 
												
														              //
												定义
												JDBC URL
										 
												
														              String url="jdbc:odbc:JDBCDemo";
										 
												
														              
														
														
												
										 
												
														              //
												得到与数据库的连接
												
														
														
												
										 
												
														              Connection con=DriverManager.getConnection(url);
										 
												
														              
														
														
												
										 
												
														              //
												显示
												URL
												和连接信息
												
														
														
												
										 
												
														              System.out.println("URL:"+url);
										 
												
														              System.out.println("Connection:"+con);
										 
												
														              
														
														
												
										 
												
														              //
												得到一个
												Statement
												对象
												
														
														
												
										 
												
														              stmt=con.createStatement();
										 
												
														              
														
														
												
										 
												
														              //
												如果表
												DemoTable
												已经存在,则删除之,否则,抛掷一个异常
												
														
														
												
										 
												
														              System.out.println("If DemoTable Exist,Delete!");
										 
												
														              try{
										 
												
														              
														     stmt.executeUpdate("DROP TABLE DEMOTable");
										 
												
														              
														   }catch(Exception e){
										 
												
														              
														   
														  System.out.println(e);
										 
												
														              
														   
														  System.out.println("Not Delete");
										 
												
														              }
										 
												
														              
														
														
												
										 
												
														              //
												在数据库中创建一个表
												DemoTable
										 
												
														              stmt.executeUpdate("CREATE TABLE DemoTable(id int,val char(15) not null)");
										 
												
														              System.out.println("Table DemoTable created!");
										 
												
														              
														
														
												
										 
												
														              //
												在表中插入一些值
												
														
														
												
										 
												
														              stmt.executeUpdate("insert into DemoTable(id,val) values(1,'one')");
										 
												
														              stmt.executeUpdate("insert into DemoTable(id,val) values(2,'two')");
										 
												
														              stmt.executeUpdate("insert into DemoTable(id,val) values(3,'three')");
										 
												
														              stmt.executeUpdate("insert into DemoTable(id,val) values(4,'four')");
										 
												
														              stmt.executeUpdate("insert into DemoTable(id,val) values(5,'five')");
										 
												
														              
														
														
												
										 
												
														              //
												得到另一个
												Statement
												对象
												
														
														
												
										 
												
														              stmt=con.createStatement();
										 
												
														              
														
														
												
										 
												
														              //
												查询数据库中的表
												DemoTable
												,得到以
												ID
												排序后的所有记录,并存储在
												RS
												中
												
														
														
												
										 
												
														              rs=stmt.executeQuery("select * from DemoTable order by id");
										 
												
														              
														
														
												
										 
												
														              //
												显示表
												DemoTable
												中的所有记录
												
														
														
												
										 
												
														              System.out.println("Display all results:");
										 
												
														              while(rs.next())
										 
												
														              {
										 
												
														                     int theInt=rs.getInt("id");
										 
												
														                     String str=rs.getString("val");
										 
												
														                     System.out.println("id=" + theInt + "val=" + str);
										 
												
														              }
										 
												
														       
														       
														
														
												
										 
												
														              
														
														
												
										 
												
														              //
												创建已准备好的语句,更新
												DemoTable
												表中某条记录
												val
												字段
												
														
														
												
										 
												
														              //
												已准备好的语句接受两个参数
												
														
														
												
										 
												
														              
														
														
												
										 
												
														              /**********************
										 
												
														              pstmt=con.preparedStatement("update DemoTable set val=? where id=?");
										 
												
														              
														
														
												
										 
												
														              //
												更改表
												DemoTable
												中的第
												2
												条记录的
												val
												字段的值
												
														
														
												
										 
												
														              //
												填充
												update
												语句中的
												"?",
												并执行
												update
												语句
												
														
														
												
										 
												
														              pstmt.setString(1,"Hello!");
										 
												
														              pstmt.setInt(2,2);
										 
												
														              pstmt.executeUpdate();
										 
												
														              System.out.println("Update row number 2:ok.");
										 
												
														              
														
														
												
										 
												
														              
														
														
												
										 
												
														              //
												显示表
												DemoTable
												中更新后的第
												2
												条记录
												
														
														
												
										 
												
														              stmt=con.createStatement();
										 
												
														              rs=stmt.executeQuery("select * from DemoTable order by id");
										 
												
														              System.out.println("Display row 2:");
										 
												
														              if(rs.next() && rs.next())
										 
												
														              {
										 
												
														                     int theInt=rs.getInt("id");
										 
												
														                     String str=rs.getString("val");
										 
												
														                     System.out.println("id=" + theInt + "val=" + str);
										 
												
														              }
										 
												
														              
														
														
												
										 
												
														              ***************/
										 
												
														              
														
														
												
										 
												
														              
														
														
												
										 
												
														              //
												关闭与数据库的连接
												
														
														
												
										 
												
														              con.close();
										 
												
														       }catch(Exception e){   //
												异常处理
												
														
														
												
										 
												
														       e.printStackTrace();
										 
												}
										 
												}
										 
												}
										 | 
				
		
		
				 
		
		
				
						JSP
				
				
						的中文环境
						
								
								
						
				
		
		
				常见的处理
				JSP
				的中文的方法有两种:
		
		
				<%@ page contentType=”text/html;charset=gb2312”%>
		
		
				<%
		
		
				String Hi=”
				您好
				”;
		
		
				byte[] tmpbyte=Hi.getBytes(“ISO8859_1”);
		
		
				Hi=new String(tmpbyte);
		
		
				Out.print(Hi);
		
		
				%>
		
		
				通过简单总结,中文处理发生于以下几个地方:
		
		
				(
				1
				)在
				url
				附带中文参数,可以直接读取。
		
		
				例如:
				<%=request.getParameter(“showword”)%>
		
		
				(2) 
				与数据库有关的各种
				sql
				操作,使用
				Access
				没有发生问题。
		
		
				 
		
		
				1 JSP
				基本语法
		
		
				
						1.1 JSP
				
				语句类型
		
		
				JSP
				语句主要有以下五种类型:
		
		
				编译器指令
				<%@
				指令
				%>
		
		
				声明
				<%!
				预定义内容
				%>
		
		
				表达式
				<%=
				表达式
				%>
		
		
				脚本
				Scriptlet<%
				代码
				%>
		
		
				注解
				<%--
				注释内容
				--%>
		
		
				示例:
		
		
				<%@ page language=”java”%>
		
		
				<html>
		
		
				<head>
		
		
				<title>Hello,JSP</title>
		
		
				</head>
		
		
				<body bgcolor=red>
		
		
				<%! String strHello=”How are you”;%>
		
		
				<h1><%=strHello%></h1>
		
		
				<%
		
		
				out.println(“This is a sample”);
		
		
				%>
		
		
				<%--This is a sample of jsp--%>
		
		
				</body>
		
		
				</html>
		
		
				
						1.2 
				
				指令语法
		
		
				
						1.2.1 include
						指令
				
		
		
				在
				JSP
				中包含一个静态的文件,同时解析这个文件中的
				JSP
				语句。
		
		
				语法:
				<%@ include file=”relativeURL”%>
		
		
				属性:
				#file=”relativeURL”
		
		
				
						1.2.2 Page
				
				指令
		
		
				定义
				JSP
				文件中的全局属性
		
		
				语法:
		
		
				<%@ page
		
		
				[language=”java”]
		
		
				[extends=”package.class”]
		
		
				[import=”{package.class|package.*},….]
		
		
				[session=”true|false”]
		
		
				[buffer=”none|8kb|sizekb”]
		
		
				[autoFlush=”true|false”]
		
		
				[isThreadSafe=”true|false”]
		
		
				[info=”text”]
		
		
				[errorPage=”relativeURL”]
		
		
				[contentType=”mimeType[;charset=characterSet]”|”text/html;charset=ISO-8859-1”]
		
		
				[isErrorPage=”true|false”]
		
		
				%>
		
		
				示例:
		
		
				<%@ page import=”java.util.*,java.lang.*”%>
		
		
				<%@ page buffer=”5kb” autoFlush=”false”%>
		
		
				<%@ page errorPage=”error.jsp”%>
		
		
				
						1.2.3 
						声明
				
		
		
				在
				JSP
				程序中声明合法的变量和方法
		
		
				语法:
		
		
				<%! declaration;[daclaration;]+…%>
		
		
				示例:
		
		
				<%! int=0;%>
		
		
				<%! int a,b,c;%>
		
		
				<%! Circle a=new Circle(2,0);%>
		
		
				
						1.2.4 
						表达式
				
		
		
				包含一个有效的程序段
		
		
				语法:
		
		
				<% code fragment%>
		
		
				
						1.3 
				
				动作语法(
				
						Action
				
				)
		
		
				JSP
				动作语法应用
				XML
				语法结构来控制
				Servlet
				引擎的行为,你可以动态地插入文件、重用
				Java Beans
				控件、导向另一个页面或产生
				Java Html
				插件。可用的动作有:
		
		
				jsp:include
				:在页面得到请求时包含一个文件;
				
						
						
				
		
		
				jsp:useBean
				:使用
				JavaBean
				控件;
				
						
						
				
		
		
				jsp:setProperty
				:设置
				JavaBean
				的属性;
				
						
						
				
		
		
				jsp:getProperty
				:将
				JavaBean
				的属性插入到输出中;
				
						
						
				
		
		
				jsp:forward
				:引导请求者进入新的页面
				
						
						
				
		
		
				jsp:plugin
		
		
				
						1.3.1 jsp:include
						动作
				
		
		
				这个动作让你在页面生成时插入文件。
		
		
				语法:
		
		
				<jsp:include page=”relativeURL” flush=”true”/>
		
		
				
						1.3.2 jsp:useBean
						动作
				
		
		
				这个动作让你装入这个
				JSP
				页中要用到的
				JavaBean
				,它让你能够充分应用
				java
				的重用性。
		
		
				语法:
		
		
				<jsp:useBean id=”name” class=”package.class”/>
		
		
				
						1.3.3 jsp:setProperty
						动作
				
		
		
				jsp:setProperty
				设置所要应用的
				Bean
				的属性值,你可以在两种情况下应用此动作。
		
		
				1
				、用在
				jsp:useBean
				之后,表示如下:
		
		
				<jsp:useBean id=”myName”…/>
		
		
				…
		
		
				<jsp:setProperty name=”myName” property=someProperty”…/>
		
		
				在这种情况下,此
				jsp:setProperty
				动作不管是新的例示还是原有的
				Bean
				对象,都会执行。
		
		
				2
				、用在
				jsp:useBean
				实体之内,表示如下:
		
		
				<jsp:useBean id=”myName”…>
		
		
				…
		
		
				<jsp:setProperty name=”myName” property=”someProperty”…/>
		
		
				</jsp:useBean>
		
		
				 
		
		
				 
		
		
				JDBC API
				最重要的接口是:
				
						
						
				
		
		
				* java.sql.DriverManager 
				处理驱动的调入并且对产生新的数据库连接提供支持。
				
						
						
				
		
		
				* java.sql.Connection 
				代表对特定数据库的连接。
				
						
						
				
		
		
				* java.sql.Statement 
				 代表一个特定的容器,来对一个特定的数据库执行
				SQL
				语句。
				
						
						
				
		
		
				* java.sql.ResultSet 
				 控制对一个特定语句的行数据的存取。
				
						
						
				
		
		
				其中
				java.sql.Statement
				又有两个子类型:
				
						
						
				
		
		
				1. java.sql.PreparedStatement 
				 用于执行预编译的
				SQL
				语句。
				
						
						
				
		
		
				2. java.sql.CallableStatement 
				 用于执行对一个数据库内嵌过程的调用。
				
						
						
				
		
		
				 
		
		
				 
		
		
				 
		
		
				 
		
		
				 
		
		
				 
		
		
				 
		
		
				 
		
|----------------------------------------------------------------------------------------|
                           版权声明  版权所有 @zhyiwww
            引用请注明来源 http://www.blogjava.net/zhyiwww    
|----------------------------------------------------------------------------------------|
	
posted on 2006-05-10 11:04 
zhyiwww 阅读(1534) 
评论(3)  编辑  收藏  所属分类: 
j2ee