Struts 2与Struts 1.x间的差比很大,从用户体验而言,基本上可以认为是两个完全不同的系统。当然,出于兼容性,原先的struts 1.x 框架下的项目仍然可以在struts 2 下运行。struts 2的MVC框架源于WebWork,有关struts 2与WebWork的关系,感兴趣的人可以去搜查相关资料,这里不再多说。
struts 2也出来很长时间了,但仍有很多人仍然在使用struts 1.x,这也是写本文的原因,本文的内容主要是当年我升级到struts 2时的笔记。因此,本文一开始的示例程序会带有比较浓重的struts 1的风格,而非典型的struts2 风格。所以,如果是新人,想学struts 2的话,不建议看本文,就如同在学习JDK 6时,没有必要先去弄本JDK5的教材一样。
本例使用Eclipse + Lomboz完成,网页文件的主目录为WebContent,项目名为tutorial。
<?
xml version="1.0" encoding="UTF-8"
?>
<
web-app
id
="WebApp_9"
version
="2.4"
xmlns
="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi
="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation
="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
>

<
display-name
>
Tutorial
</
display-name
>

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

<
welcome-file-list
>
<
welcome-file
>
login.jsp
</
welcome-file
>
</
welcome-file-list
>

</
web-app
>
struts 2也出来很长时间了,但仍有很多人仍然在使用struts 1.x,这也是写本文的原因,本文的内容主要是当年我升级到struts 2时的笔记。因此,本文一开始的示例程序会带有比较浓重的struts 1的风格,而非典型的struts2 风格。所以,如果是新人,想学struts 2的话,不建议看本文,就如同在学习JDK 6时,没有必要先去弄本JDK5的教材一样。
本例使用Eclipse + Lomboz完成,网页文件的主目录为WebContent,项目名为tutorial。
本着越简单越好的原则,本项目中包含以下几个文件:
文件名 | 所在位置 | 说明 |
---|---|---|
web.xml | WebContent/WEB-INF | |
login.jsp | WebContent | 登录页面 |
success.jsp | WebContent | 登录成功后显示的页面 |
error.jsp | WebContent | 登录失败后显示的页面 |
LoginAction.java | src/example | 处理登录请求的servlet |
struts.xml | src | struts2的配置文件 |
example.xml | src | Servlet与JSP间的MVC映射配置文件 |
另外,需要引用strus2中的如下类库:
- commons-logging-1.0.4.jar
- freemarker-2.3.8.jar
- ognl-2.6.11.jar
- struts2-core-2.0.9.jar
- xwork-2.0.4.jar
web.xml























上面的代码中,<filter>及<filter-mapping>是struts2需要的配置。另外,将默认的首页设为login.jsp
在此将映射模板设为了/*,表示一切以.action结尾的请求均由struts2来处理。
login.jsp
