我们知道Struts是一个经典的MVC框架,其作用就是利用分层的思想,使用控制器将视图与模型分离,达到的目录就是更灵活,增强可扩展性。
Struts2是Struts是下一代产品,基于webwork的全新MVC框架。Struts1已经非常经典,但Struts2与之截然不同,那么先来说说它们的不同之处吧:
1.Action实现对比:Struts1要求Action必须继承一个抽象类;Struts2提供则是接口,而且并不是必须得实现的,可以是一个简单的POJO。
2.线程安全对比:Struts1的Action是单例的且线程不安全的,所有的请求都会由一个实例来处理;Struts2的Action为每个请求产生一个实例,没有线程安全的问题。
3.Servlet依赖对比:Struts1的Action必须依赖Servlet API,而Struts2不需要,如果要用也可以。
4.Action测试对比:Struts1必须依赖Web容器才能测试,Struts2不需要,单元测试就可以。
5.视图支持对比:Struts1仅支持JSP,Struts2不仅支持JSP,还包括Velocity,Freemarker等。
既然入门,那就先从HelloWorld说起吧。
6.表达式语言对比:Struts1支持JSTL,Struts2不仅支持JSTL,还支持更强大的OGNL。
Struts2的HelloWorld开发:
1.先从Apache的网站下载Struts2的最新版本,我下的是struts-2.3.16.1-all.zip
解压缩,先看其目录构成,主要有4个:
src:存放Struts2的源码,
lib:Struts2所依赖的所有jar包,
docs:Struts2的API文档,
apps:Struts2提供的学习例子,这是我们学习技术的第一手资料,下面就根据这个来开发第一个HelloWorld
2.使用Myeclipse搭建开发环境
当然首先要配置好Tomcat,Jdk,然后将apps目录下的struts2-blank.war用winrar解压开
开始新建一个web工程,取名HelloWorld
将struts2-blank/WEB-INF下的web.xml的内容拷贝到工程的web.xml中,如下:
<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>
注意这里的filter-class与之前的Struts2.0版本不太一样,这里是ng.filter
将struts2-blank/WEB-INF/classes下的struts.xml文件拷贝到工程的src下,打开并修改内容如下:
<?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> <!-- <constant name="struts.enable.DynamicMethodInvocation" value="false" /> <constant name="struts.devMode" value="true" /> <package name="default" namespace="/" extends="struts-default"> <default-action-ref name="index" /> <global-results> <result name="error">/error.jsp</result> </global-results> <global-exception-mappings> <exception-mapping exception="java.lang.Exception" result="error"/> </global-exception-mappings> <action name="index"> <result type="redirectAction"> <param name="actionName">HelloWorld</param> <param name="namespace">/example</param> </result> </action> </package> <include file="example.xml"/> --> <!-- Add packages here --> <package name="default" namespace="/" extends="struts-default"> <action name="hello"> <result> /Hello.jsp </result> </action> </package> </struts>
将它原始的配置都给注释了,复制它的package,新建一个新的hello
再将根目录下的index.jsp改名为Hello.jsp,内容写上Hello Struts2
3.把工程部署到Tomcat,启动测试,
访问地址:http://localhost:8080/HelloWorld/hello 此处可以省略.action
成功可看到
Hello Struts2
相关推荐
Struts2的HelloWorld例子适合Struts2的初学者,例子虽小,但是很有帮助。 保证初学者利大于弊~!
Struts2入门HelloWorld,加进tomcat即可运行,jar包都已在lib文件夹下面
一个很精简的struts2实例工程,对入门很有用
Struts HelloWorld Program!
以前看着视频学习struts2时候写的练习代码,完整的代码,可以供初学者学习或者参考。
学Struts2从HelloWorld示例开始
最基础的基于struts2框架的hello world 实现,适合小白。
可运行的struts2例子,eclipse工程
一个struts2的helloworld例子加源码
本章完成一个HelloWorld实例开发的演示,目的是使读者可以对struts2有一个整体的认识,熟悉glassfish2的使用,主要讲解了一个简单的Struts2应用的HelloWorld实例,这个例子可以帮助读者快速入门,获得开发Struts2...
Struts2 Helloworld 源代码
struts2框架最基本的代码。如果你想看看struts2最基本的样子,你个应该是你不错的选择。但前提是你得学过jsp/servlet
Struts2 2.5.20HelloWorld程序(里面包含Struts至少需要的jar包)
Struts2的入门小实例helloworld,jar包齐全,可以运行。
自己做的helloworld 希望可以给你们启发
struts2的HelloWorld的例子, 带JAR和配置文件