




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Java Web开发,西北工业大学软件与微电子学院 -Java 兴趣小组Java EE系列讲座,RJ010703 许润华 QQ : 447202019 Email : ,Contents,Java Web简介,Server,Java Web 编程,B/S(Browser/Server )结构:基于浏览器的应用系统,没有客户端程序,C/S(Client/Server )结构:客户端和服务器结构应用,基于浏览器的B/S结构应用系统开发,Java Web简介,Servlet容器,Servlet容器也叫Servlet引擎,Web服务器或应用服务器的一部分,用于在发送的请求和响应之上提供网络服务,解码基
2、于MIME的请求,格式化基于MIME的响应,Java Web简介,Tomcat简介,免费开源的Web应用服务器技术先进 性能稳定 支持最新的Servlet和JSP规范,Java Web简介,Tomcat安装配置,bin文件夹:存放关闭和启动的脚本文件,common/lib文件夹:Tomcat服务器和所有应用程序均可访问的公共库文件,webapps文件夹:Web应用程序发布时放置的文件夹目录;该目录下的应用程序在Tomcat启动时将被自动加载,logs文件夹:Tomcat的日志文件,work文件夹:存放由JSP生成的Servlet源文件和字节码,应用程序启动时加载;如果JSP文件有更新,则重新编
3、译,server/lib文件夹:存放服务器运行所需的库文件,shared/lib文件夹:存放Web应用程序运行所需的公共库文件,Tomcat的安装,Tomcat的配置,JDK路径配置(JAVA_HOME),端口异常问题(修改端口),Java Web简介,Java Web 工程结构,WEB-INF文件夹:Web应用程序核心类代码和配置文件所在的文件夹。该文件夹下的内容受访问保护,用户不能直接访问该文件夹下的内容;服务器将搜索其中的配置文件相关信息实现Web应用的初始化,web.xml:存在于WEB-INF下。作为Web应用程序初始化定义文件,对运行环境和Servlet进行配置,classes文件
4、夹:Web应用程序中的核心类所在文件夹,也用于存放框架所需的配置文件,位于WEB-INF下,lib文件夹:Web应用程序运行所需要的类库所在文件夹,META-INF文件夹:存放证书,和校验数据, 部署信息,也用于存放源代码,Web应用中的模型、视图、控制和XML配置文件均要符合一定的组织规范,通常,也将页面(JSP文件、HTML文件)和引用的图片等信息分别存放在不同目录,清晰结构,将需要保护的数据放在WEB-INF下,数据库访问,数据库的存储结构,存储结构是指数据的存放方式 和封装模式,物理层:实际数据,物理存储设备上的实际数据集合,概念层:由数据库封装的数据组织形式,指明了数据间的逻辑关系,
5、逻辑层:面向用户的逻辑数据,通过DAO映射至POJO,数据库访问,数据库特点和发展,数据共享,优化数据结构,结构完整、数据独立,数据控制和集中管理,提供一致性访问接口,特点简介,常用数据库: DB2,Oracle、SQLServer、MySQL,Hibernate使关系型数据库表现为面向对象模式,当文件系统逐渐不能满足大批量数据管理的需求时,能够统一管理和共享数据的数据库管理系统(DBMS)产生,层次型数据结构和网状数据结构由于数据量膨胀导致的复杂性使其难以维护,关系型数据库产生并发展,SQL:结构化查询语言规范被定义并且用于封装数据库操作,OOD的发展使数据复杂度进一步提高,以面向对象方式操
6、纵的数据库被提出;该需求立即被响应并发展,数据库访问,使用建立 小型数据库,MySQL的安装配置和简单使用步骤,选择安装路径,详细配置MySQL,服务器模式:Developer machine,用于快速开发的小型服务器,将占用最小内存,服务器数据库用例:MultiFunctional Database,用于一般目的的小型数据库,将会具有快速访问数据和优化数据库引擎的能力。,服务器规模:Design Support(DSS)/OLAP,一个最大连接数为20的小型数据库,服务器网络选项: 启用TCP/IP网络协议:允许建立外部网络连接。如果禁用,只能允许本地访问; 端口地址:3306; 添加防火墙
7、异常; 启用严格模式:标准化数据库服务器运行模式,默认字符集:GBK,超大中文字符集。,MySQL在Windows下的设置: 添加系统服务:在系统中添加名为“MySQL”的系统服务项,并自动匹配MySQL服务器; 将Bin目录添加至系统的PATH路径中:允许通过命令行访问数据库服务器,权限设置:用户名、密码、远程访问允许,数据库访问,MySQL中数据库建立过程 和基本操作,create database dataBaseName; 创建数据库,use dataBaseName; 使用数据库,create table user( rowName1 type(size) null other, r
8、owName2 type(size) null other, ); 为数据库创建表格,创建数据库,数据库中的的数据查询, 插入,更新,show databases; 显示数据库系统中所有数据库,show tables; 显示某数据库中所有表格,select * from tableName; 显示表格中信息,insert into tableName ( p1, p2) values(v1, v2); 向tableName表格插入一行数据,update tableName set p1=v2 where id=3; 更新数据库表格中id为3这行的p1属性值为v2,数据库系统GUI控制界面,数据
9、库访问,Web应用中访问数据库,加载驱动: Driver driver = (Driver)Class.forName( driverName).newInstance();,建立连接: Connection connection = DriverManager.getConnection(url, userNameForDataBase, userPasswordForDataBase);,发送SQL语句并且执行访问: PreparedStatement statement = connection.prepareStatement(SQLString); /根据不同语句执行不同任务 sta
10、tement.execute();,处理访问结果: ResultSet result = statement.executeQuery();,创建了一个MySQL数据库,安装MySQL-JDBC驱动,创建数据库JDBC连接,示例,Servlet技术,Servlet,服务器端的Java应用程序,由服务器 端Servlet容器管理,init():初始化Servlet,通过ServletConfig参数传入的配置信息准备该Servlet运行时所需的数据,如数据库连接等。对于一个Servlet实例,该方法只被调用一次,service():Web容器将调用该方法响应客户请求。在init()执行结束之后,
11、容器会生成一个ServletRequest对象和ServletResponse对象作为参数传入,该方法将实现业务逻辑的处理,distory():当Servlet需要被从Web容器中移除时,该方法将被调用并释放由该Servlet占用的资源,getServletConfig():获取该Servlet创建时的配置信息,返回ServletConfig的实例,getServletInfo():返回该Servlet的声明信息,如作者、版权等,Servlet是Servlet接口的实现类,通常情况下,我们编写Servlet继承自HttpServlet即可,重写service方法,或是doGet,doPost
12、etc.,Servlet技术,Servlet 接口,大多数网络应用中,客户端(浏览器) 都是通过HTTP协议访问服务器端的 资源,为了应用快速开发应用于HTTP协议的 Servlet类,Sun公司提供了HttpServlet 抽象类,Servlet技术,HttpServlet,请求,参数转换,请求方式获取,HttPServlet,公共service,保护service,GenericServlet类中service的实现,参数转换,将ServletRequest和ServletRequest参数转化为HttpServletRequest和HttpServletRequest 然后调用保护ser
13、vice方法,根据请求类型调用不同的处理方法 GET请求,doGet方法 POST请求,doPost方法 ,Servlet技术,Servlet 生命周期,加载和实例化,初始化,请求处理,服务终止,Servlet容器负责加载和实例化Servlet,调用的是Servlet默认构造参数(编写Servlet类时不应提供带参数的构造函数),获取相关信息(数据库连接信息,配置信息等) 每个Servlet,init()只调用一次,调用service()方法提供服务,调用destroy()方法销毁Servlet实例,Servlet技术,Servlet 配置运行,第一步:在Tomcat中创建Web应用并且建立文
14、件结构,第二步:编写Servlet类并且编译,第三步:编写HTML页面,并指定action为Servlet,第四步:编写web.xml配置文件,在webapp目录下新建工程文件夹,创建WEB-INF、classes、lib等必要的文件夹,良好的编程风格是将源程序单独列开并且使用包。目录结构越深的类安全性越高。编译通过的文件存放于classes目录下,最好将HTML页面单独存放,便于管理,结构清晰。(JSP页面),web.xml文件存在于WEB-INF文件夹下,将用于构造ServletConfig对象并且控制Servlet的初始化过程,JSP技术, headOfPage ,JSP 简介,Java
15、 Server Page,JSP页面基本组成部分:HTML代码、JSP指令元素、JSP脚本元素、JSP动作元素、注释,JSP页面的实质是Servlet,用户访问时被编译执行,JSP可以实现对Java Bean的管理和对数据库的操作,JSP技术,请求,Web容器,JSP页面,Servlet,class文件,实例,JSP 运行机制,从JSP到Servlet的转换发生在用户请求JSP页面时,由JSP转换得到的Servlet实现JspPage接口;JspPage继承至Servlet接口,service方法将被执行,并实现业务逻辑或通过内置对象产生输出,JSP技术,JSP 指令元素,page指令:定义与
16、页面相关的属性,用于与Web容器通信。该指令有13个属性,include指令:静态导入外部页面,只有一个属性指定外部文件位置,taglib指令:使用自定义标签。自定义标签可简化开发过程;许多框架提供标签库,为转换阶段提供整个JSP页面的相关 信息,不 产生任何输出到页面,JSP技术,JSP 脚本元素,将要执行的Java代码,:声明脚本,用于声明静态变量和方法,:脚本段,编写要执行的Java代码,:表达式,将被计算并且将返回结果输出,JSP技术,JSP 动作元素,由Web容器解析的具有XML语法的JSP标签,动作元素将在编译的过程中被替换成相应预定义的Java代码,JSP2.0中定义了20个标准
17、的动作元素,使用Java Bean、定义输出页面转发等功能均通过动作元素完成,JSP技术,JSP 注释,两种注释类型:,HTML注释:,JSP注释:,JSP技术,JSP 隐含对象,在脚本段和表达式中可以直接使用 的Java对象,不需要显式实例化,Web容器在编译JSP页面时将完成实例化操作,9个内置对象,可用于数据输入输出、请求处理、属性值存储、错误记录等,不同的对象有不同的作用范围, headOfPage ,request, response, pageContext, session application, out, config, page, exception,JSP技术,JSP技术
18、,对象和范围,page范围,JSP的各内置对象都有自己的有效范围,并可以用于管理绑定到自身的类的生命周期,request范围,session范围,通过setAttribute()方法将对象绑定到内置对象中,application范围,仅当前页面内有效;具有该范围的对象被绑定至pageContext对象中,并且只能在当前的JSP页面被访问。该类型对象在每次客户请求页面时创建,并在响应结束或进行页面转发时销毁,被绑定至request对象中的数据具有request范围。在当前页面中的include或forward操作转向或导入的页面中也可以访问。该类型对象在客户发送新请求时被创建。,在用户的整个会话过程中,具有session范围的对象都能在内置对象session中被保存。,由于内置对象application是在服务器启动的整个周期中有效的,因此被绑定至其中的数据会在服务器关闭之前一直有效。,JSP 开发的两种模型,模式1的MVC,JSP结合Java Bean 开发Web应用,使用JSP作为视图和控制,使用Java Bean作为模型,可用于
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 临时占地审批管理办法
- 修改同业存单管理办法
- 关于殡葬收费管理办法
- 公司设立食堂管理办法
- 兴化防疫经费管理办法
- 出水在线监测管理办法
- 医疗美容自查管理办法
- 兵团食堂文件管理办法
- 2024-2025学年度学校五育工作总结:五育协同见真章润泽生命育新人
- IBD病人的居家护理指南
- 1输变电工程施工质量验收统一表式(线路工程)
- 专利知识产权全套流程图
- 2023年中医基础理论知识题库与答案
- 上海2022年浦发银行人力资源部社会招聘(0111)考试模拟卷3套含答案详解
- 国家重点研发计划“公共安全风险防控与应急技术装备”2023年立项项目
- 酸雾抑制剂化学品安全技术说明书
- 重点监管的危险化学品名录(完整版)
- 解三角形专题 - (解析版)
- 高等教育心理学学习提纲整理
- 个人信用报告异议申请表
- 桩基施工安全检查表
评论
0/150
提交评论