文档详情

Struts1.x系列教程(1):用MyEclipse开发第一个Struts程序.docx

发布:2019-03-28约2.02万字共22页下载文档
文本预览下载声明
本系列教程将详细介绍Struts 1.x的基本原理和使用方法,读者可以参阅 HYPERLINK /nokiaguy/archive/2008/04/15/193229.html 《Struts 2系列教程》来比较Struts 1.x和Struts 2.x的相同点和不同点。 ?? 在这篇文章中将以一个简单的例子(mystruts)来演示如何使用MyEclipse来开发、运行Struts程序,并给出了解决ActionForm出现乱码问题的方法。读者可以从本文中了解开发Struts 1.x程序的基本过程。 一、本文给出的程序要实现什么功能 ??? mystruts是一个录入和查询产品信息的程序。为了方便起见,本例中的产品信息表只包括了产品ID、产品名称和产品价格三个字段。mystruts的主要功能如下: ?? 1. 接受用户输入的产品ID、产品名称和产品价格。 ???验证这些字段的合法性。如果某些字段的输入不合法(如未输入产品ID),程序会forward到一个信息显示页,并显示出错原因。 ???如果用户输入了正确的字段值,程序会将这些字段值保存到数据库中,并显示“保存成功”信息。 ???用户输入产品名称,并根据产品名称进行模糊查询。如果存在符合要求的产品信息。程序会以表格形式显示这些产品的信息,同时显示记录数。如果未查到任何记录,会显示“没有符合要求的记录!”信息。 二、编写程序前的准备工作 1. 建立数据库 ??? 在编写程序之前,需要建立一个数据库(struts)和一个表(t_products),建立数据库和表的SQL脚本如下所示: ??#?建立数据库struts ??CREATE?DATABASE?IF?NOT?EXISTS?struts?DEFAULT?CHARACTER?SET?GBK; ??#?建立表t_products ??CREATE?TABLE?IF?NOT?EXISTS?struts.t_products?( ????product_id?varchar(4)?NOT?NULL, ????product_name?varchar(50)?NOT?NULL, ????price?float?NOT?NULL, ????PRIMARY?KEY??(product_id) ??)?ENGINE=InnoDB?DEFAULT?CHARSET=gbk; 2?建立一个支持struts1.x的samples工程 ??? 用MyEclipse建立一个samples工程(Web工程),现在这个samples工程还不支持Struts1.x(没有引入相应的Struts jar包、struts-config.xml文件以及其他和Struts相关的配置)。然而,在MyEclipse中这一切并不需要我们手工去加入。而只需要使用MyEclipse的【New Struts Capabilities】对话框就可以自动完成这些工作。 ??? 首先选中samples工程,然后在右键菜单中选择【MyEclipse】 【New Struts Capabilities】,启动【New Struts Capabilities】对话框。对默认的设置需要进行如下的改动: (1)将Struts specification改为Struts 1.2。 (?)将Base package for new classes改为struts。 (?)将Default application resources改为struts.ApplicationResources。 改完后的【New Struts Capabilities】对话框如图1所示。 图1 ???在设置完后,点击Finish按钮关闭对话框。在向samples工程添加支持Struts的功能后,主要对samples工程进行了三个操作。 (1)引入了Struts 1.2 的jar包(在samples的工程树中多了一个Struts 1.2 Libraries节点)。 (2)在WEB-INF目录中添加了一个struts-config.xml文件。文件的默认内容如下面的代码所示: ???xml?version=1.0?encoding=UTF-8? ??!DOCTYPE?struts-config?PUBLIC?-//Apache?Software?Foundation//DTD?Struts?Configuration?1.2//EN /dtds/struts-config_1_2.dtd ? ??struts-config ????data-sources?/ ????form-beans?/ ????global-exceptions?/ ????global-forwards?/ ????acti
显示全部
相似文档