J2EE技术.ppt_第1页
J2EE技术.ppt_第2页
J2EE技术.ppt_第3页
J2EE技术.ppt_第4页
J2EE技术.ppt_第5页
已阅读5页,还剩183页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

J2EE初级开发 目录 一 J2EE的由来二 J2EE的组成三 JSP编程四 JDBC连接数据库技术五 Servlet开发技术六 JavaBean组件开发 一 J2EE的由来 1 传统应用程序模型 2 Web应用程序模型3 为什么需要J2EE4 什么是J2EE 1 传统应用程序模型 一 数据访问 表示和业务逻辑在一个应用中代码复用 代码可维护性 代码的修改十分困难应用不是分布式的 不具有可伸缩性 主机系统或单层结构 主机 终端模式 1 传统应用程序模型 二 用户界面和程序逻辑绑在一起 代码难以重用服务器的数据库必须同每一个活动的客户保持连接 消耗大量的运算资源 随着客户数目的增加性能不断下降 且存在死锁及崩溃的可能数据模型 紧耦合 在每一客户端 数据库结构改变将导致全体客户端改变 不利于更新和维护客户端应用程序越来越大 对使用者的要求也越来越高 客户 服务器结构 胖 客户端 一 J2EE的由来 1 传统应用程序模型2 Web应用程序模型 3 为什么需要J2EE4 什么是J2EE 2 Web应用程序模型 一 传统的Web应用程序模型 2 Web应用程序模型 一 WWW浏览方式带来的变化 Browser based 的客户端计算方式向服务器端的集中转化客户端 业务数据模型与UI分开 更 瘦 业务逻辑在中间层 通过 连接池 多线程可以处理多客户端 传统的Web应用程序模型 2 Web应用程序模型 二 N层计算模式的引入 采用N层计算结构 从逻辑角度看 系统分成客户端 Web服务器 应用服务器 数据库服务器四层 从物理角度看 应用服务器可以视用户并发数从1到N台进行扩充 以保证客户端用户的响应要求 2 Web应用程序模型 二 从1层到N层 得到的改进 每一层可以被单独改变 而无需其它层的改变降低了部署与维护的开销 提高了灵活性 可伸缩性引入瘦客户端 计算被集中至服务器端 使性能提高成为可能仍然存在的问题 对企业级应用开发人员的要求太高 需要熟悉分布式协议 IIOP IIOPS HTTP HTTPS CGI ISAPI NSAPI 进行一致性事务处理 负载平衡 考虑安全性 N层计算模式的引入 2 Web应用程序模型 三 应用程序各部分之间松耦合 从而应用程序各部分的更新相互独立业务逻辑集中放在服务器上由所有用户共享 使得系统的维护和更新变得简单 也更安全数据库不再和每一个活动的用户保持一个连接 而是由应用程序组件负责与数据库打交道 降低数据库服务器的负担 提高了性能 多层应用程序的真正优点 一 J2EE的由来 1 传统应用程序模型2 Web应用程序模型3 为什么需要J2EE 4 什么是J2EE 3 为什么需要J2EE 在企业级应用开发中所面临而且必须解决的问题 分布式可移植旧系统集成支持面向Web要有好的特性可伸缩可扩展易维护 3 为什么需要J2EE J2EE提供了一套完整的解决所有这些问题的框架方案 提供了分布式 可移植构件的框架为构件与应用服务器提供标准API简化了服务器端中间层构件的设计 3 为什么需要J2EE J2EE对开发者和用户来说意味着 更短的开发时间可重用构件JSPEJB更简化的连接XML JDBC RMI IIOP 一 J2EE的由来 1 传统应用程序模型2 Web应用程序模型3 为什么需要J2EE4 什么是J2EE 4 什么是J2EE Openandstandardbasedplatformfordeveloping deployingandmanagingn tier Web enabled server centricenterpriseapplications开放的 基于标准的平台 用以开发 部署和管理N层结构 面向Web的 以服务器为中心的企业级应用 二 J2EE的组成 1 J2EE的核心技术简介2 J2EE架构 JSP技术 JSP是服务器端的脚本语言 是以Java和Servlet为基础开发而成的动态网页生成技术 它的底层实现是JavaServlet JSP JavaServerPages 页面由HTML代码和嵌入其中的Java代码所组成 服务器在页面被客户端所请求以后对这些Java代码进行处理 然后将生成的HTML页面返回给客户端的浏览器 特点 面向对象 跨平台 和Servlet一样稳定 可以使用Servlet提供的API 克服了Servlet的缺点 应用 一般和JavaBeans结合使用 从而将界面表现和业务逻辑分离 JSP执行过程 JSP和ASP的比较 相似 都是运行于服务器端的脚本语言 两者都是动态网页生成技术 这两项技术都使用HTML来决定网页的版面 都是在HTML代码中混合某种程序代码 由语言引擎解释执行程序代码 HTML代码主要负责描述信息的显示样式 而程序代码则用来描述处理逻辑 不同 JSP是由Sun推出的一项技术 是基于JavaServlet以及整个java体系的Web开发技术 利用这一技术可以建立先进 安全和跨平台的动态网站 ASP是MS公司推出的技术 只能在MS的平台上运行 无法实现跨平台 也无安全性保障 ASP下的编程语言是VBScript之类的脚本语言 而JSP使用的是Java ASP与JSP还有一个更为本质的区别 两种语言引擎用完全不同的方式处理页面中嵌入的程序代码 在ASP下 VBScript代码被ASP引擎解释执行 在JSP下 代码被编译成Servlet并由Java虚拟机执行 这种编译操作仅在对JSP页面的第一次请求时发生 JSP和ASP的比较 JavaServlet技术 Servlets Server Applet 是一些运行于Web服务器端的Java小程序 用来扩展Web服务器的功能 Servlet是一种扩展Web服务器功能的技术 而且由于它是用Java编写的 所以能够访问整个JavaAPI库 包括用于访问企业数据库的JDBCAPI 用来编写Servlets的ServletAPI对于服务器环境和协议没有任何特殊的要求 所以Servlets具有很强的可移植性 也不像利用CGI程序等其它方式那样具有性能局限 JavaServlet和JSP的比较 相似 两者都是基于Java的技术 所以都继承了Java的所有特性 跨平台 多线程 OO 都可以使用Java强大的API 两者工作方式相似 JSP代码先被JSP容器转换为Servlet代码再编译为类 两者在J2EE体系结构中的工作层次相同 都负责与客户端的连接 不同 编程方式不同 Servlets是一些运行于Web服务器端的Java小程序 而JSP是脚本 编写起来更简单容易 应用目的不同 Servlet主要用于从客户端接收请求信息 而JSP主要负责将服务器端信息传送到客户端 使用JSP的真正意义在于 可以将界面设计和业务逻辑设计分离 JavaBean技术 JavaBean是基于Java的组件模型 有点类似于Microsoft的COM组件 JavaBean通过Java虚拟机 JavaVirtualMachine 执行 运行JavaBean最小的需求是JDK1 1或者以上的版本 在Java平台中 通过JavaBean可以无限扩充Java程序的功能 通过JavaBean的组合可以快速的生成新的应用程序 对于程序员来说 最好的一点就是JavaBean可以实现代码的重复利用 另外对于程序的易维护性等等也有很重大的意义 JDBC技术 JDBC是一组API 定义了用来访问数据源的标准Java类库 使用这个类库可以以一种标准的方法 方便地访问数据库资源 JDBC对数据库的访问具有平台无关性 JDBCAPI为访问不同的数据库提供了一种统一的途径 象ODBC一样 JDBC对开发者屏蔽了一些细节问题 JDBC的目标是使应用程序开发人员使用JDBC可以连接任何提供了JDBC驱动程序的数据库系统 这样就使得程序员无需对特定的数据库系统的特点有过多的了解 从而大大简化和加快了开发过程 二 J2EE的组成 1 J2EE的核心技术简介2 J2EE架构 J2EE开源框架 Struts技术它采用MVC模式 将模式 分离显示逻辑和业务逻辑 的能力发挥得淋漓尽致 Hibernate进行Java类到数据库表的映射 进行数据管理 完成Java应用数据访问层的持久化操作 Spring整合Struts和Hibernate 完成大型Web应用的架构工作 J2EE开源框架 J2EE开源框架 运行平台TomcatJBossIBMWebshpereBEAWeblogicOracleiAS 三 JSP编程 HTML简介2 JavaScript简介3 JSP语法 1 HTML简介 HTML页面的基本结构使用链接标记使用字体标记form标记的使用table标记的使用 HTML表单 Web运行原理HTML表单的概念表单元素介绍HTML表单的客户端确认服务器端的确认 Web运行原理 客户端同Web服务器之间的协议为httpHTTP为超文本传输协议HTPP协议为 请求和响应 协议客户端请求包括 请求行 头 信息体客户端请求的方法GET POST HEADDELETE TRACE PUT提交表单的方法 GET POST Web运行原理 服务器接收到请求后 返回HTTP响应每个响应 状态行 头 信息体常见状态404所请求的文件不存在500服务器程序出错200OK成功信息体用于浏览器显示 HTML表单 表单是具有输入域 文本域的页面用于客户端同服务器端交互用户在客户端填写表单 然后 提交 表单中的信息发送到服务器服务器返回处理情况 HTML表单标记 表单主标记表单中的标记是表单开始标记 结束 表单的例子 表单用户登录用户名 密码 运行结果 form标记 描述表单的特性 语法method表单传输方法GET方法POST方法action为表单处理方式 通常为一个URLenctype为编码方式 标记 表单中输入信息的区域属性type类型name名称id标识maxlength最大字符数size输入域宽度value域的初始值button按钮用javascript响应 的类型 text文本passwowrd口令方式checkbox多选框name相同radio单选按钮name相同image图片hidden隐藏表单发送数据submit提交按钮向服务器提交表单reset复位按钮将表单充置为初始状态 文本框 TEXTAREA 多行文本域 参数COLS 宽度ROWS 高度NAME 名称CPUPIV1500Memory512M 下拉框 SELECT 定义列表框 参数MULTIPLE可同时选取多行NAME名称SIZE可见项目数每个项目用option标记属性SELECTED出现在option表示选中 select的例子 北京天津上海重庆 表单提交 提交方式 submit类型按钮提交表单通过普通按钮的javascript函数传输方法依据中的method推荐使用POST传输编码依据中的enctype处理方式依据中的action 表单清除 reset按钮重置表单为初始值 综合例子 表单用户注册用户名 密码 你喜欢 足球篮球 性别 男女你的计算机CPUPIV1500Memory512M你计算机的操作系统 你所在地 北京天津上海重庆 运行结果 JSP与客户机的交互 从表单中获得参数返回参数表单的服务器端确认 从表单中获得参数 JSP通过request内置对象获取表单信息用不同的方法获取不同种类的信息获取参数的主要方法 getParameter 获取参数的值getParameterNames 获取所有参数名的枚举getParameterValues 获取一个参数的多个值 getParameter 可以获得文本框 文本区域 单选 多选的值表单中各元素的NAME属性是它的唯一标识 用它获取参数 例如 request getParameter User 向客户端输出 使用内置对象outout println 用户名 User 使用 使用内置对象applicatioin位访问者 服务器端确认方法 采用Java类对表单数据进行检查采用JSP进行确认 服务器端确认的例子 服务器端确认用户登录用户名 密码 loginAction jsp 确认JSP out println 密码 pwd else 用户名不能为空用户登录用户名 密码 运行结果 TOMCAT 未输入姓名 直接提交 输入用户名 输入用户名后提交 2 JavaScript简介 JavaScript是脚本语言 用来实现客户端的特效 客户端用户信息输入的验证等 3 JSP语法 JSP的脚本语句JSP的编译指示语句JSP的动作语句 JSP文件结构及主要标签 其他HTML语言其他HTML语言 JSP示例 Hello Date jsp 你好 今天是号 星期 importjava util response setContentType text html charset gb2312 out pageContext getOut out write r n r n r n r n你好 今天是 r n Datetoday newDate out print today getDate out write 号 星期 out print today getDay out write r n r n r n JSP文件 servlet文件 JSP语法概述 JSP原始代码中包含了JSP元素和Template 模板 data两类Templatedata指的是JSP引擎不处理的部分 即标记以外的部分 例如代码中的HTML的内容等 这些数据会直接传送到客户端的浏览器JSP元素则是指将由JSP引擎直接处理的部分 这一部分必须符合JSP语法 否则会导致编译错误 jsp例子 hi jsp Hi JSP实验 Templatedata JSP元素 JSP语法 JSP语法分为三种不同的类型编译器指令 DIRECTIVE 例如 脚本语法 SCRIPTING 动作语法 ACTION 例如 JSP中的脚本语句 脚本语句包括 HTML注释 隐藏注释 声明 表达式 脚本段 JSP的编译指示语句 编译器指令包括 include 指令 page 指令和 taglib 指令它们包含在 卷标里 JSP的动作语句 动作语法包括 HTML注释 JSP语法格式如下 或 这种注释发送到客户端 但不直接显示 在源代码中可以查看到 JSP指令仍被编译执行 HTML注释 HTML HTML注释显示出来的文字 HTML注释 要多加练习被访问 在源文件中包括当前时间 隐藏注释 JSP语法格式如下 JSP编译器不对之间的语句进行编译 不发送到客户端 在浏览器中的 查看源代码 中看不到 隐藏注释 ACommentTestATestofComments 声明 JSP语法格式如下 表达式 用于在页面上输出信息 语法格式如下 表达式 test a b c 4 5 jsp执行结果 Scriptlet脚本段 JSP语法格式如下 break case1 out println Youselectcondition1 break case2 out println Youselectcondition2 break default out println Yourselectnotin0 1 2 include包含指令 include指令 向当前页中插入一个静态文件或动态文件 JSP语法格式如下 或 testThecurrentdateandtimeare curDate jsp Page指令 Page 指令用于定义JSP文件中的全局属性 JSP语法格式如下 page language java extends package class import package class package session true false buffer none 8kb sizekb Page指令 autoFlush true false isThreadSafe true false info text errorPage relativeURL contentType mimeType charset characterSet text html charset ISO 8859 1 isErrorPage true false page指令详说 指令作用于整个JSP页面 同样包括静态的包含文件 但是 指令不能作用于动态的包含文件 比如 可以在一个页面中用上多个 指令 但是其中的属性只能用一次 不过也有例外 那就是import属性 因为import属性和Java中的import语句类似 参照JavaLanguage import语句引入得是Java语言中的类 所以此属性就能多用几次 无论把 指令放在JSP的文件的哪个地方 它的作用范围都是整个JSP页面 不过 为了JSP程序的可读性 以及好的编程习惯 最好还是把它放在JSP文件的顶部 page指令 testTestforusing Page taglib指令 JSP语法用于引入定制标签库 taglib指令 属性1 uri URIToTagLibrary UniformResourceIdentifier URI 根据标签的前缀对自定义的标签进行唯一的命名 URI可以是以下的内容 UniformResourceLocator URL 由RFC2396定义 可以从以下位置查看 http www hut fi u jkorpela rfc 2396 full html UniformResourceName URN 由RFC2396定义一个相对或绝对的路径可以是标签库描述文件 2 prefix tagPrefix 表示标签在JSP中的名称 在自定义标签之前的前缀 比如 在中的public 如果这里不写public 那么这就是不合法的 请不要用jsp jspx java javax servlet sun 和sunw做为你的前缀 这些已被Sun公司声明保留 Tablib示例 test JSP语法格式如下 1 2 可以有多个 标记 1 page relativeURL 这里是一个表达式或是一个字符串用于说明你将要定向的文件或URL 这个文件可以是JSP 程序段 或者其它能够处理request对象的文件 如asp cgi php 2 向一个动态文件发送一个或多个参数 如果想传递多个参数 可以在一个JSP文件中使用多个 name 指定参数名 value 指定参数值 3 标签从一个JSP文件向另一个文件传递一个包含用户请求的request对象 标签以后的代码将不执行 例子 test forwardTo jsp 包含一个静态或动态文件 JSP语法格式如下 1 flush true 2 flush true 指可以有多个 标记 注意 在JSP页面被请求时才将指定文件的内容插入到服务器的响应输出中 的属性 1 page relativeURL 参数为一相对路径 或者是代表相对路径的表达式 2 flush true 这里必须使用flush true 不能使用false值 而缺省值为false 3 用来传递一个或多个参数到指定的动态文件 能在一个页面中使用多个 来传递多个参数 例子 peixun 2 10 jsp included jsp 运行结果 使用 插入一个applet或Bean 必要的话还要下载一个Java插件用于执行它 JSP语法格式如下 jsp plugintype bean applet code classFileName codebase classFileDirectoryName name instanceName archive URIToArchive align bottom top middle left right height displayPixels width displayPixels hspace leftRightPixels vspace topBottomPixels jreversion JREVersionNumber 1 1 nspluginurl URLToPlugin iepluginurl URLToPlugin textmessageforuser 例子 Unabletoloadapplet 创建一个JavaBean实例并指定它的名字和作用范围 JSP语法格式如下 属性以及用法 1 id beanInstanceName 在所定义的范围中确认Bean的变量 使之能在后面的程序中使用此变量名来分辨不同的Bean 这个变量名对大小写敏感 必须符合所使用的脚本语言的规定 这个规定在JavaLanguage规范已经写明 如果Bean已经在别的 标记中创建 则当使用这个已经创建过Bean时 id的值必须与原来的那个id值一致 否则则意味着创建了同一个类的两个不同的对象 2 scope page request session application Bean存在的范围以及id变量名的有效范围 缺省值是page 以下是详细说明 page 能在包含 元素的JSP文件以及此文件中的所有静态包含文件中使用这个Bean 直到页面执行完毕向客户端发回响应或转到另一个文件为止 request 在任何执行相同请求的Jsp文件中使用这个Bean 直到页面执行完毕向客户端发回响应或转到另一个文件为止 能够使用Request对象访问这个Bean 比如request getAttribute beanInstanceName session 从创建Bean开始 就能在任何使用相同session的jsp文件中使用这个Bean 这个Bean存在于整个Session生存周期内 任何在分享此Session的Jsp文件都能使用同一Bean 注意在创建这个Bean的Jsp文件中 指令中必须指定 session true application 从创建Bean开始 就能在任何使用相同application的Jsp文件中使用Bean 这个Bean存在于整个application生存周期内 任何在分享此application的Jsp文件都能使用同一Bean 3 class package class 使用new关键字以及class构造器从一个class中实例化一个bean 这个class不能是抽象的 必须有一个公用的 没有参数的构造器 这个package的名字区别大小写 4 type package class 如果这个Bean已经在指定的范围中存在 那么赋予这个Bean一个的数据类型 如果使用type属性的同时没有使用class或beanName Bean将不会被实例化 注意package和class的名称区分大小写 JSP语法格式如下 1 name beanInstanceName bean的名字 由指定 2 property propertyName 所指定的Bean的属性名 例子 声明引用的beantestCalendarof 设置Bean的属性值 JSP语法格式如下 属性 1 name beanInstanceName 表示已经在 中创建的Bean实例的名字 2 property 储存用户在jsp输入的所有值 用于匹配Bean中的属性 3 property propertyName param parameterName 用一个参数值来指定Bean中的一个属性值 一般情况下是从request对象中获得的 其中property指定Bean的属性名 param指定request中的参数名 4 property propertyName value string 使用指定的值来设定Bean属性 这个值可以是字符串 也可以是表达式 如果这个字符串 那么它就会被转换成Bean属性的类型 如果是一个表达式 那么它的类型就必须和将要设定的属性值的类型一致 如果参数值为空值 那么对应的属性值也不会被设定 此外 不能在同一个 中同时使用param和value参数 packagemyBean publicclassStudent privatelongclassNo privateStringname privateintage privatebooleansexy publicStudent 构造函数classNo 970431 name ZZZl age 34 sexy true publiclonggetClassNo returnclassNo publicvoidsetClassNo longno this classNo no 例 建立javaBean myBean Student 例子 publicStringgetName returnname publicvoidsetName Stringname this name name publicintgetAge returnage publicvoidsetAge intage this age age publicbooleangetSexy returnsexy publicvoidsetSexy booleansexy this sexy sexy 第一次运行结果 以后运行结果 第一行发生变化 3 4JSP内置对象 JSP有以下九种内置对象 包括 request 请求对象response 响应对象pageContext 页面上下文对象session 会话对象application 应用程序对象out 输出对象config 配置对象page 页面对象exception 例外对象 request和response request 对象代表的是来自客户端的请求 例如我们在FORM表单中填写的信息等 是最常用的对象 关于它的方法使用较多的是getParameter getParameterNames和getParameterValues 通过调用这几个方法来获取请求对象中所包含的参数的值 response 对象代表的是对客户端的响应 也就是说可以通过 response 对象来组织发送到客户端的数据 发送文字时直接使用 out 对象即可 response sendRedirect URL response setContentType text html requestgetParameter示例 姓名 request对象示例 你好 今天是号 星期 输出结果 你好 独孤求败 今天是9号 星期1 request对象其他方法 1 getAttribute原型 publicjava lang ObjectgetAttribute java lang Stringname 说明 以对象的形式返回特定名称的属性值 参数 name一个标示属性名的字符串返回值 一个包含属性值的对象 当属性不存在是为空 2 getContentLength getServerPort getServerName getProtocol getRemoteAddr getHeaderNames getMethod getServletPath isRequestedSessionIdValid out对象 out 对象代表了向客户端发送数据的对象 与 response 对象不同 通过 out 对象发送的内容将是浏览器需要显示的内容 是文本形式的 可以通过 out 对象直接向客户端写一个由程序动态生成HTML文件 常用的方法除了pirnt和println之外 还包括clear clearBuffer flush getBufferSize和getRemaining 这是因为 out 对象内部包含了一个缓冲区 所以需要一些对缓冲区进行操作的方法 session对象 session 对象代表服务器与客户端所建立的会话 当需要在不同的JSP页面中保留客户信息的情况下使用 比如在线购物 客户轨迹跟踪等 session 对象建立在cookie的基础上 所以使用时应注意判断一下客户端是否打开了cookie 常用的方法包括getId getValue getValueNames和putValue等 session对象 概要HTTP是无状态 stateless 协议 Web服务器对每一个客户端请求都没有历史记忆 Session用来保存客户端状态信息 由Web服务器写入 存于客户端 客户端的每次访问都把上次的session记录传递给Web服务器 Web服务器读取客户端提交的session来获取客户端的状态信息 session对象示例 姓名 session对象示例 你的名字 已经写入sessioncheck session对象示例 您还未登录 已经登录 session使用示例 teach jsp6 testsession html testsession1 jsp testsession2 jsp testsession3 jsp cookie对象 用来保存少量的信息 显示登陆次数 out println alert 欢迎首次光临 out println else out println out println alert 您已经光临了 Counter 次 out println application对象 application对象负责提供应用程序在服务器中运行时的一些全局信息 常用的方法有log getMajorVersion getMinorVersion getMimeType getRealPath getResouce getResourceAsStream getRequestDispatcher 等 session用来保存用户的个人信息 application是保存所有用户的公共信息 application setAttribute counter 0 application对象实现网页计数器 网页计数器您是第位访问者 运行结果 第一次访问 刷新一次 application使用示例 留言板例子 teach jsp6 board1 jsp board2 jsp board3 jsp pageContext pageContext 对象直译时可以称作 页面上下文 对象 代表的是当前页面运行的一些属性 常用的方法包括findAttribute getAttribute getAttributesScope和getAttributeNamesInScope 一般情况下 pageContext 对象用的不是很多 只有在项目所面临的情况比较复杂的情况下 才会利用到页面属性来辅助处理 getServletConfig getSession getServletContext getOut getRequest等 teach jsp6 testpagecontext jsp config page exception config 对象提供一些配置信息 常用的方法有getInitParameter和getInitParameterNames 以获得Servlet初始化时的参数 使用getServletContext 来代替application对象 teach jsp6 testconfig jsp page 对象代表了正在运行的由JSP文件产生的类对象 testpage jsp exception 对象则代表了JSP文件运行时所产生的例外对象 此对象不能在一般JSP文件中直接使用 而只能在使用了 的JSP文件中使用testexception jsp exception对象示例 test4 10 jsp exception对象示例 error jsp out println exception getMessage exception getMessage JSP内置对象小结 介绍了JSP的几种内置对象 熟练使用这些内置对象是开发JSP应用程序的基本要求 尤其是对于request session和application对象更是必须要掌握的 会使用对象所具有的方法 能熟练使用每一种对象的几种常用方法 四 JDBC连接数据库技术 JDBC概述JDBCAPI使用JDBC ODBC的实例 JDBC概述 JDBC Java数据库连接 为数据库开发提供了一个标准的API 这个API是用纯Java写的 通过JDBC很容易对各种关系数据库执行SQL语句 不用考虑不同的平台 与数据库建立连接 connection 向数据库发送SQL语句处理数据库返回的结果 JDBCAPI JDBC接口分两个层次 底层的JDBCDriverAPI和面向程序开发人员的JDBCAPI 后者中的一些重要接口 java sql DriverManagerjava sql Connectionjava sql Statementjava sql PreparedStatementjava sql CallableStatementjava sql ResultSetClass forName sun jdbc odbc JdbcOdbcDriver con DriverManager getConnection dataSource user paswd DriverManager pulbicstaticsynchronizedConnectiongetConnection Stringurl Stringuser Stringpassword throwsSQLExceptionpulbicstaticvoidsetLoginTimeout intseconds Connection Connection对象通过DriverManager getConnection 取得StatementcreateStatement throwsSQLExceptionPrepareStatementprepareStatement Stringsql throwsSQLExceptionCallableStatementprepareCall Stringsql throwsSQLExceptionvoidsetAutoCommit BooleanautoCommit throwsSQLExceptionvoidcommit throwsSQLExceptionvoidrollback throwsSQLException Statement ResultSetexecuteQuery Stringsql throwsSQLExceptionintexecuteUpdate Stringsql throwsSQLExceptionbooleanexecute Stringsql throwsSQLException PreparedStatement PrepareStatementpstmt conn prepareStatement insertintostockvalues while rs next pstmt setString 1 rs getString stockId pstmt setString 2 rs getString stockName pstmt setString 3 rs getString stockNum pstmt executeUpdate CallableStatement 继承于PrepareStatement接口 用于执行存储过程 CallableStatementstmt conn prepareCall callMyprocedure stmt setString 1 rs getString stockId stmt setString 2 rs getString stockName stmt setString 3 rs getString stockNum stmt executeUpdate ResultSet booleannext throwsSQLExceptionvoidclose throwsSQLException importjava sql publicclassTestJDBC publicstaticvoidmain String args try Class forName sun jdbc odbc JdbcOdbcDriver 注册驱动程序Connectioncon DriverManager getConnection jdbc odbc student Statementstmt con createStatement ResultSetrs stmt executeQuery select fromTable1 while rs next System out print t编号 rs getString 1 System out print t性别 rs getString 2 System out print t分数 rs getFloat 3 System out println rs close stmt close con close catch Exceptione e printStackTrace importjava sql publicclassInsertData publicstaticvoidmain String args try Class forName sun jdbc odbc JdbcOdbcDriver Connectioncon DriverManager getConnection jdbc odbc student Statementstmt con createStatement inti stmt executeUpdate insertintoTable1values dirk m 20 System out println i rowsbeenaffected stmt close con close catch Exceptione e printStackTrace 五 JavaBean组件开发 JavaBean概述JSP中使用JavaBean使用JavaBean访问数据库 JavaBean简介 JavaBean是一个纯粹的Java类组件 具有公开的setter与getter方法 支持事件处理等 JavaBean可重复使用 并具有良好的移植性 它可以是用来设计用户界面的组件 或是运用于JSP网页中处理业务逻辑等 JSP中使用JavaBean 例子 sampleBean java packagebean publicclasssampleBean privateStringsample Startvalue publicStringgetSample returnsample publicvoidsetSample StringnewValue if newValue null sample newValue myjsp 08 sample1 jsp Servlet使用JSPJSP使用JavaBean的例子 调用jsp setProperty之前的值 调用jsp setProperty之后的值 JavaBean保存购物信息 myjsp 08 carts html myjsp 08 carts jspDummyCart java 使用JavaBean访问数据库 conn java 连接student库中的table1表 myjsp 08 conn db jsp myjsp 08 d sql2 jsp JSP网上购物系统 cart jspCartManager 管理session 实现业务逻辑等UserEntityOrderEntityOrderItemEntityProductEntity 六 Servlet开发技术 Servlet概述Servlet实例JSP与Servlet的交互 Servlet概述 Servlet的基本概念Servlet是服务器端的Java小程序 用于响应客户机的请求 它最常见的用途是扩展Web服务器 提供非常安全的 可移植的 易于使用的CGI替代品 它是一种动态加载的模块 为来自Web服务器的请求提供服务 它完全运行在Java虚拟机上 由于它在服务器端运行 因此它不依赖于浏览器的兼容性 Servlet概述 Servlet和 的区别JSP更加注重页面的表现 而Servlet更注重业务逻辑的实现 JSP只能处理浏览器的请求 而Servlet还可以处理客户端的应用程序的请求 Servlet概述 Servlet的生命周期Servlet的生命周期始于将它装入Web服务器的内存时 并在终止或重新装入Servlet时结束 1 初始化当服务器装载servlet时 服务器创建一个Servlet实例并且调用Servlet的init 方法 在初始化阶段 Servlet初始化参数被传递给Servlet配置对象 2 处理请求对于到达服务器的客户机请求 服务器创建特定于请求的一个 请求 对象和一个 响应 对象 服务器调用Servlet的service 方法 该方法用于传递 请求 和 响应 对象 service 方法从 请求 对象获得请求信息 处理该请求并用 响应 对象的方法以将响应传回客户机 service 方法可以调用其它方法来处理请求 例如doGet doPost 或其它的方法 3 终止当服务器不再需要Servlet 或重新装入Servlet的新实例时 服务器会调用Servlet的destroy 方法 Servlet概述 Servlet的基本方法两个基本软件包 javax servlet和javax servlet http 下面主要介绍javax servlet http HttpServlet中的基本方法 init 方法在Servlet的生命期中 仅执行一次init 方法 它是在服务器装入Servlet时执行的 可以配置服务器 以在启动服务器或客户机首次访问Servlet时装入Servlet 无论有多少客户机访问Servlet 都不会重复执行init service 方法是Servlet的核心 每当一个客户请求一个HttpServlet对象 该对象的service 方法就要被调用 而且传递给这个方法一个 请求 ServletRequest 对象和一个 响应 ServletResponse 对象作为参数 在HttpServlet中已存在service 方法 缺省的服务功能是调用与HTTP请求的方法相应的do功能 如果HTTP请求方法为GET 则缺省情况下就调用doGet 如果HTTP请求方法为POST 则缺省情况下就调用doPost Servlet概述 destroy 方法getServletConfig getServletConfig 方法返回一个ServletConfig对象 该对象用来返回初始化参数和ServletContext ServletContext接口提供有关servlet的环境信息 getServletInfo getServletInfo 方法是一个可选的方法 它提供有关servlet的信息 如作者 版本 版权 Servlet实例开发 importjava io importjavax servlet importjavax servlet http publicclassSimpleServletextendsHttpSe

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论