




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、JavaEE概述和Servlet基础,2,阶段项目展示,E-Book电子书店系统演示,演示项目案例: E-Book电子书店系统,3,相关内容回顾,如何理解B/S系统? B/S系统相对C/S系统的优点是什么? 如何通过HTML提交数据给JSP? 在JSP中如何获得HTML提交的数据? JSP文件的组成部分有哪些?,4,本讲问题,计算机之间通过什么方式进行数据传递? 在学习JSP之后,为什么还要学习JavaEE? 自行车与组装自行车 我们上课用的桌椅,5,掌握JavaEE的体系结构 掌握JavaEE的技术内容 掌握JavaEE的分层结构 理解并掌握HTTP请求和响应,本讲目标,6,为什么学习Jav
2、aEE,1、使用JSP技术编写动态网页的时候,遇到了哪些问题?,在JSP页面上嵌套大量的Java代码,不易维护,当业务需求发生变化的时候,不易扩展,我们的网站现在需要进行一些改动,把原来的改成,项目已经开发的很好了,但是我们想增加功能,7,什么是JavaEE,JavaSE,JSP,Servlet,JavaBean,EJB,JDBC,JNDI,XML,Struts,Hibernate,JSF,解决方法:JavaEE的使用 定义:JavaEE(Java Platform Enterprise Edition)是一个开发分布式企业级应用的规范和标准。,Spring,Web Service,8,Jav
3、aEE与后续课程关系,Struts、Hibernate、Spring,它们都是框架 框架,即Framework。其实就是某种应用的半成品,就是一组组件,用来完成自己的系统。 简单说就是使用别人准备好的一切,来实施自己的项目。,毛坯房就类似一个框架,毛坯房,装修后的房子,可以按照自己的意图装修,Java EE,Struts,Hibernate,Spring,应用程序,JavaEE是基础,JavaEE与后续课程关系,9,JavaEE体系结构,JavaEE分层结构 表示层-HTML页面 中间层-Servlet等组件 数据层-Database(JDBC、JNDI等),表示层,中间层,数据层,平房式服务
4、机构,楼房式服务机构,服务机构(银行)办公区域结构,所有工作区 域都在一起,结构清晰 管理方便,一层:服务大厅,二层:办公室,三层:资料室,比 对,10,JavaEE体系结构,JavaEE体系结构-三层体系结构,表示层,中间层,Web 服务器,数据层,数据库,11,表示层技术,页面显示技术 HTML JavaScript Ajax技术, 页面显示技术 function test() alert(document.form1.username.value); ,JavaScript的用法,HTML的FORM表单,12,中间层技术,请求,Servlet,JavaBean,JSP页面,执行,调用,转
5、向,响应,JSTL,使用,Servlet、JSP与JavaBean,访问,返回数据,数 据 库,客户端,13,中间层技术,JSP 显示动态内容的服务器网页 JSTL 辅助JSP显示动态内容的标准标签库 Servlet 接收客户请求,并作出响应的Java程序 Servlet是中间件技术的重要部分,它控制着其他的组件 JavaBean JavaEE的模型组件 中间层框架技术 Struts框架 Struts框架主要是扩展了Servlet,强制执行MVC模式,14,数据层技术,JDBC技术 JDBC(Java Database Connectivity ):Java 数据库连接 JDBC用来访问数据库
6、和操作数据库表中数据 数据层框架技术 Hibernate,JavaBean,数 据 库,JDBC访问,返回数据,Hibernate,数 据 库,访问,返回数据,JavaBean,15,E-Book电子书店系统,前台用户模型,重点购物车的实现 使用的技术Servlet、HttpSession、JDBC、JSTL,演示系统结果,16,HTTP协议的定义,HTTP协议 超文本传输协议 无状态协议 不用记录谁发出的请求,只需给出响应 适用于传输文件 用于通过 Internet 发送请求消息和响应消息 使用端口接收和发送消息,默认为80端口,我想同其他“人”交流,怎么办?,我只会我们计算机自己的语言,对
7、了,我可以使用HTTP协议和“别人”交谈了,双方进行交谈,提问,回答,17,HTTP协议的演示,在MyEclipse中创建项目 点击菜单“文件”“新建”“项目” 选择 “Web Project”“下一步” 写入工程名称,Root URL 改为“/books”“完成” 创建index.html和test.jsp,18,HTTP协议的演示,数据的提交和接收, index 用户名: 密 码: ,HTML文件的FORM表单, test 你输入的用户名是: 你输入的密码是: ,获取客户端录入数据,index.html,Test.jsp,19,本讲问题,Servlet与JSP之间的关系? 页面跳转有哪几种
8、方式? 如何理解Servlet的生命周期?,20,本讲任务,使用Servlet实现E-Book电子书店用户认证 如果用户名或密码错误,返回到登录页面(register.jsp) 在名为Welcome的Servlet中进行验证控制转向 如果输入数据正确,显示正确登录页面(ok.jsp) 如果输入数据不正确,显示错误页面(failure.jsp),21,理解Servlet的生命周期 会使用Servlet处理Get/Post请求 会使用Servlet处理页面的转向 会配置web.xml文件,本讲目标,22,为什么需要Servlet,使用JSP技术如何编写服务器动态网页?,在JSP技术出现之前如何编写
9、服务器动态网页?,请求,响应,JSP 页面,运行,执行,Java代码,HTML代码,生成,JSP 使用 Java 生成动态内容,运行,Servlet 程序,23,什么是Servlet,定义:Servlet 是一个 Java程序,是在服务器上 运行以处理客户端请求并做出响应的程序,请求,响应,Servlet 运行于服务器端,24,什么是Servlet,初识Servlet,import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class HelloServlet extends HttpServl
10、et public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException response.setContentType(text/html;charset=gb2312); PrintWriter out = response.getWriter(); out.println(); out.println( Servlet); out.println( ); out.println(你好,欢迎来到Servlet世界); out.prin
11、tln( ); out.println(); out.close(); ,继承HttpServlet类,Servlet输出HTML标签和内容,导入所 需的包,处理请 求的方法,将数据 发送给 客户端,25,Servlet与JSP关系,Servlet与JSP之间的关系 JSP在服务器上转译的文件,out.write(rn); out.write( rn); out.write( MyJsp.jsprn); out.write( rn); out.write( rn); out.write( This is my JSP page. rn); out.write( rn); out.write(r
12、n);, MyJsp This is my JSP page. ,MyJsp.jsp,MyJsp_jsp.java (.jsp转译后的.java文件),JSP转译后的.java文件与Servlet的处理方式一样,Servlet是JSP技术的基础,演示示例1:Tomcat下MyJsp_jsp.java,26,如何创建Servlet,前台页面的创建 FORM表单的编写 后台Servlet的创建 使用MyEclipse的Servlet向导创建Servlet代码模板 根据表单提交方法,确定接收方法 接收请求数据、处理数据、返回响应页面,27,FORM表单的method属性,FORM表单提交的方法 Ge
13、t和Post, MyJsp This is my JSP page. , MyJsp ,FORM的方法有哪些?,Get | Post,Get 与 Post有什么区别?,Get、Post提交数据与 Servlet有什么关系吗?,28,使用向导创建Servlet,在MyEclipse下如何创建Servlet 在MyEclipse下如何创建Servlet 首先在缺省包(src)下创建包 在上述包中使用向导创建Servlet,演示示例2:创建Servlet步骤,29,Servlet编程模式,Servlet编程基本模式 处理Get和Post请求,import java.io.IOException; i
14、mport javax.servlet.*; import javax.servlet.http.*; public class HelloServlet extends HttpServlet public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException /doGet方法体内容 public void doPost(HttpServletRequest request, HttpServletResponse response)
15、throws ServletException, IOException /doPost方法体内容 ,使用Get方法提交,触发doGet()方法,使用Post方法提交,触发doPost()方法,30,Servlet编程模式,Servlet编程基本模式 Servlet如何接收数据,import java.io.IOException; import javax.servlet.*; import javax.servlet.http.*; public class HelloServlet extends HttpServlet public void doGet(HttpServletRequ
16、est request, HttpServletResponse response) throws ServletException, IOException public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException /doPost方法体内容 ,参数为表单元素名称,接收数据与JSP相同,如果是使用Get方法提交数据,String userName = request.getParameter(userName); String
17、userPass = request.getParameter(userPass);,/doGet方法体内容,如果是使用Post方法提交数据,doPost(request,response);,31,Servlet编程模式,Servlet编程的基本模式 根据结果,转向其他页面或资源,import java.io.IOException; import javax.servlet.*; import javax.servlet.http.*; public class HelloServlet extends HttpServlet public void doGet(HttpServletRe
18、quest request, HttpServletResponse response) throws ServletException, IOException String userName=request.getParameter(userName); String userPass=request.getParameter(userPass); if (userName.equals( sa) ,使用response重定向到其他页面,与JSP相同,32,Servlet的生命周期,Servlet的生命周期由Servlet容器(如:Tomcat)控制 容器如何处理请求,HTTP请求,容器,
19、请求,响应,1,2,Servlet实例,Servlet,通过URL找到,执行,service(请求,响应),3,4,doGet(请求,响应),5,响应,6,33,Servlet的生命周期,生命周期的各个阶段,实例化,Servlet 容器创建 Servlet 的实例,初始化,该容器调用 init() 方法,服 务,如果请求 Servlet,则容器调用 service() 方法,销毁实例之前调用 destroy() 方法,销 毁,34,生命周期相关方法,public class HelloServlet extends HttpServlet public void init() throws S
20、ervletException System.out.println(初始化时第一次调用!); public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException response.setContentType(“text/html;charset=gbk”); PrintWriter out=response.getWriter(); out.println(); out.println( HelloServlet); out.prin
21、tln( ); out.println(你好,Mary! +new Date(); out.println( ); public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException doGet(request,response); public void destroy() System.out.println(释放资源!); ,初始化方法,doGet()方法,doPost()方法,销毁方法,35,程序演示,运行HelloServle
22、t 启动Tomcat服务 在地址栏内输入:http:/localhost:8080/books/HelloServlet 运行结果,演示示例3:HelloServlet,36,现场编程,请使用Servlet编写在页面显示“你好,Mary!”的程序代码, public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException response.setContentType(text/html;charset=GBK); /设置中文 PrintW
23、riter out = response.getWriter(); /使用输出流,向客户端输出信息 out.println(); out.println(HelloServlet); out.println(); out.println(“你好,Mary!); out.println(); out.println(); out.flush(); out.close(); ,37,常见错误,如果程序运行结果如下:,出现了乱码,什么原因呢?,public class HelloServlet extends HttpServlet public void doGet(HttpServletRequ
24、est request, HttpServletResponse response) throws ServletException, IOException response.setContentType(text/html;charSet=GBK);/设定中文 PrintWriter out = response.getWriter(); /使用输出流,输出信息 ,设定中文的语句,哪里有错误吗?,charset而不是charSet,38,Servlet的部署,每个Servlet为一个组件,必须部署到Tomcat中才能运行 与JSP相同 在Tomcat中部署 部署要遵守容器特定的规定,39,Servlet的部署,在Tomcat中如何部署,tomcat,webapps,books,WEB-INF,index.html,test.jsp,lib,classes,*.jar,HelloServlet.class,web.xml,显示页面,第三方jar文件,.java编译后 的.class文件,程序配置文件,必须的,tomcat主目录,文档根目录,40,Servlet的配置,在web.xml文件中配置Servlet 如何访问Servlet, HelloServlet j16.HelloServlet HelloServlet /Hell
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2023年英语六级高频词汇
- 医疗行业大数据隐私保护技术在患者隐私保护合规性中的应用研究
- 数字货币支付与金融服务创新对金融市场风险管理的影响研究报告
- 零售业会员制度创新策略2025年实施指南:忠诚度提升关键点
- 氢燃料电池汽车加氢站建设成本优化与布局创新深度报告
- 医疗美容服务行业规范化与市场监管协同监管模式研究
- 2023年电大货币银行学形成性考核册参考答案
- 中职高考英语一轮复习课件(情态动词)
- 二零二五年度上海特色快速办理离婚协议合同
- 2025版学校教室及操场地砖铺设与耐磨性保障协议
- 自动驾驶车辆的事故责任归属法律问题研究
- 银行客户黑名单管理办法
- 安全应急培训课件
- (完整版)4.19天体运动综合习题(带答案)
- 因式分解(二)换元法与十字相乘法
- 南音洞箫的艺术特质
- 整装定制家居建材企业商学院打造高端营销型金牌店长课件
- 安庆时联新材料有限责任公司10000吨年抗氧剂系列产品及抗紫外线吸收剂生产项目环境影响报告
- 分场景室分覆盖解决方案
- GB/T 38634.3-2020系统与软件工程软件测试第3部分:测试文档
- 山西省朔州市各县区乡镇行政村村庄村名居民村民委员会明细及行政区划代码
评论
0/150
提交评论