你的位置:首页 > Java教程

[Java教程]Struts2基础篇


一、Struts2简介

Struts2以WebWork优秀的设计思想为核心,吸收了Struts1的部分优点,建立了一个基于WebWork和Struts1的MVC框架。

二、搭建Struts2开发环境

2.1、通过官网下载最新版:http://struts.apache.org/download.cgi

建议下载struts-xx.all.zip包,压缩包中不仅包含struts2的jar还包含了示例、源码以及帮助文档。

2.2、在项目中导入Struts2需要的jar包

2.3、修改web.

在web.

2.4、添加struts.

struts.

三、使用struts2输出Hello World

3.1、新建web项目,并导入struts的jar包

  

3.2、添加Action类

实现Action可以有三种方法:

1.使用普通的Java类,编写public String execute()方法

2.实现Action接口,实现execute()方法

3.继承ActionSupport类,重写execute()方法。

package com.able.action;import com.opensymphony.xwork2.Action;import com.opensymphony.xwork2.ActionSupport;/** * * @author 夏中伟 * 实现Action可以有三种方法: * 1.使用普通的Java类,编写public String execute()方法 * 2.实现Action接口,实现execute()方法 * 3.继承ActionSupport类,重写execute()方法。 * userAction这里继承ActionSupport */public class UserAction extends ActionSupport {	private String name;	private String message;	public String getName() {		return name;	}	public void setName(String name) {		this.name = name;	}	public String getMessage() {		return message;	}	public void setMessage(String message) {		this.message = message;	}	/**	 * 这个方法名可以随便写	 * @return	 */	public String execute(){		System.out.println(name+"-----------------");		message="Hello World"+name;		return "abc";	}}

 3.3、修改web.

<?

3.4、在src目录下添加struts.

<?

3.5、修改index.jps文件

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><%@taglib uri="/struts-tags" prefix="s" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head>  <base href="<%=basePath%>">    <title>My JSP 'index.jsp' starting page</title>	<meta http-equiv="pragma" content="no-cache">	<meta http-equiv="cache-control" content="no-cache">	<meta http-equiv="expires" content="0">  	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">	<meta http-equiv="description" content="This is my page">	<!--	<link rel="stylesheet" type="text/css" href="styles.css">	--> </head>  <body> 	<form action="userAction"> 		用户名:<input name="name"/><br/> 		<input type="submit" value="提交"/> 	</form> 	<div> 		<s:property value="message"/> 	</div> 	<div id="通过属性传值,以及modelDriven的接收"> 		刚刚输入的用户名: 		<s:property value="username"/><br/> 		<s:property value="password"/> 	</div> 	**********************分割线************************* 	<div> 		这是通过javaBean方式获取的用户名和密码 		<s:property value="user.username"/><br/> 		<s:property value="user.password"/> 	</div> </body></html>

3.6、将项目添加到tomcat中启动项目,在浏览器中输入:localhost:8080/Struts2_Demo(自己的项目名)/userAction

就可以看到页面跳转到index.jsp页面,然后在文本框中输入xiazhongwei提交后,在下边输出message,

四、总结

4.1、在浏览器中请求userAction时会经过Struts的核心过滤器“StrutsPrepareAndExecuteFilter”,

4.2、核心过滤器会根据请求在struts.

4.3、会在userAction寻找与struts.

4.4、执行完execute()方法后根据返回值String,寻找匹配struts.

4.5、根据类型跳转相应的请求中,上示例定义跳转到index.jsp中,所以会在页面中看到userAction类中execute方法中返回的message值“Hello world  ”+name,name是页面提交表单中的值