目标:
建立一个struts工程,通过struts配置文件里面配置的一个Action访问到指定的页面。
1、新建一个新的Struts工程 struts0100
2、最简单的struts的依赖jar包可以到struts的下载包的解压缩包里找到struts2-blank-2.1.8.war 用rar解压缩以后就可以找到
其实我们要完成一个最简单的helloword就是从这个war包里面复制粘贴过来的,这种方式可以快速建立一个struts的应用
commons-fileupload-1.2.1.jar
commons-io-1.3.2.jar
freemarker-2.3.15.jar
ognl-2.7.3.jar
struts2-core-2.1.8.jar
xwork-core-2.1.6.jar
将这几个jar包复制到lib目录底下
3、配置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>
这一段代码到web.xml底下
以上代码其实不用说太多。指定所有的/*的访问都交给FilterDispatcher处理,其实就是让所有访问都交给Struts处理。
4、拷贝Struts到src目录底下。
这个文件掌管着struts的命运。这个文件可以从struts2-blank-2.1.8\WEB-INF\classes
目录底下获取
5、将该文件里面配置的内容都注释掉,因为刚刚开始的时候我们要自己动手来完成,原先的东西只用来参考
最清爽的xml文件其实是这个样子
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> </struts>
6、加入我们需要的配置
为了完成我们的功能:
通过struts配置文件里面配置的一个Action访问到指定的页面。
那么现在要明确一下了,目前还没有指定一个要访问的页面,和访问的Action。
这里我指定我们要访问Index这个Action通过这个Action来访问index.jsp这个页面
我们的配置文件变成了下面的样子
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <!-- Add packages here --> <package name="default" namespace="/" extends="struts-default"> <default-action-ref name="index" /> <action name="index" class= "study.fst.Index"> <result>index.jsp</result> </action> </package> </struts>
result就是经过这个Action调度后访问的页面,
<action name="index" class= "study.fst.Index">指定了在路径里面访问的地址,我们的工程是struts0100 部署起来以后我们访问的地址就是http://localhost:8080/struts0100/index
在页面上显示的就是index.jsp的内容
7、编写Action
Action很简单就下面几行代码(其实只有一行)
package study.fst;
import com.opensymphony.xwork2.Action;
/**
* 访问主页
*
* @author arne3166
* @version [0100, 2010-9-28]
*/
public class Index
{
/**
* 该方法什么功能都没有只是演示一个转向功能的示例
* @return "success"
* @see com.opensymphony.xwork2.Action#SUCCESS
*/
public String execute()
{
return Action.SUCCESS;
}
}
需要遵守的规则是:
a、必须有execute方法
b、该方法必须返回一个string(由于是第一个实验,为了把框架搭起来,做一下演示,就不要讲究太多,直接返回"success");
8、完成jsp
编写自己的index.jsp放到工程的目录里面去,应该在WEB-INF的外面
9、然后去部署访问吧。