📄 为struts 2_0做好准备 - max on java - blogjava.htm
字号:
style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</SPAN><SPAN
style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">/struts-tags</SPAN><SPAN
style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</SPAN><SPAN
style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> </SPAN></SPAN><SPAN
style="COLOR: #000000; BACKGROUND-COLOR: #ffff00">%></SPAN><SPAN
style="COLOR: #000000"><BR><IMG
src="为Struts 2_0做好准备 - Max On Java - BlogJava.files/None.gif"
align=top></SPAN><SPAN style="COLOR: #0000ff"><!</SPAN><SPAN
style="COLOR: #ff00ff">DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"</SPAN><SPAN
style="COLOR: #0000ff">></SPAN><SPAN style="COLOR: #000000"><BR><IMG
src="为Struts 2_0做好准备 - Max On Java - BlogJava.files/None.gif"
align=top></SPAN><SPAN style="COLOR: #0000ff"><</SPAN><SPAN
style="COLOR: #800000">html</SPAN><SPAN
style="COLOR: #0000ff">></SPAN><SPAN style="COLOR: #000000"><BR><IMG
src="为Struts 2_0做好准备 - Max On Java - BlogJava.files/None.gif"
align=top> </SPAN><SPAN
style="COLOR: #0000ff"><</SPAN><SPAN
style="COLOR: #800000">head</SPAN><SPAN
style="COLOR: #0000ff">></SPAN><SPAN style="COLOR: #000000"><BR><IMG
src="为Struts 2_0做好准备 - Max On Java - BlogJava.files/None.gif"
align=top> </SPAN><SPAN
style="COLOR: #0000ff"><</SPAN><SPAN
style="COLOR: #800000">title</SPAN><SPAN
style="COLOR: #0000ff">></SPAN><SPAN
style="COLOR: #000000">Hello</SPAN><SPAN
style="COLOR: #0000ff"></</SPAN><SPAN
style="COLOR: #800000">title</SPAN><SPAN
style="COLOR: #0000ff">></SPAN><SPAN style="COLOR: #000000"><BR><IMG
src="为Struts 2_0做好准备 - Max On Java - BlogJava.files/None.gif"
align=top> </SPAN><SPAN
style="COLOR: #0000ff"></</SPAN><SPAN
style="COLOR: #800000">head</SPAN><SPAN
style="COLOR: #0000ff">></SPAN><SPAN style="COLOR: #000000"><BR><IMG
src="为Struts 2_0做好准备 - Max On Java - BlogJava.files/None.gif"
align=top> </SPAN><SPAN
style="COLOR: #0000ff"><</SPAN><SPAN
style="COLOR: #800000">body</SPAN><SPAN
style="COLOR: #0000ff">></SPAN><SPAN style="COLOR: #000000"><BR><IMG
src="为Struts 2_0做好准备 - Max On Java - BlogJava.files/None.gif"
align=top> </SPAN><SPAN
style="COLOR: #0000ff"><</SPAN><SPAN
style="COLOR: #800000">h3</SPAN><SPAN
style="COLOR: #0000ff">><</SPAN><SPAN
style="COLOR: #800000">s:property </SPAN><SPAN
style="COLOR: #ff0000">value</SPAN><SPAN
style="COLOR: #0000ff">="name"</SPAN><SPAN
style="COLOR: #ff0000"> </SPAN><SPAN
style="COLOR: #0000ff">/></</SPAN><SPAN
style="COLOR: #800000">h3</SPAN><SPAN
style="COLOR: #0000ff">></SPAN><SPAN style="COLOR: #000000"><BR><IMG
src="为Struts 2_0做好准备 - Max On Java - BlogJava.files/None.gif"
align=top> </SPAN><SPAN
style="COLOR: #0000ff"></</SPAN><SPAN
style="COLOR: #800000">body</SPAN><SPAN
style="COLOR: #0000ff">></SPAN><SPAN style="COLOR: #000000"><BR><IMG
src="为Struts 2_0做好准备 - Max On Java - BlogJava.files/None.gif"
align=top></SPAN><SPAN style="COLOR: #0000ff"></</SPAN><SPAN
style="COLOR: #800000">html</SPAN><SPAN
style="COLOR: #0000ff">></SPAN></DIV>
<P></P>
<LI>重新打包发布应用程序
<P>先停止tomcat,
再将tomcat里webapps下的Struts2_HelloWorld.war和Struts2_HelloWorld文件夹删除,参照“将应用程序打包到tomcat上”重新发布应用程序。
</P>
<LI>启动tomcat,运行测试
<P>打开Internet
Explorer,键入http://localhost:8080/Struts2_HelloWorld/SayHello.jsp,窗口输出如图25所示<BR><IMG
id=IMG26 alt="图25 SayHello.jsp"
src="为Struts 2_0做好准备 - Max On Java - BlogJava.files/o_image051.png"><BR>图25
SayHello.jsp<BR>在“Name”键入字符串(如World),点击Submit,转到HelloWorld.jsp页面,如图26所示 </P>
<P><IMG id=IMG27 alt="图26 HelloWorld.jsp"
src="为Struts 2_0做好准备 - Max On Java - BlogJava.files/o_image053.png"><BR>图26
HelloWorld.jsp<BR></P></LI></OL>
<LI>单元测试Hello World
<P>在文章开始的时候提及,单元测试困难是Struts一大缺点。现在让我们在体验一下,在Struts 2.0中是如何进行测试的。</P>
<OL>
<LI>新建JUnit单元测试
<P>右键点击Struts2_HelloWorld\Java Resources: src\tutorial,弹出如图27所示对话框<BR><IMG
id=IMG28 alt="图27 新建菜单"
src="为Struts 2_0做好准备 - Max On Java - BlogJava.files/o_image055.png"><BR>图27
新建菜单<BR>点击“Next\Other” </P>
<P><IMG id=IMG29 alt="图28 新建对话框"
src="为Struts 2_0做好准备 - Max On Java - BlogJava.files/o_image057.png"><BR>图28
新建对话框<BR>选择“Java\JUnit\JUnit Test Case”,点击“Next” </P>
<P><IMG id=IMG30 alt="图29 新建JUnit 测试用例对话框"
src="为Struts 2_0做好准备 - Max On Java - BlogJava.files/o_image059.png"><BR>图29
新建JUnit 测试用例对话框<BR>选择“New JUnit 4 test”,在“Name”中键入HelloWorldTest,在“Class
under test”键入tutorial.HelloWorld,点击“Next” </P>
<P><IMG id=IMG31 alt="图30 选择方法对话框"
src="为Struts 2_0做好准备 - Max On Java - BlogJava.files/o_image061.png"><BR>图30
选择方法对话框<BR>选中HelloWorld\execute方法,点击Finish。如果生成的HelloWorldTest.java文件的图标(Icon)出现红色交叉标志,请进行以下步骤添加JUnit
4的jar包。 </P>
<P>右键点击Struts2_HelloWorld,出现如图所示菜单。 <IMG id=IMG32 alt="图31 新建菜单"
src="为Struts 2_0做好准备 - Max On Java - BlogJava.files/o_image063.png"><BR>图31
新建菜单<BR>点击“Build Path\Add Libararis”,弹出图32对话框 </P>
<P><IMG id=IMG33 alt="图32 添加库对话框"
src="为Struts 2_0做好准备 - Max On Java - BlogJava.files/o_image065.png"><BR>图32
添加库对话框<BR>选中“JUnit”,点击“Next” </P>
<P><IMG id=IMG34 alt="图33 选择版本对话框"
src="为Struts 2_0做好准备 - Max On Java - BlogJava.files/o_image067.png"><BR>图33
选择版本对话框<BR>选择“JUnit 4”,点击“Finish”关闭对话框,并将HelloWorldTest.java的内容修改为:<BR></P>
<DIV
style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG
src="为Struts 2_0做好准备 - Max On Java - BlogJava.files/None.gif"
align=top><SPAN style="COLOR: #0000ff">package</SPAN><SPAN
style="COLOR: #000000"> tutorial;<BR><IMG
src="为Struts 2_0做好准备 - Max On Java - BlogJava.files/None.gif"
align=top><BR><IMG
src="为Struts 2_0做好准备 - Max On Java - BlogJava.files/None.gif"
align=top></SPAN><SPAN style="COLOR: #0000ff">import</SPAN><SPAN
style="COLOR: #000000"> </SPAN><SPAN
style="COLOR: #0000ff">static</SPAN><SPAN
style="COLOR: #000000"> org.junit.Assert.assertTrue;<BR><IMG
src="为Struts 2_0做好准备 - Max On Java - BlogJava.files/None.gif"
align=top><BR><IMG
src="为Struts 2_0做好准备 - Max On Java - BlogJava.files/None.gif"
align=top></SPAN><SPAN style="COLOR: #0000ff">import</SPAN><SPAN
style="COLOR: #000000"> org.junit.Test;<BR><IMG
src="为Struts 2_0做好准备 - Max On Java - BlogJava.files/None.gif"
align=top><BR><IMG
src="为Struts 2_0做好准备 - Max On Java - BlogJava.files/None.gif"
align=top></SPAN><SPAN style="COLOR: #0000ff">import</SPAN><SPAN
style="COLOR: #000000"> com.opensymphony.xwork2.ActionSupport;<BR><IMG
src="为Struts 2_0做好准备 - Max On Java - BlogJava.files/None.gif"
align=top><BR><IMG id=Codehighlighter1_162_507_Open_Image
onclick="this.style.display='none'; Codehighlighter1_162_507_Open_Text.style.display='none'; Codehighlighter1_162_507_Closed_Image.style.display='inline'; Codehighlighter1_162_507_Closed_Text.style.display='inline';"
src="为Struts 2_0做好准备 - Max On Java - BlogJava.files/ExpandedBlockStart.gif"
align=top><IMG id=Codehighlighter1_162_507_Closed_Image
style="DISPLAY: none"
onclick="this.style.display='none'; Codehighlighter1_162_507_Closed_Text.style.display='none'; Codehighlighter1_162_507_Open_Image.style.display='inline'; Codehighlighter1_162_507_Open_Text.style.display='inline';"
src="为Struts 2_0做好准备 - Max On Java - BlogJava.files/ContractedBlock.gif"
align=top></SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN
style="COLOR: #000000"> </SPAN><SPAN
style="COLOR: #0000ff">class</SPAN><SPAN
style="COLOR: #000000"> HelloWorldTest </SPAN><SPAN
id=Codehighlighter1_162_507_Closed_Text
style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG
src="为Struts 2_0做好准备 - Max On Java - BlogJava.files/dot.gif"></SPAN><SPAN
id=Codehighlighter1_162_507_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG
src="为Struts 2_0做好准备 - Max On Java - BlogJava.files/InBlock.gif"
align=top><BR><IMG
src="为Struts 2_0做好准备 - Max On Java - BlogJava.files/InBlock.gif"
align=top> @Test<BR><IMG
id=Codehighlighter1_199_504_Open_Image
onclick="this.style.display='none'; Codehighlighter1_199_504_Open_Text.style.display='none'; Codehighlighter1_199_504_Closed_Image.style.display='inline'; Codehighlighter1_199_504_Closed_Text.style.display='inline';"
src="为Struts 2_0做好准备 - Max On Java - BlogJava.files/ExpandedSubBlockStart.gif"
align=top><IMG id=Codehighlighter1_199_504_Closed_Image
style="DISPLAY: none"
onclick="this.style.display='none'; Codehighlighter1_199_504_Closed_Text.style.display='none'; Codehighlighter1_199_504_Open_Image.style.display='inline'; Codehighlighter1_199_504_Open_Text.style.display='inline';"
src="为Struts 2_0做好准备 - Max On Java - BlogJava.files/ContractedSubBlock.gif"
align=top> </SPAN><SPAN
style="COLOR: #0000ff">public</SPAN><SPAN
style="COLOR: #000000"> </SPAN><SPAN
style="COLOR: #0000ff">void</SPAN><SPAN
style="COLOR: #000000"> testExecute() </SPAN><SPAN
id=Codehighlighter1_199_504_Closed_Text
style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG
src="为Struts 2_0做好准备 - Max On Java - BlogJava.files/dot.gif"></SPAN><SPAN
id=Codehighlighter1_199_504_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG
src="为Struts 2_0做好准备 - Max On Java - BlogJava.files/InBlock.gif"
align=top> HelloWorld hello </SPAN><SPAN
style="COLOR: #000000">=</SPAN><SPAN
style="COLOR: #000000"> </SPAN><SPAN
style="COLOR: #0000ff">new</SPAN><SPAN
style="COLOR: #000000"> HelloWorld();<BR><IMG
src="为Struts 2_0做好准备 - Max On Java - BlogJava.files/InBlock.gif"
align=top> hello.setName(</SPAN><SPAN
style="COLOR: #000000">"</SPAN><SPAN
style="COLOR: #000000">World</SPAN><SPAN
style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR><IMG
src="为Struts 2_0做好准备 - Max On Java - BlogJava.files/InBlock.gif"
align=top> String result </SPAN><SPAN
style="COLOR: #000000">=</SPAN><SPAN
style="COLOR: #000000"> hello.execute();<BR><IMG
src="为Struts 2_0做好准备 - Max On Java - BlogJava.files/InBlock.gif"
align=top> <BR><IMG
src="为Struts 2_0做好准备 - Max On Java - BlogJava.files/InBlock.gif"
align=top> assertTrue(</SPAN><SPAN
style="COLOR: #000000">"</SPAN><SPAN
style="COLOR: #000000">Expected a success result!</SPAN><SPAN
style="COLOR: #000000">"</SPAN><SPAN
style="COLOR: #000000">, ActionSupport.SUCCESS.equals(result));<BR><IMG
src="为Struts 2_0做好准备 - Max On Java - BlogJava.files/InBlock.gif"
align=top>  
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -