1.03k likes | 1.36k Views
基于 Java EE 的 Web 开发技术. 苗锡奎 Tel :8355085 Email:miaoxikui@163.com QQ:250750068. 课程内容. 俯瞰 Java EE Java EE 实战 ( 结合一个小项目 ). 俯瞰 Java EE. Java EE 的整体把握 Java EE 软件的架构. Java EE 实战. Eclipse 工具的使用 MyEclipse 的使用 Dreamweaver 的使用(美工工具) Tomcat,Mysql 的使用 Java EE 软件开发的一般过程.
E N D
基于Java EE的Web开发技术 苗锡奎 Tel :8355085 Email:miaoxikui@163.com QQ:250750068
课程内容 • 俯瞰Java EE • Java EE实战(结合一个小项目)
俯瞰Java EE • Java EE的整体把握 • Java EE软件的架构
Java EE实战 • Eclipse工具的使用 • MyEclipse的使用 • Dreamweaver的使用(美工工具) • Tomcat,Mysql的使用 • Java EE软件开发的一般过程
Java EE概览(Java 2平台已成为历史) • Java ME概览 Java Platform Micro Edition,Java平台微型版。 • Java SE概览 Java Platform Standard Edition,Java 平台标准版。 • Java EE概览(重点讲) Java Platform Enterprise Edition,Java 平台企业版。 Java1.0版终于在1996年年初正式发表
Java EE概览 • Java EE核心是一组技术规范与指南。 • Java EE是建立在Java 平台上的企业级应用开发的解决方案。Java EE技术的基础便是Java 平台,不但具有Java SE平台的所有功能,同时还提供了对EJB,Servlet,JSP,XML等技术的全面支持。
Java EE概览 • Java EE技术的基础就是Java SE。 • Java EE已经成为企业级开发的工业标准和首选平台。 • 其最终目标是成为一个支持企业级应用开发的体系结构,简化企业级开发,部署和管理等复杂问题。
Java EE都包含什么? • 企业应用的复杂性导致Java EE包含内容的复杂性。 • Java EE包括JSP,JavaBean, JDBC,Servlet JNDI,RMI, EJB,JMS,JavaMail,JMX, JTA(API),JCA,JAF等13种核心技术。 • 学习前4项技术,要学明白就够用了。你就可以称得上一个Java EE WEB的程序员了。 • 为了这个目的下面就努力学习吧!
Java EE软件的架构 • 2-层体系架构 • 3-层体系架构 • N-层体系架构 • Java EE各项技术工作在哪个层上
2-层体系架构-- jsp+javabeans • Model1(最简单,最原始的开发模式) • 结合业务逻辑(JavaBean)和JSP技术来实现业务逻辑和流程控制,来完成应用开发(优缺点)
MVC -- jsp+javabeans+servlets • MVC是Model-View-Controller的简写。“Model” 代表的是应用的业务逻辑(通过JavaBean,EJB组件实现), “View” 是应用的表示页面(由JSP页面产生),“Controller” 是对业务流程的控制(一般是一个Servlet),通过这种设计模式把------应用逻辑,处理过程和显示页面分成不同的组件实现。这些组件可以进行交互和重用。(优缺点)
MVC -- jsp+javabeans+servlets • 模型(Model)部分负责 业务逻辑 javabeans • 视图(view)部分负责 显示界面jsp • 控制器(controller)负责与用户进行交互作用:接受用户的请求,调用Model操作数据库,选择相应的视图展现给用户servlet Action
MVC关系图 模型(Model) 封装程序内部的数据状态 封装业务处理方法 内部状态改变时通知视图 数据状态查询 获取数据 调用模型 视图(view) 显示模型中的数据 接受模型的数据 将用请求作传递给控制器 Controller(控制器) 接受用户操作 调用模型的业务处理方法 选择相应用户造作的视图 选择视图 截获用户请求
3-层体系架构-- jsp+javabeans+servlets • Model 2
基于Java EE企业级WEB应用的体系结构 • 分层的思想引入到软件领域 • 分层的优势与劣势 表示层 业务层 Web 服务器 数据层 DB
N-层体系架构(n=4)(俯看) • 21天学通Java EE -人民邮电出版社 • Jsp基础教程,精通Struts基于MVC的Java.Web设计与开发。 • 最重要的是官网上的帮助文档 • www.mldn.cn • www.v512.com • www.verycd.com • www.langsin.com • www.eimeihe.com • www.j2eedve.com
系统的架构 hibernate-config.xml Hibernate 映射文件 浏 览 器 请求 控制器 选择 实例化 DB struts-config.xml 视图 JSP 响应 模型 第一层 第二层 第三层 第四层
目标 -学习前4项技术 • JDBC, JSP,JavaBean , Servlet • 准备工作
容器-充当中间件的角色 • WEB容器:也可以叫WEB服务器,给处于其中的应用程序组件(JSP,Servlet等)提供一个运行环境,我们只与容器打交道,容器管理我们写好的jsp,servlet等文件,我们不需要了解容器如何管理的。tomcat • 一个例子去钟表厂买个钟表,我们当需要看时间的时候只要会读数即可,钟表是如何工作的我们去关系它,是钟表这个容器自己管理自己的各个零件。
JDK • JDK(Java Development Kit,Java开发包,Java开发工具)是一个写Java的applet和应用程序的程序开发环境。它由一个处于操作系统层之上的运行环境还有编译,调试和运行Java语言写的applet和应用程序所需的工具组成。 • 包括了Java运行环境(Java Runtime Envirnment),Java工具和Java基础的类库,不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握 JDK是学好Java的第一步。
JDK的安装 • JDK的下载 可以到SUN公司的官方站进行下载.当前最新版是jdk6,网址为: http://java.sun.com/javase/downloads/index.jsp • JDK的安装 十分简单,一路下一步,直到完成安装。 • 配置环境变量 右键:我的电脑>属性>高级>环境变量>在 (为你自己当前使用的账户) “用户 变量”或是“系统变量”中都可以点击,新建建立三个环境变量: 1)变量名:path 变量值: D:\Java\jdk1.5.0_06\bin 2)变量名:java_home 变量值: D:\Java \Java\jdk1.5.0_06 3)变量名:classpath 变量值: .;D:\Java\jdk1.5.0_06\lib\tools.jar; D:\Java\jdk1.5.0 06\lib\dt.jar; D:\Java\jdk1.5.0_06\jre\lib\rt.jar;
工欲善其事,必先利其器--IDE • Integrated Develop Environment-集成开发环境 • Eclipse MyEclipse (推荐) • NetBeans(要求机器配制高) • JBuilder
Eclipse的下载、安装、配置 • 下载地址:http://www.eclipse.org/downloads/ • Eclipse的安装 将下载的压缩包解压,然后将整个目录移动到你想要的位置。
MyEclipse的下载、安装、配置 MyEclipse插件是什么 • 简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的Java EE集成开发环境,支持代码编写、配置、测试以及除错。 MyEclipse是一个专门为Eclipse设计的商业插件和开源插件的完美集合。MyEclipse为Eclipse提供了一个大量私有和开源的Java工具的集合,很大程度上解决了各种开源工具的不一致和缺点问题,并大大提高了Java和JSP应用开发的效率。 • MyEclipse的实际价值来自其发布的大量的可视化开发工具和实用组件。如CCS/JS/HTML/XML的编辑器,帮助创建EJB和Struts项目的向导并产生项目的所有主要的组件如Action/Session Bean/Form等,此外还包含编辑Hibernate配置文件和执行SQL语句的工具。
数据库方面 • 推荐使用Mysql和Oracle • 不推荐使用sqlServer系列
开发与运行环境 • 选择开源优势 • 编码与设计工具: Eclipse3.2.1 开源 • Java EE辅助工具MyEclipse 非开源 • 数据库服务器: Mysql 5.0.21 开源 • web应用服务器: Tomcat 6.0 开源
安装顺序 • JDK • TOMCAT • Eclipse • MyEclipse • Mysql
目标之一:JDBC之旅 • What is JDBC ? • JDBC(Java DataBase Connectivity,中文意为Java数据库连接)是在Java中用面向对象的方法来连接数据库的技术。
JDBC的主要类包 • java.sql包,提供在Java中访问和处理存储于客户端数据源中数据的API。 • javax.sql包,提供在Java中访问和处理存储于服务器端数据源进行的API。
JDBC可访问的数据源 • 关系型数据库,如:Oracle,DB2,SQL Server,My SQL,Access等。Excel等。 • DBase,Foxpro,Paradox等。
JDBC的驱动程序 • 要想与特定的数据库产品打交道,如mysql就必须要提供连接该数据库的驱动文件(.jar) • Mysql :mysql-connection.jar • Oracle :classes12.jar
JDBC连接数据库的方法 • Java 程序连接数据库的方法实际上有下面4种。
JDBC连接数据库的方法 • JDBC-ODBC桥和ODBC驱动程序。 • 本机代码和Java驱动程序。(经常使用) • JDBC网络的纯Java驱动程序。 • 本机协议纯Java驱动程序。
本机代码和驱动程序连接数据库的步骤 • 加载要使用的数据库驱动类,该工作由Class类的静态方法forName完成,它加载相应的驱动程序类,并创建该类的一个实例。如下语句: • Class.forName("org.gjt.mm.mysql.Driver");
本机代码和驱动程序连接数据库的步骤 • 声明一个Connection接口的对象。如:Connection conn; • 并使用DriverManager类的静态方法getConnection建立数据库连接,该方法主要有两种重载形式: Connection getConnection(String url) Connection getConnection(String url,String user,String password) conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "root");
java.sql包中与数据库操作有关的接口 • Connection • Statement • ResultSet • PreparedStatement • CallableStatement
设置可滚动的ResultSet类型 • 一般在创建结果集的通常使用如下方式: • Statement st = conn.CreateStatement()ResultSet rs = Statement.excuteQuery(sql); • 由于这种结果集不支持滚动的读去功能所以如果获得这样一个结果集,只能使用它里面的next()方法,逐个的读去数据。在使用的时候非常的不便。那么怎么样才能使结果集可以支持前后滚动的效果呢? • 要实现可以滚动的ResultSet在创建Statement时用如下的方法。
设置可滚动的ResultSet类型 • Statement st = conn.createStatement(int resultSetType, int resultSetConcurrency)ResultSet rs = st.executeQuery(sqlStr) • 其中两个参数的意义是:resultSetType是设置ResultSet对象的类型可滚动,或者是不可滚动。取值如下:ResultSet.TYPE_FORWARD_ONLY只能向前滚动ResultSet.TYPE_SCROLL_INSENSITIVE和Result.TYPE_SCROLL_SENSITIVE这两个方法都能够实现 任意的前后滚动,使用各种移动的ResultSet指针的方法。二者的区别在于前者对于修改不敏感,而后者对于修改敏感。resultSetConcurency是设置ResultSet对象能够修改的,取值如下:ResultSet.CONCUR_READ_ONLY 设置为只读类型的参数。ResultSet.CONCUR_UPDATABLE 设置为可修改类型的参数。所以如果只是想要可以滚动的类型的Result只要把Statement如下赋值就行了。
设置可滚动的ResultSet类型 • Statement st = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);ResultSet rs = st.excuteQuery(sqlStr); • 这时得到的就是可滚动的ResultSet。 • 这个类型支持前后滚动取得纪录next()、previous(),回到第一行first(),移到最后一行last()等操作。
目标之二:JSP之旅 • 目标之二: • JSP之旅
What is JSP?—Java Server Pages • JSP是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。它是在传统的网页HTML文件中插入Java程序段(Scriptlet)和JSP标记(tag)。 • JSP跨平台。编译后运行,运行效率高。 • 缺点: • 开发运行环境较ASP、PHP等复杂一些。
JSP没有什么深奥的东西就是在HTML中嵌入Java代码和一些JSP标签构成。JSP没有什么深奥的东西就是在HTML中嵌入Java代码和一些JSP标签构成。 <HTML> • <HEAD> • <TITLE>JSP 页面 </TITLE> • </HEAD> • <BODY> • <% --生成并显示一个从0~9的字符串%> • <%@ page language="java" %> • <%! String str="0"; %> • <% for (int i=1; i <10; i++={str = str + i;} %> • <P> • <%= str %> • <P> • </BODY> • </HTML>
JSP html JSP 脚本元素 指令元素 标准动作
嵌入java代码的标记---脚本元素 • <% String name=“name” ;%> • <%=name%> • <%! public void doSome() • {System.out.println(“hello classmates”);}%> • <!-- 这是注释,但客户端可以查看到 --> • <%-- 这也是注释,但客户端不能查看到 --%>
JSP 指令元素 JSP 指令 page include taglib
JSP 指令元素 • page指令用于设置 JSP 页面的属性 • <%@page language="java"%> • <%@ page contentType="text/html; charset=gb2312"%> • include 指令用于在jsp页面中静态包含一个文件,该文件可以是jsp页面,HTML页面. • <%@include file="head.jsp"%> • taglib指令可以让JSP页面使用特定的标签 • <%@ taglib uri ="/mytaglib.tld" prefix="mytags"%> • <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
JSP 标准动作 • 动作语法包括<jsp:forward>,<jsp:include>,<jsp:getProperty>,<jsp:setProperty>和<jsp:useBean>, <jsp:plugin>。
总结 • JSP 页面的组成,即静态HTML、脚本元素和 JSP 指令、 JSP 标准动作。 • JSP 表达式包括在 <%=%>内; Scriptlet 包含在<%%>内;声明包含在<%! %>内 • JSP 指令共有三种类型,即 page、include和 taglib。JSP 指令包括在 <%@ 和 %>内 • page 指令用于设置 JSP 页面的属性;include 指令用于在 JSP 页面嵌入其他文件 ;taglib 指令用于在JSP页面中使用标签