java语言程序设计javaweb-简介_第1页
java语言程序设计javaweb-简介_第2页
java语言程序设计javaweb-简介_第3页
java语言程序设计javaweb-简介_第4页
java语言程序设计javaweb-简介_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、西北工业大学软件与微电子学院-Java 兴趣小组Java EE系列讲座Java Web开发RJ010703许润华QQ : 447202019Email : ContentsJava Web 简介数据库访问Servlet 技术JSP技术实例演示Java Web简介ServerJava Web 编程Browser基于浏览器的B/S结构应用系统开发B/S(Browser/Server )结构: 基于浏览器的应用系统, 没有客户端程序C/S(Client/Server )结构: 客户端和服务器结构应用ClientJava Web简介Servlet容器Sertvlet 容

2、器Servlet容器也叫Servlet引擎Servlet 分类Web服务器或应用服务器的一部分Servlet 独立的Servlet 进程内的Servlet 进程外的ServletJSP用于在发送的请求和响应之上提供网络服务HTML解码基于MIME的请求,格式化基于MIME的响应发的Sertvlet 容器Java Web简介Tomcat Web服务器Servlet 容器Tomcat简介免费开源的Web应用服务器技术先进性能稳定支持最新的Servlet和JSP规范Servlet1实例响应Servlet2实例Java Web简介bin文件夹:存放关闭和启动的脚本文件common/lib文件夹:Tom

3、cat服务器和所有应用程序均可访问的公共库文件server/lib文件夹:存放服务器运行所需的库文件shared/lib文件夹:存放Web应用程序运行所需的公共库文件webapps文件夹:Web应用程序发布时放置的文件夹目录;该目录下的应用程序在Tomcat启动时将被自动加载Tomcat安装配置Tomcat的安装Tomcat的配置JDK路径配置(JAVA_HOME)端口异常问题(修改端口)logs文件夹:Tomcat的日志文件work文件夹:存放由JSP生成的Servlet源文件和字节码,应用程序启动时加载;如果JSP 文件有更新,则重新编译Java Web简介WEB-INF文件夹:Web应用

4、程序核心类代码和配置文件所在的文件夹。该文件夹下的内容受访问保护,用户不能直接访问该文件夹下的内容;服务器将搜索其中的配置文件相关信息实现Web应用的初始化Java Web 工程结构Web应用中的模型、视图、控制和XML配置文件均要符合一定的组织规范web.xml:存在于WEB-INF为Web应用程序初始化定义文件,对运行环境和Servlet进行配置通常,也将页面(JSP文件、HTML文件)和引用的图片等信息分别存放在不同目录, 清晰结构classes文件夹:Web应用程序中的核心类所在文件夹,也用于存放框架所需的配置文件, 位于WEB-INF下lib文件夹:Web应用程序运行所需要的类库所在

5、文件夹META-INF文件夹:存放证书,和校验数据, 部署信息,也用于存放源代码将需要保护的数据放在WEB-INF下数据库访问数据库的存储结构ObjectProperty1 Property2存储结构是指数据的存放方式和封装模式物理层:实际数据,物理存储设备上的实际数据集合概念层:由数据库封装的数据组织形式,指明了数据间的逻辑关系逻辑层:面向用户的逻辑数据,通过DAO映射至POJO数据库访问人工数据库管理文件系统数据库特点和发展数据库系统特点简介数据共享优化数据结构结构完整、数据独立数据控制和集中管理提供一致性访问接口常用数据库:DB2,Oracle、SQLServer、MySQLHibern

6、ate使关系型数据库表现为面向对象模式高级数据库层次型数据结构和网状数据结构由于数据量膨胀导致的复杂性使其难以维护,关系型数据库产生并发展SQL:结构化查询语言规范被定义并且用于封装数据库操作OOD的发展使数据复杂度进一步提高,以面向对象方式操纵的数据库被提出;该需求立即被响应并发展当文件系统逐渐不能满足大批量数据管理的需求时,能够统一管理和共享数据的数据库管理系统(DBMS)产生数据库访问服务器模式:Developer machine,用于快速开发的小型服务器,将占用最小内存服务器数据库用例:MultiFunctional Database, 用于一般目的的小型数据库,将会具有快速访问数据和

7、优化数据库引擎的能力。服务器规模:Design Support(DSS)/OLAP,一个最大连接数为20的小型数据库服务器网络选项:启用TCP/IP网络协议:允许建立外部网络连接。如果禁用,只能允许本地访问;端口地址:3306;使用建立小型数据库MySQL的安装配置和简单使用步骤选择安装路径添加异常;详细配置MySQL启用严格模式:标准化数据库服务器运行模式默认字符集:GBK,超大中文字符集。MySQL在Windows下的设置:添加系统服务:在系统中添加名为“MySQL” 的系统服务项,并自动匹配MySQL服务器;将Bin目录添加至系统的PATH路径中:允许通过命令行访问数据库服务器权限设置:

8、用户名、远程访问允许数据库访问create database dataBaseName;创建数据库MySQL中数据库建立过程和基本操作use dataBaseName;使用数据库create table user(rowName1 type(size) null other, rowName2 type(size) null other,);为数据库创建表格show databases; 显示数据库系统中所有数据库创建数据库数据库中的的数据查询,插入,更新show tables; 显示某数据库中所有表格数据库系统GUI控制界面select * from tableName; 显示表格中信息in

9、sert into tableName ( p1, p2) values(v1, v2);向tableName表格插入一行数据update tableName set p1=v2 where id=3; 更 新数据库表格中id为3这行的p1属性值为v2数据库访问加载驱动:Driver driver = (Driver)Class.forName( driverName).newInstance();建立连接:Connection connection = DriverManager.getConnection(url, userNameForDataBase, userPasswordForD

10、ataBase);发送SQL语句并且执行访问:PreparedStatement statement = connection.prepareStatement(SQLString);/根据不同语句执行不同任务statement.execute();处理访问结果:ResultSet result = statement.executeQuery();Web应用中访问数据库创建了一个MySQL数据库安装MySQL-JDBC驱动创建数据库JDBC连接示例Servlet技术Servletinit():初始化Servlet,通过ServletConfig参数传入的配置信息准备该Servlet运行时所需

11、的数据,如数据库连接等。对于一个Servlet实例,该方法只被调用一次service():Web容器将调用该方法响应客户请求。在init()执行结束之后,容器会生成一个ServletRequest对象和ServletResponse对象作为参数传入,该方法将实现业务逻辑的处理distory():当Servlet需要被从Web容器中移除时, 该方法将被调用并释放由该Servlet占用的资源服务器端的Java应用程序,由服务器端Servlet容器管理Servlet是Servlet接口的实现类通常情况下,我们编写Servlet继承自HttpServlet即可,重写service方法, 或是doGet

12、,doPost etc.getServletConfig():获取该Servlet创建时的配置信息,返回ServletConfig的实例getServletInfo():返回该Servlet的声明信息, 如作者、版权等Servlet技术Servlet 接口大多数网络应用中,客户端(浏览器) 都是通过HTTP协议访问服务器端的资源为了应用快速开发应用于HTTP协议的Servlet类,Sun公司提供了HttpServlet 抽象类Servlet技术HttpServletHttPServlet公共Service请求公共serviceGenericServlet类中service的实现保护servic

13、e根据请求类型调用不同的处理方法GET请求,doGet方法POST请求,doPost方法参数转换参数转换保护Service请求方式获取将ServletRequest和ServletRequest参数转化为HttpServletRequest和HttpServletRequest然后调用保护service方法返回响应处理方法Servlet技术Servlet 生命周期加载和实例化Servlet容器负责加载和实例化Servlet, 调用的是Servlet默认构造参数(编写Servlet类时不应提供带参数的构造函数)初始化获取相关信息(数据库连接信息,配置信息等)每个Servlet,init()只调用

14、一次请求处理调用service()方法提供服务服务终止调用destroy()方法销毁Servlet实例Servlet技术Servlet 配置运行在webapp目录下新建工程文件夹,创建WEB-INF、classes、lib等必要的文件夹第一步:在Tomcat中创建Web应用并且建立文件结构良好的编程风格是将源程序单独列开并且使用包。目录结构越深的类安全性越高。编译通过的文件存放于classes目录下第二步:编写Servlet类并且编译最好将HTML页面单独存放,便于管理,结构清晰。(JSP页面)第三步:编写HTML页面,并指定action为Servletweb.xml文件存在于WEB-INF文

15、件夹下,将用于构造ServletConfig对象并且控制Servlet 的初始化过程第四步:编写web.xml配置文件JSP技术JSP 简介headOfPageJSP可以实现对Java Bean的管理和对数据库的操作JSP技术Web容器JSP 运行机制JSP页面从JSP到Servlet的转换发生在用户请求JSP页面时Servlet请求由JSP转换得到的Servlet实现JspPage接口;JspPage继承至Servlet接口class文件service方法将被执行,并实现业务逻辑或通过内置对象产生输出返回响应实例JSP技术JSP 指令元素page指令:定义与页面相关的属性,用于与Web容器通

16、信。该指令有13个属性include指令:静态导入外部页面,只有一个属性指定外部文件位置taglib指令:使用自定义标签。自定义标签可简化开发过程;许多框架提供标签库JSP技术JSP 脚本元素将要执行的Java代码:声明脚本,用于声明静态变量和方法:脚本段,编写要执行的Java代码:表达式,将被计算并且将返回结果输出JSP技术JSP 动作元素由Web容器解析的具有XML语法的JSP标签动作元素将在编译的过程中被替换成相应预定义的Java代码JSP2.0中定义了20个标准的动作元素使用Java Bean、定义输出页面转发等功能均通过动作元素完成JSP技术JSP 注释两种注释类型:HTML注释:J

17、SP注释:JSP技术JSP 隐含对象request, response, pageContext, session application, out, config, page, exception在脚本段和表达式中可以直接使用的Java对象headOfPage不需要显式实例化,Web容器在编译JSP页面时将完成实例化操作9个内置对象,可用于数据输入输出、请求处理、属性值存储、错误记录等不同的对象有不同的作用范围JSP技术JSP技术对象和范围仅当前页面内有效;具有该范围的对象被绑定至pageContext对象中,并且只能在当前的JSP页面被访问。该类型对象在每次客户请求页面时创建,并在响应结束

18、或进行页面转发时销毁被绑定至request对象中的数据具有request 范围。在当前页面中的include或forward操作转向或导入的页面中也可以访问。该类型对象在客户发送新请求时被创建。在用户的整个会话过程中,具有session范围的对象都能在内置对象session中被保存。由于内置对象application是在服务器启动的整个周期中有效的,因此被绑定至其中的数据会在服务器关闭之前一直有效。JSP的各内置对象都有自己的有效范围, 并可以用于管理绑定到自身的类的生命周期通过setAttribute()方法将对象绑定到内置对象中page范围request范围session范围application范围JSP 开发的两种模型模式1的MVCJSP请求JSP结合Java Bean 开发Web应用使用JSP作为视图和控制响应使用Java Bean作为模型直接通过JSP访问数据库并且操纵模型Data Base可用于小型项目的快速开发; 不易维护、不易扩展、复用程度低Bean

温馨提示

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

评论

0/150

提交评论