SSH(Spring+Struts+Hibernate)学习笔记(三)Struts 2 Hello World

来源:互联网 发布:诸暨市行知小学座机 编辑:程序博客网 时间:2024/05/21 07:54

本文以Hello World为例介绍Struts 2的简单应用

开发工具:Eclipse EE Juno 4.2

运行环境:Java 1.7+Tomcat 7+Struts 2.3.4

1. 下载Struts 2

Struts 2完整版下载地址:http://labs.mop.com/apache-mirror//struts/binaries/struts-2.3.4-all.zip. 完整版包括示例,库文件,文档和源码,方便学习。下载后解压到任意位置。

PS:struts-2.3.4-all.zip的文档不包括api等,因此最好下载单独的文档,下载地址:http://labs.mop.com/apache-mirror//struts/documentation/struts-2.3.4-docs.zip

2. 创建Dynamic Web Project

在Eclipse中创建Dynamic Web Project,如StrutsHelloWorld,Target runtime选择Tomcat 7.0(或在新建项目完成后设置),剩下步骤采用默认设置。

PS:如果创建项目时找不到Dynamic Web Project,可能是由于未使用Eclipse EE版,可以下载Eclipse EE或者在EclipseSE中增加Web开发工具包;如果Targetruntime中没有Tomcat,请参照Eclipse中Tomcat的配置。

3. 添加配置文件

在简单的Hello World中,需要添加两个与Struts相关的配置文件,web.xml和struts.xml。可以从Struts的示例程序中复制到HelloWorld项目中。找到下载的struts中的apps文件夹下的struts2-blank.war文件,使用解压缩软件解压,web.xml文件位于WEB-INF中,复制到HelloWorld项目WebContent的WEB-INF目录下,struts.xml文件在WEB-INF\src\java中,复制到HelloWorld项目src目录下

PS:struts.xml文件可以放在任意Deploy path为WEB-INF/classes的根目录中,如src。具体可以通过项目属性中的Deployment Assembly查看路径为WEB-INF/classes的目录有哪些。

4. 添加相关库文件

将struts2-blank下WEB-INF\lib中文件全部复制到HelloWorld项目中相同目录下,HelloWorld中需要使用的Struts相关库文件添加完成。

5. 编写HelloWorld

  • 添加hello.html页面,在body中添加如下代码:
<h1>Hello world!</h1><p>This is my first struts2 web app!</p>
  • 添加index.html页面,在body中添加以下代码:
<form action="helloworld"><input type="submit" value="welcome" /></form>
  • 在struts.xml文件的package节点中增加如下内容:
<action name="helloworld"><result>hello.html</result></action>
  • 运行HelloWorld项目,点击页面中的按钮后,浏览器显示hello.html中的内容

6. 原理解释

点击welcome按钮,表单提交请求给服务器,服务器调用名为helloworld的action,同时根据web.xml过滤器的设置,调用Struts 2过滤器,Struts 2再根据struts.xml的配置,找到action helloworld对应的处理,根据调用的返回结果,将result中的内容返回给浏览器

7. Struts相关技巧

  • 更改struts配置免重启服务器。添加或修改devMode的值如下所示:

<constant name="struts.devMode" value="true"/>

  • Eclipse中跟踪显示Struts源代码和帮助文档。

在Web App Libraries下找到需要显示源码的jar右键选择属性->JavaSource Attachment,选择External location,再选择struts 源代码路径(src)即可跟踪显示源代码,在属性中选择JavaDoc Location,将Javadoc location path设置为struts帮助文档所在路径(docs/struts2-core/apidocs)即可在Eclipse中显示帮助文档。


原创粉丝点击