书签 分享 收藏 举报 版权申诉 / 38
上传文档赚钱

类型用Eclipse开发javaweb应用程序方案课件.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:2251839
  • 上传时间:2022-03-26
  • 格式:PPT
  • 页数:38
  • 大小:1.89MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《用Eclipse开发javaweb应用程序方案课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    Eclipse 开发 javaweb 应用程序 方案 课件
    资源描述:

    1、第第2讲讲 基于基于Servlet+JavaBean+Jsp开发开发应用的过程应用的过程第第2讲讲 基于基于Servlet+JavaBean+Jsp开发应用的过程开发应用的过程 本讲主要介绍主流的本讲主要介绍主流的java web编程技术、设计模式编程技术、设计模式和框架,以及如何利用和框架,以及如何利用Eclipese开发开发Web应用程序。应用程序。 要点:要点: 1、Java Web编程的主要组件技术;编程的主要组件技术; 2、MVC设计模式;设计模式; 3、用、用Eclipse构建一个基于构建一个基于MVC模式的模式的Java Web的应的应用程序。用程序。 目的目的: 掌握如何用掌握

    2、如何用Eclipse构建一个基于构建一个基于MVC模式的模式的Java WEB的应用程序。的应用程序。 2.1 java web 编程的主要组件技术HtmljspServletJavabeanJdbcXmlTomcatMySQL2.2 MVC设计模式 今天,我们见到的绝大部分应用,都是基于今天,我们见到的绝大部分应用,都是基于B/S(浏(浏览器览器/服务器)架构的,其中的服务器就是服务器)架构的,其中的服务器就是Web服务器。可服务器。可见,见,Web应用是目前广泛使用的应用模式。应用是目前广泛使用的应用模式。Web程序开发方法的发展程序开发方法的发展: JSP的的Model 1 JSP的的M

    3、odel 2 MVC 1 Model 1和和Model 2 对于对于Java的动态的动态Web编程技术而言,则经历了编程技术而言,则经历了Model 1和和Model 2时代。时代。 Model 1: Model 1就是就是JSP大行其道的时代,在大行其道的时代,在Model 1模式下,整个模式下,整个Web应用几乎全部由应用几乎全部由JSP页面组成,页面组成,JSP页面接收处理客户端请求,对请求处理页面接收处理客户端请求,对请求处理后直接做出响应。用少量的后直接做出响应。用少量的JavaBean来处理数据库连接、数据库访问等操来处理数据库连接、数据库访问等操作。作。 Model 2: Mod

    4、el 2下下JSP不再承担控制器的责任,它仅仅是表现层角色,仅不再承担控制器的责任,它仅仅是表现层角色,仅仅用于将结果呈现给用户,仅用于将结果呈现给用户,JSP页面的请求与页面的请求与Servlet(控制器)交互,而(控制器)交互,而Servlet负责与后台的负责与后台的JavaBean通信。通信。 在在Model 2模式下,模型(模式下,模型(Model)由)由JavaBean 充当,视图(充当,视图(View)由由JSP页面充当,而控制器(页面充当,而控制器(Controller)则由)则由Servlet充当。充当。Model 1的程序流程:的程序流程:特点:特点: 由由JSP页面组成,页

    5、面组成,JSP页面接收处理客户端请求,对请求处理后直接页面接收处理客户端请求,对请求处理后直接做出响应。用少量的做出响应。用少量的JavaBean来处理数据库连接、数据库访问等操作来处理数据库连接、数据库访问等操作Model 2的程序流程的程序流程:基本上是基本上是MVC结构结构特点:特点: Model 2下下JSP不再承担控制器的责任,它仅仅是表现层角色,仅仅用于将结不再承担控制器的责任,它仅仅是表现层角色,仅仅用于将结果呈现给用户,果呈现给用户,JSP页面的请求与页面的请求与Servlet(控制器)交互,而(控制器)交互,而Servlet负责与后台负责与后台的的JavaBean通信。通信。

    6、 在在Model 2模式下,模型(模式下,模型(Model)由)由JavaBean 充当,视图充当,视图(View)由)由JSP页面充当,而控制器(页面充当,而控制器(Controller)则由)则由Servlet充当。充当。2 Model 1和和Model 2的比较的比较 对于非常小型的对于非常小型的Web站点,如果后期的更新、维护工站点,如果后期的更新、维护工作不是特别大,可以使用作不是特别大,可以使用Model 1的模式来开发应用,而不的模式来开发应用,而不是使用是使用Model 2的模式。的模式。 虽然虽然Model 2提供了更好的可扩展性及可维护性,提供了更好的可扩展性及可维护性,但

    7、但增加了前期开发成本增加了前期开发成本。从某种程度上讲,。从某种程度上讲,Model 2为了降为了降低系统后期维护的复杂度,却导致前期开发的更高复杂度。低系统后期维护的复杂度,却导致前期开发的更高复杂度。 3 MVC思想思想 MVC并不是并不是Java语言所特有的设计思想,也并不语言所特有的设计思想,也并不是是Web应用所特有的思想,它是所有面向对象程序设计语应用所特有的思想,它是所有面向对象程序设计语言都应该遵守的规范。言都应该遵守的规范。 MVC思想将一个应用分成三个基本部分:思想将一个应用分成三个基本部分:Model(模型)、(模型)、View(视图)和(视图)和Controller(控

    8、制器),这三(控制器),这三个部分以最少的耦合协同工作,从而提高应用的可扩展性个部分以最少的耦合协同工作,从而提高应用的可扩展性及可维护性。及可维护性。MVCMVCMVC: M(model)是指数据模型,)是指数据模型, V(View)是指用户界面,)是指用户界面, C(Control)则是控制器。则是控制器。 使用使用MVCMVC的目的是将的目的是将M M和和V V的实现代码分离,从而使同的实现代码分离,从而使同一个程序可以使用不同的表现形式。一个程序可以使用不同的表现形式。模型、视图与控制器的分离,使得一个模型可以具有多个显模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用

    9、户通过某个视图的控制器改变了模型的数据,示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化。因此,所有其它依赖于这些数据的视图都应反映到这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通知所有无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。这实际上是一种模型的变化的视图,导致显示的更新。这实际上是一种模型的变化- -传传播机制。模型、视图、控制器播机制。模型、视图、控制器3 3者之间的关系和各自的主要者之间的关系和各自的主要功能。功能。MVC的组成部分视图(视图(ViewView)代表用户交互界面,对于代

    10、表用户交互界面,对于WebWeb应用来应用来说就是说就是HTMLHTML界面。界面。模型(模型(ModelModel):):就是业务流程就是业务流程/ /状态的处理以及业状态的处理以及业务规则的制定。务规则的制定。控制(控制(ControllerController):):可以理解为一个分发器,他可以理解为一个分发器,他来决定选择什么样的模型,选择什么样的视图,可来决定选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求,控制层并不做任何的数以完成什么样的用户请求,控制层并不做任何的数据处理。据处理。MVC带来的好处MVCMVC从根本上强制性的将它们分开,最大程度上实现了程序从根本上强

    11、制性的将它们分开,最大程度上实现了程序代码与网页的分离。代码与网页的分离。数据和业务规则从表示层分开,所以可以最大化的重用代码。数据和业务规则从表示层分开,所以可以最大化的重用代码。MVC的特点MVC特点:特点:n 多个视图可以对应一个模型。按多个视图可以对应一个模型。按MVC设计模式,一个模型对应多个视设计模式,一个模型对应多个视图,可以减少代码的复制及代码的维护量,一旦模型发生改变,也易于维图,可以减少代码的复制及代码的维护量,一旦模型发生改变,也易于维护。护。n 模型返回的数据与显示逻辑分离。模型数据可以应用任何的显示技术,模型返回的数据与显示逻辑分离。模型数据可以应用任何的显示技术,例

    12、如,使用例如,使用JSP页面、页面、Velocity模板或者直接产生模板或者直接产生Excel文档等。文档等。n 应用被分隔为三层,降低了各层之间的耦合,提供了应用的可扩展性。应用被分隔为三层,降低了各层之间的耦合,提供了应用的可扩展性。 n 控制层的概念也很有效,由于它把不同的模型和不同的视图组合在一起,控制层的概念也很有效,由于它把不同的模型和不同的视图组合在一起,完成不同的请求。因此,控制层可以说是包含了用户请求权限的概念。完成不同的请求。因此,控制层可以说是包含了用户请求权限的概念。n MVC更符合软件工程化管理的精神。不同的层各司其职,每一层的组更符合软件工程化管理的精神。不同的层各

    13、司其职,每一层的组件具有相同的特征,有利于通过工程化和工具化产生管理程序代码。件具有相同的特征,有利于通过工程化和工具化产生管理程序代码。4 常用的常用的MVC框架框架 Struts: -包括包括struts1和和struts2两个。两个。JSF: JSF是一个标准是一个标准 ,目前,目前,JSF是作为是作为JEE 5.0的一个组成部分,与的一个组成部分,与JEE 5.0一起发布一起发布 JSF的行为方法在的行为方法在POJO中实现,中实现,JSF的的Managed Bean无需继承无需继承任何特别的类。因此,无需在表单和模型对象之间实现多余的控制器层。任何特别的类。因此,无需在表单和模型对象

    14、之间实现多余的控制器层。JSF中没有控制器对象,控制器行为通过模型对象实现。中没有控制器对象,控制器行为通过模型对象实现。 JSF的事件框架可以细化到表单中每个字段。的事件框架可以细化到表单中每个字段。JSF依然是基于依然是基于JSP/Servlet的,仍然是的,仍然是JSP/Servlet架构,因而学习曲线相对简单架构,因而学习曲线相对简单 2.3 用Eclipse构建一个基于MVC模式的Java Web应用程序题目要求:题目要求:(1)技术要求)技术要求: 按照按照MVC设计模式,利用设计模式,利用JSP、Servlet及及JavaBean构建一个简单的登录系统。构建一个简单的登录系统。(

    15、2)系统功能要求:)系统功能要求: 当用户在登录页面上填写用户名和密码并提交后,当用户在登录页面上填写用户名和密码并提交后,系统检查该用户是否已经注册,若注册,系统进入主页面,系统检查该用户是否已经注册,若注册,系统进入主页面,否则,进入注册页面。系统的工作流程见下图。否则,进入注册页面。系统的工作流程见下图。(2)控制器控制器-1LoginServlet(1) 登录页面Login.jsp(5)数据组件userdoadb_op(6)数据库MySQL进行验证,不符合格式,返回注册页面,重新注册,并提示出错情况,注册成功,进入登录页面未注册 登录系统的工作流程登录系统的工作流程(3)提示:登录成功

    16、提示:登录成功Main.jsp(过(过20秒后再自动秒后再自动进入注册页面进入注册页面)(4)进入注册页面Register.jsp(7)控制器控制器-2RegisterServlet(8)提示:注册失败Register_err.jsp(过20秒后再自动进入注册页面)(9)注册成功Register_succ.jsp(过20秒后再自动进入注册页面)已注册或者或者密码错误(10)进入主页面Main2.jsp构建系统的处理步骤(1)数据库设计:数据库设计:构建数据库表构建数据库表T_UserInfo(2)在在Eclipse中创建一个项目中创建一个项目:Login_Proj(3)构建视图组件构建视图组件

    17、:登录页面(:登录页面(login.jsp)、主页面)、主页面(main.jsp)、注册页面注册页面(register.jsp),注册失败(Register_err.jsp),注册成功(Register_succ.jsp)(4)构建控制层组件:构建控制层组件: 一个一个servlet(LoginServlet.java)-实现登录的控制实现登录的控制 一个一个servlet(RegisterServlet.Java)-实现注册的验证控制实现注册的验证控制(5)构建业务逻辑层组件(模型组件)构建业务逻辑层组件(模型组件): 一个一个JavaBean:user,doa,db_op(6)部署该程序到

    18、服务器部署该程序到服务器Tomcat中中,然后运行。,然后运行。(1)数据库设计:构建数据库表数据库设计:构建数据库表T_UserInfo利用利用MySQL数据库,数据库,n 创建数据库:创建数据库:usern 创建表及其结构:创建表及其结构:T_UserInfo字段名字段名字段类型字段类型字段描述字段描述userName文本(文本(20)用户名,主键用户名,主键password文本(文本(10)密码密码数据表结构数据表结构T_UserInfo注意,该数据库所存放的位置注意,该数据库所存放的位置(2)在在Eclipse中创建一个项目:中创建一个项目:Login_Proj 按按Eclipse建立

    19、工程的提示,建立建立工程的提示,建立Web工程工程,工程的,工程的名称为:名称为:Login_Proj。(3)构建视图组件:构建视图组件:- 登录页面(登录页面(login.jsp)n 选中工程选中工程“Login_Proj”,n 击右键,选击右键,选“新建新建”,n 按按Eclipse的提示,建立的提示,建立jsp,名称为:,名称为:Login。n 修改默认修改默认jsp内容内容,达到我们所要求的编码达到我们所要求的编码。login.jsp的代码的代码 登录页面 用户名: 密  码:  (3)构建视图组件构建视图组件- 主页面主页面(main.jsp)n 选中工程选中工程

    20、“Login_Proj”,n 击右键,选击右键,选“新建新建”,n 按按Eclipse的提示,建立的提示,建立jsp,名称为:,名称为:main.jsp。n 修改默认修改默认jsp内容内容,达到我们所要求的编码达到我们所要求的编码。main.jsp代码代码 主页面 ,你成功登录,20秒后自动进入主页面! 类似可以建立其它的页面:类似可以建立其它的页面: 系统页面系统页面main2.jsp 注册页面注册页面register.jsp 注册失败提示页面注册失败提示页面Register_err.jsp 注册成功提示页面注册成功提示页面Register_succ.jspLOREM IPSUM DOLOR

    21、(4) 构建控制层组件(第4步) 建立数据JavaBean用户(user); 建立连接数据库的JavaBean(doa) 建立实现对用户数据库进行操作的java类-db_op.java4.1 建立数据建立数据JavaBean用户(用户(user)package JavaBean;public class user private String username; private String password; public String getUsername() return username; public void setUsername(String username) this.u

    22、sername = username; public String getPassword() return password; public void setPassword(String password) this.password = password; 4.2 建立连接数据库的建立连接数据库的JavaBean(doa)package JavaBean;public class doa private String db_username; private String db_password; private String db_driver; private String db_c

    23、onnection; public String getDb_username() return db_username; public void setDb_username(String db_username) this.db_username = db_username; public String getDb_password() return db_password; public void setDb_password(String db_password) this.db_password = db_password; public String getDb_driver()

    24、return db_driver; public void setDb_driver(String db_driver) this.db_driver = db_driver; public String getDb_connection() return db_connection; public void setDb_connection(String db_connection) this.db_connection = db_connection; 4.3 在在JavaBean(doa)的基础上,建立实现对用的基础上,建立实现对用户数据库进行操作的户数据库进行操作的java类类-db_

    25、op.javapublic class db_op public Connection db_getConnection()Connection conn=null; String db_username=null; String db_password=null; String db_driver=null; String db_connection=null; Properties pro = new Properties(); File file = new File(H:web_15Login_Projsrcdb.properties); try pro.load(new FileIn

    26、putStream(file); catch (Exception e) e.printStackTrace(); db_username=pro.getProperty(db_username,); db_password=pro.getProperty(db_password,); db_driver=pro.getProperty(db_driver,db_driver); db_connection=pro.getProperty(db_connection,db_connection); try Class.forName(db_driver).newInstance(); conn

    27、=DriverManager.getConnection(db_connection, db_username,db_password); return conn; catch(Exception e) System.out.println(e); return null; 实实现现数数据据库库的的连连接接public boolean select_1(user u) /查询用户是否已经注册 Connection conn=null; ResultSet rs=null; Statement ps=null; String xm=u.getUsername(); String pass=u.g

    28、etPassword(); conn=db_getConnection(); String s1=select * from T_userInfo where username=+xm+ and password=+pass+; try ps=conn.createStatement(); rs=ps.executeQuery(s1); if(rs.next() rs.close(); ps.close(); conn.close(); return true; else rs.close(); ps.close(); conn.close(); return false; catch(SQL

    29、Exception e) return false; public boolean select_2(String u) /在注册时,查询是否有重名的用户已经注册Connection conn=null;ResultSet rs=null;Statement ps=null;conn=db_getConnection();String s1=select * from T_userInfo where username=+u+ ;tryps=conn.createStatement(); rs=ps.executeQuery(s1);if(rs.next()rs.close(); ps.clo

    30、se(); conn.close();return true;elsers.close(); ps.close(); conn.close();return false;catch(SQLException e)return false;public void append(user u)/注册时,添加注册用户信息Connection conn=null;Statement ps=null;conn=db_getConnection();String xm=u.getUsername();String pass=u.getPassword();String s1=insert into T_u

    31、serInfo(username,password) values(+xm+,+pass+) ;tryps=conn.createStatement();ps.executeUpdate(s1);ps.close();conn.close();catch(SQLException e)System.out.println(e);(5)构建控制层组件()构建控制层组件(第第5步步):): 5.1 一个一个servlet(LoginServlet.java) -实现登录的控制实现登录的控制 5.2 一个一个servlet(RegisterServlet.Java) 实现注册的验证控制实现注册的验证

    32、控制 5.3 web.xml配置文件的配置文件的解读解读5.2 构建控制层组件:一个构建控制层组件:一个servlet(registerServlet.javapublic void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException String xm=(String)request.getParameter(username); String mm=(String)request.getParameter(password); String m

    33、m2=(String)request.getParameter(repassword); String type_err=; db_op b=new db_op(); if(b.select_2(xm) type_err=xm+:该用户已经注册!; HttpSession s=request.getSession(true); s.setAttribute(type_err,type_err); response.sendRedirect(Register_err.jsp); else if(!mm.equals(mm2) type_err=两次密码不一致错!; HttpSession s=r

    34、equest.getSession(true); s.setAttribute(type_err,type_err); response.sendRedirect(Register_err.jsp); else HttpSession s=request.getSession(true); s.setAttribute(username,xm); s.setAttribute(password,mm); user u=new user();u.setUsername(xm);u.setPassword(mm); db_op d=new db_op(); d.append(u); respons

    35、e.sendRedirect(Register_succ.jsp); 5.1 构建控制层组件:一个构建控制层组件:一个servlet(LoginServlet.java)public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException user u=new user(); String xm=; String ps=; xm=request.getParameter(username); ps=request.getParameter(p

    36、assword); u.setUsername(xm); u.setPassword(ps); HttpSession s=request.getSession(true); s.setAttribute(username,xm); db_op d=new db_op(); boolean tf=d.select_1(u); if(tf) response.sendRedirect(main2.jsp); else response.sendRedirect(register2.jsp); 5.3 web.xml配置文件的配置文件的解读解读和和配置配置提示:提示: 必须要学会必须要学会自己修改

    37、自己修改和和配置,配置,这对于我们了解这对于我们了解servlet的工作原理和实用有着重要的作用。的工作原理和实用有着重要的作用。Java Web应用通过一个基于应用通过一个基于XML的发布描述符文件来配置其的发布描述符文件来配置其发布信息,这个文件名为发布信息,这个文件名为web.xml,它存放于,它存放于WEB-INF子目录子目录下。在下。在web.xml文件中可主要包含如下配置信息:文件中可主要包含如下配置信息:(1)Servlet的定义。的定义。(2)Servlet的初始化参数。的初始化参数。(3)Servlet以及以及JSP的映射。的映射。(4)Filter的定义。的定义。(5)安全

    38、域配置参数。)安全域配置参数。(6)welcome文件清单。文件清单。(7)资源引用。)资源引用。(8)环境变量的定义。)环境变量的定义。(6)部署该程序到服务器部署该程序到服务器Tomcat中,然后运行中,然后运行 另外,必须对系统进行另外,必须对系统进行测试和调试测试和调试总结该程序的设计关键:该程序的设计关键:(1)了解系统流程,给出系统分析,并给出图形描述;)了解系统流程,给出系统分析,并给出图形描述;(2)数据库模型的设计:)数据库模型的设计: 为了使对数据库的操作,具有通用性,采用属性文件,为了使对数据库的操作,具有通用性,采用属性文件,存放数据库连接的有关信息,通过对数据文件的读

    39、,获取该存放数据库连接的有关信息,通过对数据文件的读,获取该信息,实现连接;信息,实现连接;(3)网页之间是如何传递信息的?)网页之间是如何传递信息的?(4)jsp网页与网页与servlet之间是如何传递信息的:之间是如何传递信息的: 信息由信息由jspservlet如何实现;如何实现; 信息由信息由servlet jsp如何实现;如何实现;(5)应该自己逐步设计,绝不能找一个类似的程序修该一)应该自己逐步设计,绝不能找一个类似的程序修该一下。下。人有了知识,就会具备各种分析能力,明辨是非的能力。所以我们要勤恳读书,广泛阅读,古人说“书中自有黄金屋。”通过阅读科技书籍,我们能丰富知识,培养逻辑思维能力;通过阅读文学作品,我们能提高文学鉴赏水平,培养文学情趣;通过阅读报刊,我们能增长见识,扩大自己的知识面。有许多书籍还能培养我们的道德情操,给我们巨大的精神力量,鼓舞我们前进。

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:用Eclipse开发javaweb应用程序方案课件.ppt
    链接地址:https://www.163wenku.com/p-2251839.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库