struts2 之一:hello world

前言

Struts2框架是Apache基金组织下的一个开源框架,是基于MVC模式设计的web应用开发框架。它利用并扩展了java servlet API,鼓励开发者采用MVC架构。

当然本次不介绍strucs2的相关知识,只做一个快速入门案例,及环境搭建和将整个程序走一遍,最后完成hello world程序,也就是先有一个具体印象。

下载并解压struts2开发包,同时建立一个web工程

步骤一:
为了方便,建议直接将开发包中的app下的web-inf下的lib里的文件夹里的jar包全部导入到项目的lib文件夹里

步骤二:编写web.xml文件。
一般情况下,我们将开发包中的web.xml复制下来,修改,并且放到web-inf目录下,保留下面内容
Alt text

步骤三:编写action类,也就是接受前台传过来的数据并进行相应处理和转发

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package com.zwl.action;
public class helloworld {
private String msg;
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public String execute(){
return "success";
}
}

值得注意的是这里的msg要与前台表单里的name值一致,并且要有set和get方法,这样struct2就自动将前台表单输入的值赋给msg了,然后public String execute(),默认的转发方法,也就是说它返回的值要与result中的name属性设置的值一致,这样就可以跳转到相应界面了,当然这里要结合接下来的步骤才可以

步骤四:配置structs.xml文件,
直接将文档中该文件拷到src目录下,修改为如下代码

1
2
3
4
5
6
7
8
9
10
11
12
13
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<package name="default" namespace="/" extends="struts-default">
<action name="helloworld" class="com.zwl.action.helloworld">
<result name="success">success.jsp</result>
</action>
</package>
</struts>

解释一下:package下name 和namespace就是为了区分重名,这里暂且不管,就按这种默认形式,action中name也就是我们表单提交的路径,class中是要加载的相应的action类,这里是helloworld,而result则是上述方法中返回的字符,里面为要跳转到success.jsp界面,因为这里是个入门程序,目的就是先具体体验。

步骤五:编写相应界面
首先是:index.jsp

1
2
3
4
5
6
<body>
<form action="helloworld.action">
<input type="text" name="msg"/>
<input type="submit"/>
</form>
</body>

这里结合一下步骤三,只要输入一个文本,后台通过反射机制,自动获得(只要满足标准)该值,并保存在栈中

然后是success.jsp

1
2
3
4
<%@ taglib uri="/struts-tags" prefix="s" %>//因为用到structs标签,所以这是声明使用
<body>
<s:property value="msg"/>//取得后台传过来的输入的值
</body>

测试:在浏览器中输入到index.jsp。填表单,最后跳转到success.jsp中并取出值

至此,hello world入门程序算是完成了
至此,再把上述开发步骤总结一下:

1:准备jar包
2:在web.xml中配置structs2的相关过滤器配置
3: 开发action,针对不同的功能开发不同的action
4:在structs.xml中添加上一步骤开发的action相应的配置(页面跳转等等)
5:编写相应的页面

最后我们将整个过程抽象成一个结构图
Alt text

上述的控制器就是web.xml配置的那个,仔细对比一下整个程序,基本上mvc框架的总体过程就是这样了,当然,这里只是一个入门程序,所以所有的配置都是最简的,只有一个目的,那就是hello world!

热评文章