目录

  • 1 任务一 Eclipse概述及安装
    • 1.1 认识Eclipse
    • 1.2 安装Eclipse
    • 1.3 安装Eclipse插件
    • 1.4 实训
  • 2 任务二 Eclipse的集成开发环境
    • 2.1 Eclipse界面
    • 2.2 常用视图
    • 2.3 透视图
    • 2.4 Java程序编写
    • 2.5 编译和运行
    • 2.6 Java代码调试
    • 2.7 实训
  • 3 任务三 Eclipse中搭建Web开发环境
    • 3.1 Eclipse中Web开发环境的分析
    • 3.2 应用服务器Tomcat的安装与配置
    • 3.3 MyEclipse插件的安装与配置
    • 3.4 数据库的安装与配置
    • 3.5 实训
  • 4 任务四 Eclipse中开发Web项目
    • 4.1 Eclipse中创建Web工程
    • 4.2 建立Servlet处理方式
    • 4.3 建立JavaBean处理方式
    • 4.4 数据库开发
    • 4.5 Eclipse中调试Web项目
    • 4.6 实训
  • 5 任务五 Eclipse开发实例——电子会议厅
    • 5.1 MVC设计模式
    • 5.2 系统分析
    • 5.3 数据库设计
    • 5.4 框架结构设计
    • 5.5 功能设计与实现
      • 5.5.1 动态加载事务类别
      • 5.5.2 添加事务(一)
      • 5.5.3 添加事务(二)
      • 5.5.4 班级事务的编辑与删除
      • 5.5.5 班级事务的查看
    • 5.6 实训
  • 6 任务六   Struts实现MVC设计
    • 6.1 实例介绍
    • 6.2 Struts框架结构
    • 6.3 Struts实例设计
    • 6.4 利用Struts实现“班级事务发布”模块
    • 6.5 实训
  • 7 任务七  Hibernate实现数据持久化
    • 7.1 持久化技术
    • 7.2 Eclipse中开发Hibernate
    • 7.3 Hibernate项目的设计
    • 7.4 利用Hibernate实现“班级事务浏览”模块
    • 7.5 项目的打包与发行
    • 7.6 实训
  • 8 任务八   JUnit单元测试
    • 8.1 关于JUnit
    • 8.2 编写和运行JUnit测试
    • 8.3 JUnit测试案例
    • 8.4 实训
  • 9 任务九  使用CVS进行版本控制
    • 9.1 版本管理与CVS
    • 9.2 CVS服务器的安装与配置
    • 9.3 CVS客户端的配置
    • 9.4 CVS项目管理
    • 9.5 标记版本
    • 9.6 实训
Struts实例设计


用Struts设计实例


一、建立普通的Web项目,为项目添加Struts支持

添加Struts支持后所做的工作:

⑴ 展开Struts1.2 Libraries目录查看Struts的包结构,与Struts的组件结构进行对照

⑵ 查看web.xml文件,明确下面的问题:

u <servlet>元素定义了Servlet实例一个名为action的Servlet。其中有一项比较重要的初始化参数config,指明了Struts的配置文件的名称和所在的位置;

u <servlet-mapping>元素建立Servlet映射。这个Servlet处理的是URL以.do为结尾的用户请求。


凡是以*.do形式发送到Web项目中的请求,全部调用action所代表的ActionServlet处理,所以我们把ActionServlet称为Struts中的控制器。 

⑶ 查看struts-config.xml文件。











此时的配置信息还没有生成,随着Struts其他核心组件的创建,这些配置会随之变化。

二、建立Struts核心组件JSP页面













建立JSP组件后所做的工作:


⑴  查看项目结构和struts-config.xml文件(尤其Design方式)


⑵  补充JSP文件的代码:


*  input.jsp文件:


    关键点:① 形成符合要求的界面形式;


       ② 在提交表单时,action参数的设置值是input.do


*  display.jsp文件:


    关键点:通过request对象取出要显示的数据。


三、建立Struts核心组件ActionForm














设计窗口中参数的含义:

*  Name:ActionForm bean实例的名称,Action组件会初始化该实例,用于接收客户端录入的图书信息。

*  Form type:ActionForm组件的类名。图中将类存放在form包里,便于管理和维护。

*  Optional Details:用于设置ActionForm类的细节,比如该类中需要定义的各个属性。关于图书的信息有三个:图书类型、书名和作者,所以ActionForm bean中应该有三个属性对应这三个信息。

建立ActionForm组件后所做的工作:

⑴  查看struts-config.xml文件,分析<form-beans>元素的定义

⑵  查看InputActionForm.java文件的内容,分析bean的设计结构,明确它的作用和意义:

*  Action对象通过这个类的实例获取表单中关于图书类别、书名和作者的数据。

  reset()方法的重置作用和validate()方法的数据验证作用。

四、建立Struts核心组件Action














Action组件的工作流程:

⑴ 接受控制器的调遣:当客户端提交了图书信息后,ActionServlet也需要将具体的任务交给一个指定的Action组件;

⑵ Action组件会通过ActionForm组件对象获取图书信息(没有Form对象时,会自动创建并初始化)

⑶ 在特定的方法中<execute()方法>,让用户编程完成具体的处理。 

设计窗口中参数的含义:


*  Path:请求路径,以/开头,但不包括*.do后缀。与视图中的请求相对应。图中的情况说明:凡是以input.do发出的请求均由这个Action组件来处理。


*  Type:要建立的Action类的类名,这里起名为InputAction,同时又把它放在action包里。


*  Optional Details:配置Action组件类的各个细节,如:Form bean、参数、方法、Forwards组件、异常等。

FormBean选项卡的设计:


* Name:ActionForm组件的对象名,体现了ActionForm组件与Action组件的绑定关系。Action组件会通过它接收向本Action发送的关于图书信息的表单数据。当输入不方便时,可以通过点击Browse按钮,选择已经声明了的Form bean对象。


*  Scope:ActionForm Bean的有效使用范围。


*  Input Source:指向一个视图。当执行了ActionForm的validate()方法时,如果返回了错误信息,那么Struts将会返回到这个input属性所指定的页面中。

五、建立Struts核心组件Forward













设计窗口中参数的含义:


*  Name:Forward组件的名称,即要转发的名称,这里为result,设计者可以根据见名之意的原则起名。


*  Path:转发的目的页面,可以通过Browse选择前面已经建立好的display.jsp页面。


 这样就建立了针对InputAction这个组件的跳转功能:Action组件可以依据Forward的名称(result)将ActionForward对象返回到Servlet中,控制器根据ActionForward的名称找到其对应的URL地址(display.jsp的URL值),并把控制转移到该URL。

六、观察结果,补充代码

⑴ Struts项目的结构基本上完整了,发生的变化主要有两个:


*  在src目录下生成了action包,里面存放着Action组件对应的类文件InputAction.java;


*  在struts-config.xml文件的视图显示区可以看到各组件的关系图。 











⑵ struts-config.xml文件的内容变化














⑶ 补充InputAction.java文件的代码 












① 通过Form类中定义的getXXX()方法获取表单中的图书信息


② 将信息存储到request对象里,存储的关键字名称与display.jsp文件相呼应


③ 依据Forward组件的名称(result),返回到Servlet中