写给struts2的初学者

struts2是建立在struts1.x和webwork框架基础上的是一种全新的MVC框架技术,struts2的核心设计思想来自webwork,因此Struts2的MVC架构与webwork基本相同。
废话少说先来个用户登陆的例子:
从官方网站上下载struts2的最新版本。

搭建一个struts2应用大概分这么几个步骤:
1.引入struts2工程需要的运行库文件。
将下载来的struts2文件中的lib文件夹下 :commons-logging-1.0.4.jar
freemark-2.3.8.jar ,ognl-2.6.11.jar,struts2-core-2.0.11.jar,
xwork-2.0.4.jar 复制到webroot/web-inf/lib文件夹下
2.创建并配置web.xml(eclipse中web项目自动生成无需创建)

	<filter>
        <filter-name>struts2</filter-name>
    <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>	

让所有的客户端请求都经由FilterDispatcher处理并把过滤后的结果提交给struts2处理。

3.编写Action
struts2直接使用action 来封装http请求参数,因此,action类里面应该包括与请求参数相对应的属性且提供相应的get set方法。
为aciton增加一个execute方法,因为struts2框架默认会执行这个方法,当然也可以单独在struts.xml中为action中指定method属性。
action类返回一个标准的字符串,该字符串是一个逻辑视图名,该视图名通过struts.xml对应一个物理视图。

UserAction

public class UserAction{
	private String username;//表单属性对应字段
	private String password;

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String execute() throws Exception {
		/*
		 * 只有用户名为zhangsan,密码为123456方可成功登录
		 */
		if (username.equals("zhangsan") && password.equals("123456")) {
			return "success";
		} else {
			return "error";
		}
	}
}


4.配置struts.xml

在classpath下面建立struts.xml文件 如src下面建立 ,编译后该文件会出现在web-inf/classes
<struts>
	<package name="strutsdemo" extends="struts-default">
		<action name="loginUser" class="com.zq.demo.struts.UserAction">
			<result name="success">/success.jsp</result>
			<result name="error">/error.jsp</result>
		</action>
	</package>
</struts>





最后编写视图页面
本例子中涉及3个视图页面登录页面,登录成功,登录失败

登录页面
<%@ page language="java" contentType="text/html; charset=GB2312"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
	<head>
		<title>登录页面</title>
	</head>
	<body>
		<center>
			<s:form action="loginUser">
				<s:textfield name="username" label="用户名" />
				<s:password name="password" label="密码" />
				<s:submit value="确定" />
				<s:reset value="重置" />
			</s:form>
		</center>
	</body>
</html>


登录成功页面

<%@ page language="java" pageEncoding="GB2312"%>
<html>
	<head>
		<title>成功页面</title>
	</head>
	<body>
		<p align="center">
			登录成功!!!您的用户名是<s:property value="username"/>
		</p>
	</body>
</html>

登录失败
<%@ page language="java" pageEncoding="GB2312"%>
<html>
	<head>
		<title>失败页面</title>
	</head>
	<body>
		<p align="center">
			登录失败!!!
		</p>
	</body>
</html>

至此,第一个struts2应用完成了,欢迎补充。

你可能感兴趣的:(java,框架,mvc,struts,Webwork)