Web系统与技术--实验八

2019-08-30 18:51

实验八 Web组件重用与JavaBeans

班级:网络112 学号:201106090213 姓名:李亚军

一、实验目的

1. 理解静态包含和动态包含的概念,掌握相关指令和动作的使用; 2. 掌握JavaBeans的含义和创建;

3. 重点掌握在JSP页面中使用JavaBeans的标准动作。 二、实验原理

通过重用Web组件可以提高应用程序开发的效率和其可维护性。在JSP中可以通过包含机制和JavaBean实现Web组件的重用。

包含分为静态包含和动态包含。静态包含通过include指令实现,动态包含通过标准动作jsp:include实现。

在JSP页面中使用JavaBean是最重要的组件重用技术,这主要是通过下面3个标准动作实现的:

三、实验内容及要求

(一)include静态指令的使用

创建名称为ch08的Web项目,编写hello.jsp页面,其中声明一个变量userName,用于获取请求地址后查询串参数userName的值;使用<%@ include>静态指令包含response.jsp页面,通过response.jsp页面显示userName的值,用下面两种方法实现。执行代码并查看运行结果。

方法一:response.jsp页面中通过JSP表达式直接输出变量userName的值。

方法二:通过pageContext作用域属性,在主页面和子页面间共享userName的值,降低主页面和子页面的依赖性。

思考并回答:

? 静态include指令何时执行?

答:与主页面同时执行。

? 主页面和被包含的子页面是否转换为一个转换单元?

答:是。

? 同一个转换单元的页面之间如何共享数据?

答:通过request作用域共享。

(二)动作指令的使用

编写main.jsp页面,其中声明一个变量userName,用于获取请求地址后查询串参数userName的值;在main.jsp页面中使用动作包含subpage.jsp页面,通过subpage.jsp页面显示userName的值;执行代码并查看运行结果。

思考并回答:

? 动作指令何时执行?

答:与main.Jsp页面分别编译执行。

? 主页面和被包含的子页面是否转换为一个转换单元?

答:不是。

? 动作包含的子页面与主页面共享同一个请求吗?

答:共享。

? 在不同的转换单元中如何进行数据的传递和共享? (三)动作指令的使用 【步骤1】action_forward.jsp的代码如下:

【步骤2】forwardTo.jsp的代码如下:

执行action_forward.jsp页面,查看运行结果。

思考并回答:

? 动作与动作有什么相同点和不同点?

答:转发到的页面处理完后并不将控制转回主页面。 ? 与动作等价的其他两种写法如何表示?

答:<% RequestDispatcher view=request.getRequestDispatcher(? other.jsp? ) ; View.forward(request,response) ;%>

< % pageContext.forward(? other.jsp? ) ;%>

(四)JavaBean的创建与序列化。

【步骤1】仿照课本程序6.10创建CustomerBean类,使其可以序列化;

public class CustomerBean implements java.io.Serializable{ private String customername; private String email; private String phone; public String getcustomername() { return this.customername; } public String getemail() { return this.email; } public String getphone() { return this.phone; } public void setcustomername(String customer) { this.customername=customer; } public void setemail(String email) { this.email=email; } public void setphone(String phone) { this.phone=phone; } }

【步骤2】编写customer.jsp页面供用户填写表单数据; <%

String msg=(String)request.getAttribute(\ if(msg!=null)

out.println(msg+\ %>

【步骤3】将程序6.12所示的Servlet改写成同样功能的saveBean.jsp页面,用于检索表单数据、创建CustomerBean实例并序列化到指定路径相应的文件中。

<%

String msg=(String)request.getAttribute(\ if(msg!=null)

out.println(msg+\ %>

【步骤3】编写display.jsp页面,使用JavaBeans显示输入的信息,部分代码如下,补充关键代码:

<%@ page import=\

UserName:
Password:
Email:

(六)使用JavaBean构造一个简单的计算器,能够进行“+、-、*、/”运算。

【步骤1】编写实现简单计算器的JavaBean:SimpleCalculator.java,包含first、second、operator、result四个成员变量和相应的访问器与设置器,一个calculator方法根据运算符获取运算结果。

【步骤2】编写calculate.jsp页面,用户通过表单输入两个操作数和运算符,调用该页面自身处理该表单,通过调用SimpleCalculator实现运算逻辑,并显示运算结果。

四、思考题

1. 什么是Model 1体系结构,有何缺点?

答:model1体系每个请求的目标都是jsp页面。Jsp页面负责完成所有任务并将响应发送给客户。

缺点:①特需要将大量的Java代码的业务逻辑嵌入到jsp页面中;②不能提高组件的可重用性。

2. 什么是MVC设计模式?其优点是什么?

答:将web应用组件分成模型、控制器、视图三部分,每种组件完成各自的任务,该结构的所有请求目标都是servlet,充当控制器,servlet分析请求并将所需要的数据收集到JavaBean对象,该对象作为模型,最后servlet将请求转发到jsp,有jsp调用JavaBean中的数据并产生响应。


Web系统与技术--实验八.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:久其软件中国铁建财务共享平台ocx控件说明及常见安装问题解决方

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: