Struts实例5实例Word文档格式.docx
- 文档编号:3764258
- 上传时间:2023-05-02
- 格式:DOCX
- 页数:28
- 大小:509.36KB
Struts实例5实例Word文档格式.docx
《Struts实例5实例Word文档格式.docx》由会员分享,可在线阅读,更多相关《Struts实例5实例Word文档格式.docx(28页珍藏版)》请在冰点文库上搜索。
Struts框架提供以下服务。
作为MVC结构中的controller的servlet.
JSP里用于bean管理、HTML和JavaScript生成、模板处理和流程控制的JSP标签库。
用于国际化消息的框架。
国际化你的Web应用,意味着你的Web应用在使用时可以让用户以喜爱的语言显示。
这意味着你需要创建一个应用资源文件,包含每种语言的信息。
一个JDBC的实现来定义数据源和数据库连接池。
一个通用的的错误和异常处理机制,包括从一个应用程序资源文件读取错误信息。
XML语法分析。
文件上载工具。
注册机制。
一个基于Struts的应用程序的表示层(view)使用Struts标签库(taglibs)构建。
来自客户的请求被传递给叫ActionServlet的servlet,它作为controller.使用了Struts的应用程序,所有需要通过框架的请求都通过ActionServlet传递。
这个ActionServlet把数据从请求传递到ActionFormJavaBean。
ActionForm是代表从一个表单View组件输入数据的JavaBean(自动传递了JSP页面的数据,自动把页面的数据加载到Form里面)。
这些表单由JSP用Strutshtml标签库产生。
这个beam由
ActionServlet生成,带request参数,它还请求ActionForm来验证用户提交数据的合法性。
ActionServlet通过定义一组ActionMapping来配置。
一个ActionMapping是一个对象,它将请求中的URL映射到由应用程序开发者提供的处理请求的组件。
ActionServlet和ActionMapping的配置在XML配置文件中完成。
专用的应用程序用于处理请求的组件叫Action类。
在MVC结构中,它们代表模型。
它们可能用于验证用户输入的合法性,假如在信息处理过程中出现了应用程序错误,Action类可以创建一个error对象的实例,然后保存庆HTTPrequest对象中。
如果在Action类中的逻辑成功地被招待类给Controller传递一个ActionForward对象,代表所需的描绘响应的JSP。
ActionForward有两种:
专门转发给特定的Action类或全局转发(任何一个Action类可以把这些ActionForwards转给Controller)。
实例步骤
[步骤]
1、打开VisualStruts开发环境:
(1)把文件拷贝到本地硬盘的一个目录下,例如
F:
\JavaWebStudio\
(2)运行BIN目录下的JavaWebStudio.exe文件(同时自动在桌面建立一个快捷方式,第二次启动时,只需点击桌面的快捷方式即可),出现如下启动界面:
另外,第一次运行JavaWebStudio,会提示是否要自动配置环境变量,建议选择自动配置。
2、建立一个“空的Struts普通模板”应用程序:
选择菜单“文件”—“新建”—“新建项目”,弹出新建项目对话框,如图3-1所示:
在对话框中选择“空的Struts普通用模板”,在项目名称中输入“Simple”,package(包名)和位置(项目的路径)采用默认的值就行,当然也可以根据需要改变。
最后点击“确定”按钮完成新项目的建立。
从文件管理器中可看出Simple项目的文件结构如下:
Simple
+------config
+------lib
+------src
+------web
-------build.xml
-------hello.prj
在Simple项目根目录下包含四个子目录和两个文件,这是JSPStudio项目的标准结构,最好不要改变它们默认的名称,否则会出现问题。
3、利用Struts文件向导建立新的应用:
在JSPStudio文件管理器内点击鼠标右键,在弹出的菜单中选择“Struts文件向导”进入Struts文件向导对话框,也可以选择菜单“文件”—“新建”—“Struts文件向导”进入Struts文件向导对话框。
如图3-3所示:
在Struts文件向导对话框JSP文件标签下的文件名输入栏中输入“HellWord”文件名,其它文件采用默认的设置,点击“确定”按钮完成在Struts文件向导。
刷新JSPStudio文件管理器,这时发现web目录下自动生成了两个文件,分别是HellWord.jsp和HellWord.jsp,前者是输入JSP文件,后者是输出JSP文件;
src\emptyprj目录下自动生成了两个文件,分别是HellWordAction.java和HellWordForm.java,前者是Action文件,后者FormAction文件。
4、编译、启动服务器:
点击工具条上的编译按钮或选择菜单“生成”—“编译”开始项目的编译。
编译过程和结果在输出栏中显示出来,内容如下:
C:
\DocumentsandSettings\Administrator\桌面>
F:
\>
cdF:
\JavaWebStudio\JavaWebStudioWorkDir\Simple
\JavaWebStudio\JavaWebStudioWorkDir\Simple>
ant-buildfilebuild.xml
Buildfile:
build.xml
prepare:
[mkdir]Createddir:
F:
\JavaWebStudio\jakarta-tomcat-5.0.24\webapps\Simple
[copy]Copying2filestoF:
\JavaWebStudio\jakarta-tomcat-5.0.24\webapps\Simple\WEB-INF
[copy]Copying6filestoF:
\JavaWebStudio\jakarta-tomcat-5.0.24\webapps\Simple\WEB-INF\classes
[copy]Copying5filestoF:
\JavaWebStudio\jakarta-tomcat-5.0.24\webapps\Simple\WEB-INF\lib
[copy]Copying18filestoF:
\JavaWebStudio\JavaWebStudioWorkDir\wars
compile:
[javac]Compiling3sourcefilesto
dist:
[jar]Buildingjar:
\JavaWebStudio\JavaWebStudioWorkDir\wars\Simple.war
BUILDSUCCESSFUL
Totaltime:
5seconds
上述输出表明利用ant编译build.xml所设置的项目已成功。
把编译结果拷贝到tomcat服务器webapps目录下,并生成打包文件Simple.war。
5、启动服务器:
点击工具条上的启动服务器按钮或选择菜单“运行”—“启动服务器”启动服务器jakarta-tomcat服务器。
内容如下:
6、运行:
展开文件管理器Simple项目下web目录,可见到HelloWord.jap和HelloWordOut.jsp文件,通过双击打开HelloWord.jap文件,如图所示。
编辑窗口分上下两部分,上部分是源程序编辑,下部分是可视化编辑,与DreamweaverMX编辑窗口相似。
点击工具条上的运行按钮或选择菜单“运行”—“运行(web浏览)”这时打开显示出HelloWord.jsp的运行结果。
在运行结果页面中的输入框中输入“HelloWord”,点击“提交”按钮,这时转发到HelloWordOut.jsp文件,HelloWordOut.jsp页面中输出“HelloWord”一词。
生成的源代码如下:
<
html>
head>
title>
/title>
METAhttp-equiv=Content-Typecontent="
text/html;
charset=gb2312"
>
/head>
bodybgColor=white>
basehref="
http:
//localhost:
8080/Simple/HelloWord.jsp"
<
formname="
HelloWordForm"
method="
post"
action="
/Simple/HelloWordAction.do;
jsessionid=CFFAC422C4A779419348832D588CA5BE"
inputtype="
text"
name="
mybeanvariable1"
value="
"
submit"
提交"
reset"
重写"
/form>
/body>
/html>
8080/Simple/HelloWordOut.jsp"
bodybgcolor="
white"
HelloWord
[项目文件结构]
config目录下包含了所有的配置文件和Struts标签的描述文件,例如web.xml、struts-config.xml、struts-bean.tld、struts-html.tld、struts-logic.tld和struts-template.tld等文件。
lib包含了Struts库文件和带用其它库文件,例如struts.jar、struts-legacy.jar、commons-lang.jar和xerces.jar等文件。
src目录下包含了java原文件和资源文件,例如ApplicationResources.properties和ApplicationResources_ch.properties资源文件,前者是英语资源文件,后者是中文资源文件。
新建时这个目录里还有一个子目录“emptyprj”,这个名称与建立项目时输入的package名称是一至的。
Emptyprj目录下有“filters”、“jdbc”两个子目录,前者是过滤器目录,是中文解决方案,详细分析请看后面的有关滤器程序设计、中文解决方案章节,后者是数据库连接池文件,详细分析请看后面的Struts数据库应用程序设计章节。
web目录下包含了JSP、Html等web文件和Web文件用到的图片文件。
新建时这个目录是空的。
build.xml文件是编译是所需的配置文件,由于JSPStudio采用的是ANT编译器,所以这个文件是JSPStudio项目中必不可少的,它是ANT标准的配置文件,所有的项目目录结构也符合ANT编译器的要求,可见JSPStudio项目与ANT具有非常好的兼容性,这也是JSPStudio的优点之一。
hello.prj文件是项目文件,XML结构,内容如下:
projectname>
Simple<
/projectname>
projecttype>
struts<
/projecttype>
这是一个建立空的Struts普通模板<
package>
emptyprj<
/package>
typepath>
\JaveWeb项目\空的Struts普通模板<
/typepath>
projectpath>
\JavaWebStudio\JavaWebStudioWorkDir\Simple<
/projectpath>
标签内是项目名称;
标签内是项目的类型,这个标签的内容最好不要改变;
标签内是项目的简单说明,可根据需要填写;
标签内是默认的package名称;
标签内是项目模板的相对路径;
标签内是项目保存的绝对路径。
[关键技术]
Struts使用MVC结构;
图2.1所示的逻辑图描述了框架的高层结构。
我们现在讨论图中的每个元素。
一个基于Struts的应用程序的表示层(view)使用Struts标签库(taglibs)构建。
图2.1
ActionForm是代表从一个表单View组件输入数据的JavaBean。
这个beam由ActionServlet生成,带request参数,它还请求ActionForm来验证用户提交数据的合法性。
ActionServlet通过定义一组ActionMapping来配置。
专用的应用程序用于处理请求的组件叫Action类。
本例主要文件之间的关系:
[关键源代码分析]
4.3.1
输入JSP页面文件
输入JSP页面文件名是hello.jsp,主要实现一个带有文本框的表单,文件代码如下:
%@pagecontentType="
charset=GB2312"
language="
java"
%>
%@tagliburi="
/WEB-INF/struts-bean.tld"
prefix="
bean"
/WEB-INF/struts-html.tld"
html"
/WEB-INF/struts-logic.tld"
logic"
/WEB-INF/struts-template.tld"
template"
html:
base/>
form
/helloAction.do"
textproperty="
/>
submitvalue="
resetvalue="
/html:
form>
首先是把本页定义为支持中文显示,中文编码采用GB2312格式,程序语言为Java:
接着定义支持四种Struts标签bean、html、logic和template,在该文件中没用到的标签可以去掉相应的定义,如果在文件中还需要用到自定义标签,也需要在这里加入相应的定义:
就不用说了。
标签对应HTML的<
BASE>
标签,用来设定测览器中文件的绝对路径,然后在文件中只需写下文件的相对位置,在测览器中测览的时候这些位置会自动附在绝对路径后面,成为完整的路径。
在文档中所有相对地址形式的URL是相对于这里定义的UTRL而言的。
一篇文档中的<
标记不能多于一个,必须放于<
标签内,并且应该在任何包含URL地址的语句之前定义。
这里用了黑体字,表示是要重点讲解的地方。
标签定义了一个表单,提交时的目标URL是“/helloAction.do”,方法是“post”,Post方法是将用户在表单中填写的数据包含在表单的主体中,一起传送到服务器上的处理程序中,该万法没有字符的限制,它包含了ISO10646的字符集,是一种邮寄的万式,在测览器的地址栏不显示提交的信息,这种万式传送的数据是没有限制。
当然也可以选择Get方法,Get方法是将表单内容附加在URL地址后面,所以对提交信息的长度进行了限制,最多不可以超过8192个字符,如果信息大长,将被截去,从而导致意想不到的结果,而且不能传送非ASCII码的字符。
表单内包含一个文本输入框<
text>
,它的值与Bean中属性为"
的变量相对应,如果结mybeanvariable1付了初值,则在启动这个页面时文本框中就显示默认的mybeanvariable1初值。
另外表单内还包含了两个最常见的提交按钮<
和重写按钮<
。
4.3.2
输出JSP页面文件
输出JSP页面文件名是helloOut.jsp,主要实现输入文件提交的文本框的值,文件代码如下:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Struts 实例