- 浏览: 38967 次
- 性别:
- 来自: 重庆
文章分类
最新评论
Struts作为MVC 2的Web框架,自推出以来不断受到开发者的追捧,得到用广泛的应用。作为最成功的Web框架,Struts自然拥有众多的优点:
- MVC 2模型的使用
- 功能齐全的标志库(Tag Library)
- 开放源代码
但是,所谓“金无赤金,人无完人”,Struts自身也有不少的缺点:
- 需要编写的代码过多,容易引起“类爆炸”
- 单元测试困难
这些缺点随着Web的发展越来越明显。这就促生了Struts 2.0,它的诞生能很好的解决上述问题。 好啦,废话就不多说了,现在就让我们感受一下的Struts 2.0的魅力吧。
- 搭建开发和运行环境
- 到Apache下载Struts 2.0包
- 打开Eclipse 3.2新建Web工程
点击菜单File\New\Project,出现如图1所示对话框
图1 新建工程对话框
选择Web\Dynamic Web Project,点击“Next”,出现图2对话框
图2 新建动态Web工程对话框
在“Project Name”中键入Struts2_HelloWorld,点击“New”,出现以下对话框
图3 新建服务器运行时对话框
选择“Apache\Apache Tomat v5.5”,点击“Next”,出现以下对话框
图4新建服务器运行时对话框
点击“Finish”,关闭对话框。 - 将Struts 2.0 lib下的jar文件加到工程的构建路径(build path)
图5 Struts 2.0的lib目录
按 ctr+a全选,复制,再转到Eclipse窗口,在“Project Explorer”子窗口中选中Struts2_HelloWorld\WebContent\WEB-INF\lib,然后粘贴。经过Eclipse自 动刷新“Project Explorer”子窗口,刚才所粘贴的jar文件应该会出现在Struts2_HelloWorld\Java Resources: src\Libraries\Web App Libraries下,如图6所示:
图6 Project Explorer子窗口 - 打开web.xml文件,将其修改为以下代码:
<? xml version="1.0" encoding="ISO-8859-1" ?>
<! DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" >
< web-app >
< display-name > Struts 2.0 Hello World </ display-name >
< filter >
< filter-name > struts2 </ filter-name > < filter-class > org.apache.struts2.dispatcher.FilterDispatcher </ filter-class >
</ filter >
< filter-mapping >
< filter-name > struts2 </ filter-name >
< url-pattern > /* </ url-pattern >
</ filter-mapping >
< welcome-file-list >
< welcome-file > index.html </ welcome-file >
</ welcome-file-list >
</ web-app > - 新建struts.xml文件
右键点击,Struts2_HelloWorld\Java Resources: src,出现如图7所示菜单
图7 新建Other菜单
点击“Other”,出现新建对话框,如图8所示
图8 新建对话框
点击“Next”,出现新建文件对话框,如图9所示
图9 新建文件对话框
在“File name”中键入sturts.xml,点击“Finish”,然后将struts.xml的内容修改为:<! DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd" >
< struts >
< include file ="struts-default.xml" />
</ struts > - 新建index.html文件
右键点击Struts2_HelloWorld\WebContent,出现如图10所示的菜单
图10 新建Other菜单
点击“Other”,出现新建对话框,如图11所示
图11 新建对话框
选择Web\HTML,点击“Next”出现如图12所示的对话框
图12 新建HTML页面对话框
在“File Name”中键入index.html,点击“Next”,出现如图13所示的对话框
图13 模板选择对话框
点击“Finish”,将index.html的内容修改为以下内容:<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" >
< html >
< head >
< meta http-equiv ="Content-Type" content ="text/html; charset=UTF-8" >
< title > Hello World </ title >
</ head >
< body >
< h3 > Hello World! </ h3 >
</ body >
</ html > - 将应用程序打包到tomcat上
右键点击Struts_HelloWorld,出现如图14所示的菜单
图14 工程菜单
点击“Export\WAR file”,出现如图15所示的对话框
图15 输出对话框
选择“Web\WAR file”,点击“Next”,出现如图16所示的对话框
图16 输出路径对话框
输入war文件的路径(如%tomcat%\webapps\Struts2_HelloWorld.war),点击“Finish”关闭对话框。 - 启动tomcat,运行应用程序
打开你的Internet Explorer,键入http://localhost:8080/Struts2_HelloWorld/,窗口输出如图17所示
图17 Hello World窗口
- 第一个Struts 2.0应用程序——Hello World
- 新建类包(package)
右键点击Struts2_HelloWorld\Java Resources: src,出现如图18所示菜单
图18 新建菜单"
点击“New\Package”,出现如图19所示对话框
图19新建Java类包对话框
在“Name”键入tutorial,点击“Finish”关闭对话框。 - 新建HelloWorld.java文件
右键点击Struts2_HelloWorld\Java Resources: src\tutorial,出现如图20所示菜单
图20 新建菜单
点击“New\Class”,出现如图21所示对话框
图21 新建Java类对话框
在“Name”中键入HelloWorld,在“Superclass”中键入com.opensymphony.xwork2.ActionSupport,点击“Finish”关闭对话框。将HelloWorld.java的内容修改为:package tutorial;
import com.opensymphony.xwork2.ActionSupport;
public class HelloWorld extends ActionSupport {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this .name = name;
}
public String execute() {
name = " Hello, " + name + " ! " ;
return SUCCESS;
}
} - 在struts.xml中添加action映射(mapping)<! DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd" >
< struts >
< include file ="struts-default.xml" />
< package name ="tutorial" extends ="struts-default" >
< action name ="HelloWorld" class ="tutorial.HelloWorld" >
< result > HelloWorld.jsp </ result >
</ action >
</ package >
</ struts > - 新建SayHello.jsp
参考“新建index.html文件”步骤,弹出如图22所示对话框
图22 新建对话框
点击“Next”, 进入下一步,如图23所示
图23 新建JSP对话框
在“File name”键入SayHello.jsp,点击“Next”进入下一步,如图24所示
图24 模板选择对话框
点击“Finish”关闭对话框,并将SayHello.jsp的内容修改为:<% @ page contentType = " text/html; charset=UTF-8 " %>
<% @ taglib prefix = " s " uri = " /struts-tags " %>
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" >
< html >
< head >
< title > Say Hello </ title >
</ head >
< body >
< h3 > Say "Hello" to: </ h3 >
< s:form action ="HelloWorld" >
Name: < s:textfield name ="name" />
< s:submit />
</ s:form >
</ body >
</ html > - 新建HelloWorld.jsp(请参考上一步),HelloWorld.jsp的内容为:<% @ page contentType = " text/html; charset=UTF-8 " %>
<% @ taglib prefix = " s " uri = " /struts-tags " %>
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" >
< html >
< head >
< title > Hello </ title >
</ head >
< body >
< h3 >< s:property value ="name" /></ h3 >
</ body >
</ html > - 重新打包发布应用程序
先停止tomcat, 再将tomcat里webapps下的Struts2_HelloWorld.war和Struts2_HelloWorld文件夹删除,参照“将应用程序打包到tomcat上”重新发布应用程序。
- 启动tomcat,运行测试
打开Internet Explorer,键入http://localhost:8080/Struts2_HelloWorld/SayHello.jsp,窗口输出如图25所示
图25 SayHello.jsp
在“Name”键入字符串(如World),点击Submit,转到HelloWorld.jsp页面,如图26所示
图26 HelloWorld.jsp
- 新建类包(package)
- 单元测试Hello World
在文章开始的时候提及,单元测试困难是Struts一大缺点。现在让我们在体验一下,在Struts 2.0中是如何进行测试的。
- 新建JUnit单元测试
右键点击Struts2_HelloWorld\Java Resources: src\tutorial,弹出如图27所示对话框
图27 新建菜单
点击“Next\Other”
图28 新建对话框
选择“Java\JUnit\JUnit Test Case”,点击“Next”
图29 新建JUnit 测试用例对话框
选择“New JUnit 4 test”,在“Name”中键入HelloWorldTest,在“Class under test”键入tutorial.HelloWorld,点击“Next”
图30 选择方法对话框
选中HelloWorld\execute方法,点击Finish。如果生成的HelloWorldTest.java文件的图标(Icon)出现红色交叉标志,请进行以下步骤添加JUnit 4的jar包。右键点击Struts2_HelloWorld,出现如图所示菜单。
图31 新建菜单
点击“Build Path\Add Libararis”,弹出图32对话框
图32 添加库对话框
选中“JUnit”,点击“Next”
图33 选择版本对话框
选择“JUnit 4”,点击“Finish”关闭对话框,并将HelloWorldTest.java的内容修改为:package tutorial;
import static org.junit.Assert.assertTrue;
import org.junit.Test;
import com.opensymphony.xwork2.ActionSupport;
public class HelloWorldTest {
@Test
public void testExecute() {
HelloWorld hello = new HelloWorld();
hello.setName( " World " );
String result = hello.execute();
assertTrue( " Expected a success result! " , ActionSupport.SUCCESS.equals(result));
final String msg = " Hello, World! " ;
assertTrue( " Expected the default message! " , msg.equals(hello.getName()));
}
} - 运行单元测试
右键点击Struts2_HelloWorld\Java Resources: src\tutorial\HelloWorldTest.java,弹出如图34所示菜单
图34 运行为菜单
点击“Run As\JUnit Test”,出现JUnit子窗口如图35所示
图35 JUnit子窗口
图35的绿色矩形表示,所有单元测试通过。
- 新建JUnit单元测试
---------------------------------------------------------------------------------
学习工作累了,休闲娱乐一下 ~~~
天迹网游世界: http://tjwl.jimdo.com/
我们的淘客网开通啦,欢迎大家去逛逛
~\(
≧▽≦
)/~
啦啦啦
~~~
淘宝购物资讯网:
http://taoke178.jimdo.com
淘乐园:
http://taoleyuan.jimdo.com
发表评论
-
struts上传文件 教程
2010-02-04 13:22 728LoadImgForm.java代码: J ... -
JSF进行Web开发的三大优势
2010-01-30 11:37 749JSF优势之一:UI组件(UI-c ... -
将Flex集成到Java EE应用程序的最佳实践
2010-01-23 20:27 791作者:廖雪峰 传统的 Java EE 应用程序通 ... -
初学者如何开发出高质量J2EE系统
2010-01-21 17:45 725J2EE学习者越来越多,J2EE本身技术不断在发展,涌现出各种 ... -
构建高性能J2EE应用的十个技巧
2010-01-21 17:43 577构建高性能的J2EE应用不但需要了解常用的实施技巧。下面介 ... -
J2EE学习中一些值得研究的开源项目
2010-01-21 17:39 771一、JavaServlet和JSP方向 很多人都是从Serv ... -
Spring 3.0 正式版发布
2010-01-21 10:30 1082经过四个里程碑版、三个RC版,Spring框架终于发布了3.0 ... -
Struts DynaActionForm配置
2010-01-20 17:20 854为什么要有动态ActionForm ... -
学Struts2从HelloWorld示例开始
2010-01-20 17:14 806介绍 当提交一个Html的Form给Strut ... -
Struts,MVC 的一种开放源码实现
2010-01-20 17:12 786简介 小学生也可以在因特网上发布 HTML 网 ... -
高性能、高弹性JSP和Servlet性能优化
2010-01-20 17:07 799你的J2EE 应用是不是运行的很慢?它们能不能承受住不断上升 ... -
Struts2的工作流程图
2010-01-19 12:41 1193Struts2的工作流程图(学习笔记) 当接 ... -
Struts2和Struts1的区别
2010-01-19 12:38 712Struts2和Struts1的不同 Action 类: ... -
WSDL编写的五个步骤
2010-01-18 17:49 693WSDL编写的五个步骤 1)声明名称空间 必须在 < ... -
JAVA EE 中间件
2010-01-18 17:43 996Weblogic ...
相关推荐
01 为Struts 2.0做好准备 02 常用的Struts 2.0的标志(Tag) 03 Struts 2.0的Action讲解 04 在Struts 2.0中国际化(i18n)您的应用程序 05 转换器(Converter)——Struts 2.0中的魔术师 06 在Struts 2.0中实现表单...
struts2.0struts2.0struts2.0struts2.0struts2.0struts2.0struts2.0struts2.0struts2.0struts2.0
为Struts 2.0做好准备 Struts作为MVC 2的Web框架,自推出以来不断受到开发者的追捧,得到用广泛的应用。作为最成功的Web框架,Struts自然拥有众多的优点: MVC 2模型的使用 功能齐全的标志库(Tag Library) 开放...
为Struts 2.0做好准备 Struts作为MVC 2的Web框架,自推出以来不断受到开发者的追捧,得到用广泛的应用。作为最成功的Web框架,Struts自然拥有众多的优点: MVC 2模型的使用 功能齐全的标志库(Tag Library) ...
Struts2.0视频教程,struts2.0中文教程,Struts2.0视频教程,struts2.0中文教程,
sstruts2.0 struts2.0sstruts2.0 struts2.0sstruts2.0 struts2.0sstruts2.0 struts2.0sstruts2.0 struts2.0sstruts2.0 struts2.0sstruts2.0 struts2.0sstruts2.0 struts2.0sstruts2.0 struts2.0
Struts 2.0系列(MAX),pdf格式,全方位介绍struts2: 常用的Struts 2.0的标志(Tag)介绍 Struts 2.0的Action讲解 在Struts 2.0中国际化(i18n)您的应用程序 转换器(Converter)——Struts 2.0中的魔术师 在Struts ...
struts2.0的数据校验框架struts2.0的数据校验框架struts2.0的数据校验框架struts2.0的数据校验框架
struts2.0jar包 struts2.0包 struts2.0源文件
JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0...
此为Struts2.0最新Jar包,方便各位用于Struts2.0的开发.
struts 2.0 详细配置 struts 2.0 详细配置 struts 2.0 详细配置
清晰的介绍了Struts 2.0框架的工作流程,Action线程安全,程序入口,配置文件。
Struts2.0学习系列 以及 Struts2.0安装包 WORD文档里包含图片和文字,讲解非常详细, 一步一步的教你.
Struts2.0 入门学习 资料 Struts2.0 入门学习 资料
struts2.0工程源码(完整的struts2.0学习工程源码) 这是一个完整的工程源码,包括所用到的jar包和发布配置文件。 导入到eclipse里几个运行,struts2.0入门学习工程,适合struts2.0广大爱好者和初学者学习和交流。
struts2.0 入门案例、简单的struts2.0入门案例 2.0配置包,基础
struts2.0源代码(有关于struts2.0实现上传与下载和如何操作数据库的源代码),非常有用
这是Struts2.0的API文档希望大家一起学习,一起进步。