[目标]
实现一个最简单的Struts程序。程序包括一个输入页和输出页,输入页。
对于学习程序设计,我们已习惯于从Hello程序开始,实践证实,这是一个最有效的入门方法。下面就着手设计我们的第一个Struts程序----Hello程序。Hello程序的目标是实现从一个输入jsp页面中的输入框输入一个“Hello”单词,在另一个输出JSP页面中显示“Hello”一词。根据Struts框架的要求,这个Hello程序将包含输入JSP文件、输出JSP文件、Action文件、FormAction文件及配置文件。也就是说,这个Hello程序是一个完整的Struts程序,它可直接在Tomact、Resin等服务器上运行。
[效果]
输入页面:
输出页面:
[背景知识]
以前使用servlet开发应用系统的人深深感受到在Java代码中嵌入大量Html代码是一件非常痛苦的事,于是sun推出了JSP,解决了java代码中嵌入html代码的问题。但是很快程序员们就知道,用JSP“在html代码中嵌入大量java代码”跟“在java代码中嵌入大量html代码”是一样的非常痛。JSP是这样,ASP也是这样。于是,Craig R. McClanahan借用MVC的思想,把Java web应用程序的java和html分离开放在不同的文件中,分成了三部分,也就是struts;后来,微软也学会了这种分离方法,但微软懒一些,只分成了两部分,也就是Asp.Net。
Struts (org.apache.struts)是一个开放源代码的Web应用框架,基于MVC设计模式,使用servlet和JSP API建立,可以用来构建复杂的Web应用。它答应我们分解一个应用程序的商业逻辑、控制逻辑和表现逻辑的代码,使它的重用性和维护性更好。Struts框架是Jakarta工程的一部分,由Apache软件基金会治理。Struts可以从http://jakarta.apache.org/ struts站点下载。
Struts框架提供以下服务。
作为MVC结构中的controller的servlet.
JSP里用于bean治理、HTML和javascript生成、模板处理和流程控制的JSP标签库。
用于国际化消息的框架。国际化你的Web应用,意味着你的Web应用在使用时可以让用户以喜爱的语言显示。这意味着你需要创建一个应用资源文件,包含每种语言的信息。
一个JDBC的实现来定义数据源和数据库连接池。
一个通用的的错误和异常处理机制,包括从一个应用程序资源文件读取错误信息。
XML语法分析。
文件上载工具。
注册机制。
一个基于Struts的应用程序的表示层(view)使用Struts标签库(taglibs)构建。来自客户的请求被传递给叫ActionServlet的servlet,它作为controller.使用了Struts的应用程序,所有需要通过框架的请求都通过ActionServlet传递。这个ActionServlet把数据从请求传递到ActionForm JavaBean。
ActionForm是代表从一个表单View组件输入数据的JavaBean。这些表单由JSP用Struts html标签库产生。这个beam由 ActionServlet生成,带request参数,它还请求ActionForm来验证用户提交数据的合法性。
ActionServlet通过定义一组ActionMapping来配置。一个ActionMapping是一个对象,它将请求中的URL映射到由应用程序开发者提供的处理请求的组件。ActionServlet和ActionMapping的配置在XML配置文件中完成。
专用的应用程序用于处理请求的组件叫Action类。在MVC结构中,它们代表模型。它们可能用于验证用户输入的合法性,假如在信息处理过程中出现了应用程序错误,Action类可以创建一个error对象的实例,然后保存庆HTTP request对象中。假如在Action类中的逻辑成功地被招待类给Controller传递一个ActionForward对象,代表所需的描绘响应的JSP。ActionForward有两种:专门转发给特定的Action类或全局转发(任何一个Action类可以把这些ActionForwards转给Controller)。
[步骤]
1、打开Visual Struts开发环境:
(1)把文件拷贝到本地硬盘的一个目录下,例如
F:\JavaWebStudio(2) 运行BIN目录下的JavaWebStudio.exe文件(同时自动在桌面建立一个快捷方式,第二次启动时,只需点击桌面的快捷方式即可),出现如下启动界面: