本章目标:
# 下载Struts2
# Struts2的基本配置
# Struts2的基本使用
@Struts2是什么?= Struts + Webwork
Struts 1.0 / Struts 1.1 / Struts 1.3
Webwork 是基于XWork
JIVE论坛 -->WebWork2
Struts最后已经发展成为一个J2EE事实上的MVC标准
验证框架
Struts中ActionForm、一些额外配置,SSH
如果用户Webwork会使用了,则一定会使用Struts2
@下载Struts2 《-- http://struts.apache.org
@Struts2开发环境 = Eclipse + Tomcat 5.5
SSH框架的时候,使用的是Tomcat 5.0
Struts2中,如果要使用Tomcat 5.0 则会比较麻烦
注意:此时Eclipse中并没有一个工具是支持Struts的简便开发的;
即需要自己设置web.xml、部署jar包等等操作。
@开发步骤01:加入Struts开发包(apps+docs+lib+src+LICENSE.txt+NOTICE.txt):
struts2-core.jar:struts2的核心包
xwork.jar:Webwork中也需要使用xwork包
ognl.jar:webork中
freemarker.jar:模板包
commons-logging-api.jar:通用日志包
@开发步骤02:编辑web.xml文件,配置struts2应用.
<filter>
<filter-name>struts</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</utl-patttern>
</filter-mapping>
回顾:
在 Struts 1.x之中,在web.xml中配置的是一个Servlet,
而且此Servlet必须使用一个strtus-config.xml文件,
此文件作为Servlet的一个初始化参数进行读入。
Struts2里配置web.xml文件,不再需要Servlet,
而是通过一个过滤器取代了。
*.do -> Struts2 *.action
如果要正确使用Struts2,还需要配置一个类似于struts-config.xml的文件。
struts.xml
@开发步骤03:新建一个Action,HelloAction.java。
建立新的Action,所有Action继承自ActionSupport类;
即com.opensymphony.xwork2.ActionSupport类。
@HelloAction.java文件代码如下:
import com.opensymphony.xwork2.ActionSupport;
public class HelloAction extends ActionSupport ... {
private String msg = null;
public String execute() throws Exception ...{
return ActionSupport.SUCCESS;
}
public String getMsg() ...{ return msg;}
public void setMsg(String msg) ...{this.msg = msg; }
}
@框架文件的规律:
所有的框架开发包中,实际上都有许多的参考实现代码,
只要耐心的参考里面的代码,就能够正确的使用程序。
@开发步骤04:新建struts.xml文件,代码如下:
<! DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd" >
< struts >
< package name ="zhoudm" namespace ="/" extends ="struts-default" >
< action name ="HelloWorld" class ="org.zhoudm.struts2.demo" >
< result name ="success" > /hello.jsp </ result >
</ action >
</ package >
</ struts >
@在Tomcat中测试:
在启动tomcat(运行tomcat5.5/bin/startup.bat),网页中运行http://localhost/struts2测试前,需要:
在tomcat 5.5/conf/server.xml中,</Host>之前,加入如下代码:
<Context path="/struts2" docBase="E:/Java/Eclipse3.1/workspace_WestNews/Struts2Demo/WebRoot"/>
新功能:
如果输入mldnlxh(zhoudm),表示正确,则显示输入内容;
如果输入其它内容,则跳转到错误页。
@总结, Struts2(Webwork) 的基本原理:
所有的请求(*.action) -> DispatcherFilter上,之后根据struts.xml文件中的配置选择对应的action进行处理,
通过execute()方法的返回值,来决定最终的跳转页面,之后进行显示。