学习的今天,在第一天struts2,从来没有学过怎么办,那当然是helloworld。前一段时间去学习android。由于工作的一个项目,我们需要使用server,所有开始学习struts2,好感觉,学习的基本过程几乎是相同的。那是,helloworld,开发环境,然后就是逐个依照知识点打demo,打着打着你就会发现struts2已经掌握地差点儿相同了,让后就能够action了。程序猿就须要不停地学习。学习能力当然是最重要地噢。


废话讲完,进入正题:

第一步:部署开发环境:

struts-2.3.1.1-all:struts2的各种jar文件和例子。

官网http://struts.apache.org/release/2.1.x/

Tomcat server。

(參考本人之前博文)

eclipse-jee-indigo-SR1-win32:Eclipse。注意是Java EE 版本号(由于涉及到Web开发)

也能够是myeclipse(须要破解)


以下以 Eclipse为例。

打开 Eclipse ,先配置 tomcat 吧:

Windows -> preferences -> Server 下拉箭头 -> Runtime Environments -> Add ->

选择tomcat 7.x -> next -> Browse 选择 tomcat 7 文件夹 -> finish


第二步:新建一个web项目并倒入必须地包

新建 Dynamic Web Project (MyEclipse 里面新建 Web项目也行):

打上项目名,假设刚才配置默认server成功。在 Target runtime 中应该有 tomcat 。能够直接点 Finish。


项目结构例如以下:

struts2 helloworld_tomcat


以下给出 strurts2 的基本配置(struts.xml web.xml 各种jar):

解压struts-2.3.1.1-all.zip -> apps -> 解压 struts2-blank.war(据说是配置 struts2 须要的最少 jar 文件 ) -> WEB-INF 

-> 复制 web.xml -> 粘贴到 项目里的 WEB-INF目录里(web.xml 内容正好不用改)


回到 struts2-blank.war -> lib -> 所有复制里面的 jar 文件 -> 项目 WEB-INF -> lib 目录里粘贴


回到 struts2-blank.war -> src -> java -> 复制 struts.xml -> 项目 Java Resources -> src 目录里粘贴(这个

struts.xml 里面已有内容,待会删掉)


第三步:写helloworld

在 WebContent下(不用放到 WEB-INF里面)新建 Helloworld.jsp 


在Helloworld.jsp的 <body> </body>中写上Helloworld。保存。

打开 struts.xml,把 <struts> </struts>中间的都删了,又一次打上:

<package name="Everhythm" extends="struts-default">
<action name="FB">
<result> /Helloworld.jsp </result>
</action>
</package>


第四步:部署到tomcat

调出 Server 界面:

struts2 helloworld_eclipse_02

在Servers界面里右键 -> New -> Server

struts2 helloworld_xml_03

struts2 helloworld_tomcat_04

选择 tomcat 7.x -> next -> 把 struts2 (项目名) add 到右边 -> Finish

struts2 helloworld_struts_05

也能够在外边添加:

struts2 helloworld_eclipse_06


右键 -> Start 

会出现一堆信息,假设没有严重错误,则server启动完成。

以下訪问struts2进行验证:

打开自己打开浏览器,输入http://localhost:8080/struts2/FB.action。回车,则跳转到 Helloworld.jsp



以下在 action 内加入 class 来訪问 Helloworld.jsp 并显示,打开 struts.xml 改动代码为:

<struts>
<package name="Everhythm" extends="struts-default">
<action name="FB" class="tohello">
<result> /Helloworld.jsp </result>
</action>
</package>
</struts>


在 Java Resources -> src 新建 class 命名为 tohello,加入代码为:

import com.opensymphony.xwork2.Action;
public class tohello
{
private String message;
public String getMessage()
{
return message;
}
public void setMessage(String message)
{
this.message = message;
}
public String execute()
{
message="跳转成功";
return Action.SUCCESS;
}
}


再打开 Helloworld.jsp ,将第一行的字符编码改动为:charset=UTF-8,<body></body>里面加入 ${message}<br/>


打开浏览器又一次验证

struts2 helloworld_struts_07


这样子每次改动都须要又一次启动server,能够使用热部署,仅仅要改动代码后自己主动重新启动server:

改动struts.xml。在<struts>头标签以下添加:

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