Struts 2.0配置入门

最近在网上看到很多关于Struts2.0的教程,但是照着上面的操作一步步走下来,不是部署不成功就是运行不成功。总之谁遇到了很过麻烦,后来注意到这是struts版本的问题以及一些本人还无法解释的问题造成的,在此做一个小结,与大家分享。首先声明本人现在用的struts版本是2.1.8.1,如果版本不同,以下操作过程中所涉及的内容可能会不一样,请注意。

 

1. 首先建立web工程,并复制struts相关的jar文件,如下图所示。

Struts 2.0配置入门

 

注意:按照网上的教程,曾经出现过Unable to load configuration. ……struts-default.xml的错误,这个问题是缺少jar包造成的。

 

 

2. 建立用于处理用户请求的类,需要扩展ActionSupport类,并重写父类的execute方法,示例代码如下

public class MissYou extends ActionSupport
{
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	private String name;

	public String getName()
	{
		return name;
	}
	
	public void setName(String name)
	{
		this.name = name;
	}
	
	@Override
	public String execute() throws Exception
	{
		name = "Miss You Very Much, " + name;
		return super.execute();
	}
}

 

 

3. 添加action映射(mapping),在src目录下添加struts.xml文件,内容如下:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
    "http://struts.apache.org/dtds/struts-2.1.7.dtd">
<struts>
	<include file="struts-default.xml"></include>
	<package name="com.thu.afa.struts" extends="struts-default">
		<action name="missYou" class="com.thu.afa.struts.MissYou">
			<result>result.jsp</result>
		</action>
	</package>
</struts>

 

注意:这里DOCTYPE的声明需要与你的struts版本保持一致,这可以直接从struts2-core-2.1.8.1.jar包中的struts-default.xml文件中copy过来。至于struts标签中各个配置项的具体含义,这里不再详细介绍。

 

4. 添加jsp页面,示例如下:

<!-- index.jsp -->
<body>
	<s:form action="missYou"> 
		Name: <s:textfield name="name"></s:textfield>
		<s:submit />
	</s:form>
</body>

 

<!-- result.jsp -->
<body>
	<h3><s:property value="name" /></h3>
</body>

 

5. 修改web.xml文件,添加以下内容

<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>

 

 

 

6. 部署,运行,效果如下

Struts 2.0配置入门

 

 

7. 项目文件结构如下图所示

 

Struts 2.0配置入门

 

 

-------------------------------

Stay Hungry, Stay Foolish!

Afa

Mar 14th, 2010

-------------------------------

你可能感兴趣的:(apache,xml,Web,jsp,struts)