回想Struts2的使用过程,网上搜的教程多多少少都会有点问题。又一次记录下创建过程,方便查阅。
下载地址:http://archive.apache.org/dist/struts/binaries/
我用的是struts-2.3.14-all.zip这个版本号
以下给出全部文件均创建完毕后的project师图。
由于仅仅是演示样例程序,仅仅须要导入Struts 2支持最小的包就能够了,网上非常多教程中加入的最小包都有出入。教大家一个保险的方法。
解压刚才下载的压缩包struts-2.3.14-all.zip,在apps文件夹下有个struts2-blank.war包,打开它,到WEB-INF/lib文件夹下,例如以下图所看到的,即为所需的最小包。包括的包应该和详细的Struts版本号有关。
以下进入到详细的配置编码阶段。
打开web.xml,改动配置參数。改动后的详细配置例如以下。
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<display-name></display-name>
<!-- Struts2配置 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
这里须要注意的是
这里面填入的类。
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
Since Struts 2.1.3, use StrutsPrepareAndExecuteFilter instead or StrutsPrepareFilterand StrutsExecuteFilter if needing using the ActionContextCleanUp filter in addition to this one..即。从Struts 2.1.3起已被标注为过时的。改用StrutsPrepareAndExecuteFilter。
我刚用这个版本号的时候还是填的org.apache.struts2.dispatcher.FilterDispatcher
结果报错
*********************************************************************** * WARNING!!! * * * * >>> FilterDispatcher <<< is deprecated! Please use the new filters! * * * * This can be a source of unpredictable problems! * * * * Please refer to the docs for more details! * * http://struts.apache.org/2.x/docs/webxml.html * * * ***********************************************************************
<?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="struts2" extends="struts-default"> <action name="HelloWorld" class="tutorial.HelloWorld"> <result>/HelloWorld.jsp</result> </action> </package> </struts>
action元素相应与你的表单,比如你的表单的action="welcome"。那么该表单提交后就会将參数交予action的name="welcome"的实现类处理。result元素为action的结果,它由动作类返回的控制字段选择。
默认运行execute()方法。
并依据结果返回字符,然后struts.xml依据返回的字符跳到对应的页面
package tutorial;
import com.opensymphony.xwork2.ActionSupport;
public class HelloWorld extends ActionSupport
{
public final static String MESSAGE = "Struts2 is up and running ...";
private String message;
/**
* @return the message
*/
public String getMessage()
{
return message;
}
/**
* @param message the message to set
*/
public void setMessage(String message)
{
this.message = message;
}
public String execute() throws Exception
{
setMessage(MESSAGE);
return SUCCESS;
}
}
新建一个jsp页面来呈现信息。
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>Hello World!</title>
</head>
<body>
<h2><s:property value="message" /></h2>
</body>
</html>
到目前为止,最简单的Struts2使用完整的介绍。
原文:http://www.cnblogs.com/lcchuguo/p/4568813.html