




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JavaServlet 要求在 webapps 目录下新建一个 Web 服务目录:practice。除特别要求外,实践中的 实验所涉及的 JSP 页面均保存在 practice中。在实践中涉及到的 Javabean 的包名均为 user.yourbean, Servlet 类的包名为 user.yourservlet。另外,需要在当前 web 服务目录下建立 如下的目录结构: practiceWEB-INFclasses 在 classes 下再建立相应的子目录:useryourservlet 和useryourbean 。 为了能顺利地编译 Servlet 类和 Javabean 类,将 Servlet 类的 Java 源文件保存在 D:useryourservlet 目录中;将 Javabean 类的 Java 源文件保存在 D:useryourservletuseryourbean 目录中。 首先编译 Javabean 类然后再编译 Servlet 类,要将编译通过的 Servlet 类的字 节码和 Javabean 类的字节码文件分别复制到 practiceWEB-INFclassesuseryourservlet 和 practiceWEB-INFclassesuseryourbean 目录中。 实验 计算等差、等比数列的和 1. 相关知识点 在 JSP 技术中, “视图” 、 “模型”和“控制器”的具体实现如下: 模型(Model) 一个或多个 JavaBean 对象,用于存储数据, Javabean 主要提供 简单的 setXXX 方法和 getXXX 方法,在这些方法中不涉及对数据的具体处理细 节,以便增强模型的通用性。 视图(View) 一个或多个 JSP 页面,其作用主要是向控制器提交必要的数据 和为模型提供数据显示,JSP 页面主要使用 HTML 标记和 Javabean 标记来显示数 据。 控制器(Controller) 一个或多个 servlet 对象,根据视图提交的要求进行数据处 理操作,并将有关的结果存储到 Javabean 中,然后 servlet 使用重定向方式请求视 图中的某个 JSP 页面更新显示,即让该 JSP 页面通过使用 Javabean 标记显示控制 器存储在 Javabean 中的数据。 2实验目的 本实验的目的是让学生掌握 MVC 模式。 3实验要求 1. 视图 视图由两个 JSP 页面组成:inputData.jsp 和 showResult.jsp。 inputData.jsp 页面提供一 个表单,用户可以输入等差数列的首项、公差、求和项数,也可以输入等比数列的首项、 公比和求和项数。inputData.jsp 页面将用户输入的有关数据提交给一个名字为 computerSum 的 servlet 对象,computerSum 负责计算等差数列的和以及等比数列的和。showResult.jsp 页 面可以显示等差数列和等比数列的求和结果。 2. 数据模型 模型即可以存储等差数列的和也可以存储等比数列的和。数据模型 Javabean(Series.java 类的实例)中的 getXxx 和 setXxx 方法不涉及对数据的具体 处理细节,以便增强模型的通用性。将 Series.java 保存到 D:useryourservletuseryourbean 目录中,编译 Series.java 生成字节码文件 Series.class,然后将 Series.class 复制到 practiceWEB-INFclassesuseryourbean 目录中。 . 控制器 提供一个名字为 computerSum 的 servlet 对象(HandleSum.java 类的实例), computerSum 负责计算等差数列和等比数列的和,将有关数据存储到数据模型 Javabean 中,然后请求 showResult.jsp 显示。将 HandleSum.java 保存在 D:useryourservlet 目录中,编译 HandleSum.java 生成字节码文件 HandleSum.class,然后将 HandleSum.class 复制到 practiceWEB-INFclassesuseryourservlet 目录中。 4. 配置文件 编写如下的 web.xml 文件,并保存到 practiceWEB-INF 目录中。 web.xml: computerSum user.yourservlet.HandleSum computerSum /lookSum 4视图效果 inputData.jsp(效果如图 8-1) 图 8-1 输入数据 showResult.jsp(效果如图 8-2) 图 8-1 显示数据 5参考代码 代码仅供参考,学生可按着实验要求,参考本代码编写代码。 视图参考代码 inputData.jsp 等差数列求和: 输入首项: 输入公差: 求和项数: 等比数列求和: 输入首项: 输入公比: 求和项数: showResult.jsp 数列的首项 所求项数 求和结果 数据模型(Javabean)参考代码 Series.java package user.yourbean; public class Series double firstItem; /数列首项 double var; /公差或公比 int number; /求和项数 double sum; /求和结果 String name=“; /数列类别 public void setFirstItem(double a) firstItem=a; public double getFirstItem() return firstItem; public void setVar(double b) var=b; public double getVar() return var; public void setNumber(int n) number=n; public double getNumber() return number; public void setSum(double s) sum=s; public double getSum() return sum; public void setName(String na) name=na; public String getName() return name; 控制器(servlet)参考代码 HandleSum.java package user.yourservlet; import user.yourbean.*; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class HandleSum extends HttpServlet public void init(ServletConfig config) throws ServletException super.init(config); public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException Series shulie=new Series(); /创建 Javabean 对象 request.setAttribute(“lie“,shulie);/将 shulie 存储到 request 对象中 double a=Double.parseDouble(request.getParameter(“firstItem“); double d=Double.parseDouble(request.getParameter(“var“); int n=Integer.parseInt(request.getParameter(“number“); shulie.setFirstItem(a); /将数据存储在 shulie 中 shulie.setVar(d); shulie.setNumber(n); /计算和: double sum=0,item=a; int i=1; shulie.setName(“等差数列的公差“); while(i=n) /计算等差数列的和 sum=sum+item; i+; item=item+d; shulie.setSum(sum); RequestDispatcher dispatcher=request.getRequestDispatcher(“showResult.jsp“); dispatcher.forward(request,response);/请求 showResult.jsp 显示 shulie 中的数据 public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException Series shulie=new Series(); request.setAttribute(“lie“,shulie); double a=Double.parseDouble(request.getParameter(“firstItem“); double d=Double.parseDouble(request.getParameter(“var“); int n=Integer.parseInt(request.getParameter(“number“); shulie.setFirstItem(a); shulie.setVar(d); shulie.setNumber(n); /计算和: double sum=0,item=a; int
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年营养师职业资格考试专项训练:营养师职业素养与沟通能力
- 民法典普法知识培训课件
- 2025年Python项目管理专项训练试卷 技能提升
- 现代农业基础知识培训课件
- 试题山西省怀仁市重点中学2026届化学高一第一学期期中质量跟踪监视试题含解析
- 四川省会理县第一中学2026届化学高三上期末预测试题含解析
- 王利明民法总论课件
- 天津市蓟州等部分区2026届化学高一第一学期期末达标测试试题含解析
- 2025年校园食堂设备维护与食品安全管理服务合同范本
- 2025年智能化车位租赁与增值服务综合管理协议
- 医院绩效考核指标体系设计与实施
- 食堂食品安全风险日管控、周排查、月调度管理制度
- 中药材仓库管理制度
- 2025年广西南宁市宾阳县公开招聘乡村医生73人笔试备考试题及答案解析
- 2025年秋季新学期全体教职工大会上校长讲话:汇一股心力、立两个目标、守三条底线、打四场硬仗
- 五年级语文阅读理解十篇(含答案)
- DB45T2053-2019 重质碳酸钙单位产品能源消耗限额
- 焊研威达埋弧焊机小车A系列说明书
- 有机热载体锅炉安装工程施工方案完整
- 常规保养双人作业流程新模板汇总
- 处方点评与案例分析
评论
0/150
提交评论