`

struts2的第一个应用(hello world)(根据传智播客相关视频整理)

阅读更多

1.新建一个web项目,取名为struts2.
2.加入struts2的相关jar文件,将struts.xml文件拷贝进src目录下。将修改过的web.xml文件拷贝至struts2/WebRoot/WEB-INF/下。
3.新建一个Action:HelloWorldAction。其代码如下:

 1package com.xiaobai.struts.action;
 2
 3public class HelloWorldAction {
 4    private String msg;
 5    
 6    public String getMessage() {
 7        return msg;
 8    }

 9
10    public String execute(){
11        msg = "我的第一个struts2应用";
12        return "success";
13    }

14}
4.修改strut.xml文件:在<struts></struts>标签对中加入以下配置:
1<package name="hello" namespace="/action" extends="struts-default">
2    <action name="helloworld" class="com.xiaobai.struts.action.HelloWorldAction" method="execute">
3    <result name="success">/WEB-INF/page/hello.jsp</result>
4    </action>
5</package>

5.部署该项目。并且启动Tomcat服务器,访问http://localhost:8080/struts2/action/helloworld
看到如下图所示的结果:


下面对写的代码及配置做一点解释:
1.<package>标签的namespace属性可以作为action访问路径的一部分。不设置该属性或将其设置为""(空字符串)则为默认命名空间。例如上面的package属性设置为"/action",action标签的name属性设置为"helloworld",所以访问该action的路径应为/action/helloworld,这也就是上面这个应用的访问地址是http://localhost:8080/struts2/action/helloworld的原因。
2.一般情况下,package都应当继承自struts-default包,即,将package的extends属性设置为"struts-default",这样才能获得struts2的许多功能。
3.action的method属性主要是定义将请求交给action中的哪个方法来处理。
4.result标签中的name属性值对应action中的处理方法(这里是execute方法)的返回值,用来定义在该返回值的情况下如何进行转向。
   上面的应用中的jsp文件放置在WEB-INF文件下,主要是为了不让用户直接访问到jsp页面,而是通过访问action,并通过action的控制来访问信息。
   (ps:用户直接访问jsp文件也无法获得msg的值)
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics