320 likes | 514 Views
JavaEE 应用开发. 目录. 第一次课. 项目一:搭建开发环境. 项目二:聊天答疑室程序设计. 项目三:基于 Model1 模式的在线答疑系统. 项目四:基于 Model2 模式的在线答疑系统. 项目五:基于 Struts 框架的在线答疑系统. 项目六:基于 Struts 和 Hibernate 的在线答疑系统. 项目七:基于 Ajax 的聊天答疑室程序设计. 项目说明. 基于 Model2 模式的在线答疑系统. 复习上节课内容 MVC 设计模式 Struts 体系结构 Struts 工作流程 Struts 应用.
E N D
目录 第一次课 项目一:搭建开发环境 项目二:聊天答疑室程序设计 项目三:基于Model1模式的在线答疑系统 项目四:基于Model2模式的在线答疑系统 项目五:基于Struts框架的在线答疑系统 项目六:基于Struts和Hibernate的在线答疑系统 项目七:基于Ajax的聊天答疑室程序设计
基于Model2模式的在线答疑系统 • 复习上节课内容 • MVC设计模式 • Struts体系结构 • Struts工作流程 • Struts应用
Model2 Web开发模型(MVC) 复习上节课内容 • Model2开发模式
复习上节课内容 • Servlet的开发、配置和使用 • 开发 • 配置(Web.xml) • 使用
一、MVC设计模式 • MVC • 模型(Model)模型是应用程序的主体部分。模型表示业务数据,或者业务逻辑. • 视图(View)视图是应用程序中用户界面相关的部分,是用户看到并与之交互的界面。 • 控制器(Controller)控制器工作就是根据用户的输入,控制用户界面数据显示和更新model对象状态。
二、JAVA Web开发框架 主要开发框架分布图 选用主流的开发框架
二、JAVA Web开发框架 能力递增 Spring+Struts+Hibernate开发 SSH 高级 Hibernate Struts+Hibernate开发 中级 Struts Struts开发 Servlet JSP+JavaBean+Servlet开发 JSP+JavaBean开发 JavaBean 初级 语法、指令、内置对象 JSP JDK、TomCat、MyEclipse 开发环境搭建
二、JAVA Web开发框架 • 框架的作用 • 可重用 • 易于扩展和控制 • 能提高开发效率
五、Struts1实战 • 用户登录程序 • JBuilder和MyEclipse中的Struts Web开发 • 通过简单案例掌握 • Struts框架体系结构 • Struts工作流程 • Struts开发过程
五、Struts1实战 • 创建Web工程 • 新建登录页面 • 编写ActionForm • 编写Action • 配置Struts-configer.xml • 部署运行
五、Struts1实战 • Action映射配置说明 • Path:指定请求访问Action的路径 • Type:指定Action类的完整路径 • Name:指定需要传递给Action的ActionForm Bean • Scope:指定ActionForm Bean的存放范围 • Validate:指定是否执行表单验证 • Input:指定表单验证失败的转发路径
六、Struts2 • 基于Struts2的用户登录程序 • 环境配置 • 编辑登录JSP页面 • 配置web.xml • 开发Action • 配置struts.xml • 编辑信息显示JSP页面 • 部署运行
六、Struts2 • 注意 • 在一个Action类中不一定只能有execute()方法,如果需要调用Action类中的其他方法,需要在action中配置method属性。
七、Struts数据验证 • Struts数据验证及验证框架 • Struts1中的数据验证 • ActionForm的validate()方法,返回ActionErrors • Struts2中的数据验证 • 编写Action类的validate()方法 • Struts2验证框架
七、Struts数据验证 • Struts2验证框架 • 必填字符串校验器:requiredstring • 必填校验器:required • 整数校验器:int • 日期校验器:date • 邮件地址校验器:email • 网址校验器:url • 字符串长度校验器:stringlength • 正则表达式校验器:regex
七、Struts2数据验证 • 校验规则定义文件 • 命名:AciontName-validation.xml • ActionName:用户自定义的Action类的类名 • 存放路径:与Action类文件同一路径 • 若Action类中有多个方法,在struts.xml中有多个action配置,要验证其中一个方法,则命名为:ActionName-name-validation.xml,其中name为action配置中的name
八、JSP中的表达式语言 • 表达式语言(EL,Expression Language) • 作用:用于JSP中的数据访问 • 关键字:and、eq、gt、true、or、not等 • 变量:例 ${username}、${student.name},一次在page、request、session、application中查询属性 • 运算符:empty 检查是否为空,其他 • 隐含对象:pageContext、param、requestScope、sessionScope等
八、JSP中的表达式语言 • 表达式语言的使用 • 基本语法案例 • 读取表单数据 • 函数
九、JSTL • JSTL(JSP Standard Tag Library) • 常用标签 • <c:out> 、<c:set>、<c:remove>、<c:catch> • 条件标签 • <c:if>、<c:choose>、<c:when>、<c:otherwise> • 迭代标签 • <c:forEach>、<c:forTokens> • URL标签 • <c:url>、<c:import>、<c:redirect>
九、JSTL • SQL标签库 • 设置数据源<sql:setDataSource> • 查询数据库<sql:query> • <sql:param>、<sql:dateParam> • 修改数据库 • <sql:update>、<sql:transaction>q • 使用标签 • <%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
十、Struts2标签库 • Struts2的OGNL表达式 • OGNL表达式 • OGNL:Object Graphic Navigation Language • Struts2默认的表达式语言(EL) • #request.username或#request[“username”]相当于request.getAttribute(“username”) • OGNL集合操作 • {e1,e2,e3…} List • #{key1:value1,key2:value2,…} Map
十、Struts2标签库 • 数据标签 • <s:property>标签,输出指定值 • <s:property value=“#request.username”/> • <s:set>标签,定义新变量 • <s:property value=“#session[‘stu’].name”/> • <s:set name=“stu” value=“#session[‘stu’]”/> • <s:property value=“#stu.name”/> • <s:param>标签,设置参数 • <s:param name=“stu”>stu1</s:param> • <s:param name=“stu“ value=“stu1”/> • <s:param name=“sname” value=“’Tom’”/>
十、Struts2标签库 • 数据标签 • <s:bean>标签 • <s:action>标签 • <s:date>标签 • <s:include>标签 • 控制标签 • 表单标签
十一、过滤器和拦截器 1、拦截器是基于java反射机制的,而过滤器是基于函数回调的。 2、过滤器依赖与servlet容器,而拦截器不依赖与servlet容器。 3、拦截器只能对Action请求起作用,而过滤器则可以对几乎所有请求起作用。 4、拦截器可以访问Action上下文、值栈里的对象,而过滤器不能。 5、在Action的生命周期中,拦截器可以多次调用,而过滤器只能在容器初始化时被调用一次
十二、Struts2应用 • 基于Struts2框架的在线答疑系统 • 管理员登录功能 • 用户管理功能 • 问题管理功能 • 答疑查询功能
小结 • 深入理解Struts体系结构和工作流程 • 掌握Struts2框架的开发方法 • 使用Struts2框架开发Java Web应用程序 (不断学习总结,学以致用) 作业: 实现基于Struts框架的在线答疑系统
Thank You ! www. zepc.edu.cn