我们知道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
相关推荐
标签中的"3ds_nandbo"可能是指这个示例是从3DS NANDBO(一个可能的教程或论坛)获取的,而"struts2__helloworld"和"struts2_helloworld"直接指出了这是关于Struts2的Hello World应用。 总的来说,这个压缩包提供了...
这个"Struts2_HelloWorld"例子是初学者踏入Struts2世界的绝佳起点,它通过一个简单的实例展示了如何在Struts2框架下创建并运行一个基本的Web应用。 首先,我们来看"HelloWorld"的实现过程。在Struts2中,我们通常会...
这个"Struts2_HelloWorld"示例提供了一个基础的Struts2登录应用,帮助开发者理解如何在实际项目中集成和使用Struts2框架。 首先,让我们了解一下Struts2的核心概念和组成部分: 1. **Action类**:在Struts2中,...
这个"struts2_HelloWorld代码"是初学者了解和学习Struts2的一个基础实践,它展示了如何使用Struts2框架创建一个简单的“Hello, World!”应用程序。 在Struts2中,`Action`类是核心组件,它负责处理用户请求。在这个...
"Struts2_helloWorld"这个项目是入门级别的示例,用于演示如何使用Struts2框架构建一个简单的“Hello, World!”程序。 首先,我们需要了解Struts2框架的基本结构。在Struts2中,`Action`类是业务逻辑的载体,通常...
在这个"基于Struts2的Hello World输出"中,我们将深入理解如何使用Struts2来创建一个简单的web应用。 首先,Struts2的核心在于它的Action类,它是业务逻辑处理的主要组件。在我们的"Hello World"示例中,我们需要...
在"struts2_helloWorld"压缩包中,通常会包含以下几个关键文件: 1. **web.xml** - 这是Web应用的部署描述符,用于配置Servlet和Filter。在Struts2中,我们需要配置`FilterDispatcher`作为入口点,它负责拦截所有...
这个"struts2的helloworld例子"是为初学者准备的一个基础教程,旨在帮助理解Struts2框架的基本工作原理和配置过程。下面将详细阐述这个例子中的关键知识点。 首先,Struts2框架的核心是Action类,它是处理用户请求...
从“HelloWorld”示例开始学习Struts2是一个经典的入门方法,因为它能帮助我们理解框架的基本工作原理。 首先,我们需要创建一个展示信息的JSP文件,即`HelloWorld.jsp`。在这个文件中,我们使用Struts2的标签库,...
在MyEclipse中,选择“New”->“Dynamic Web Project”,并命名为`Struts2_HelloWorld`。创建项目后,需要导入Struts2所需的库文件。进入项目属性设置,选择“Java Build Path”->“Libraries”->“Add External ...
`struts2_helloworld`标签可能指的是一个简单的入门示例,它通常包括创建一个Action类、一个JSP页面和相关的Struts配置,以展示Struts2的基本工作流程。 总结来说,"Struts2_jquery_json1.0.zip"是一个综合实例,...
在本教程中,我们将深入探讨如何使用Maven来构建一个基本的Struts2 HelloWorld应用。 首先,我们需要确保已经安装了Java Development Kit (JDK) 和 Maven。JDK是Java编程的基础,而Maven则用于构建和管理项目。在...
在本例中,提供的“Struts2_HelloWorld”压缩包中应该包含了所有必要的库文件,确保项目能够正常运行。 接下来,创建一个简单的Action类。在Struts2中,Action类需要继承自`com.opensymphony.xwork2.ActionSupport`...
Struts2 HelloWorld 示例详解 Struts2 是一个开源的 MVC(Model-View-Controller)框架,用于构建基于Java的企业级Web应用程序。它继承了Struts1的优点并解决了其存在的问题,提供了更强大的功能和更好的性能。在...
在这个案例中,我们聚焦于基于Struts2框架的“HelloWorld”应用。Struts2是一款强大的MVC(Model-View-Controller)框架,广泛应用于Java Web开发,为开发者提供了灵活的控制层结构。 首先,我们需要了解Struts2的...
这个"Struts2 Helloworld 源代码"压缩包很可能是为了帮助初学者理解Struts2框架的基础工作原理和配置。 在Struts2的Helloworld示例中,我们通常会看到以下几个关键知识点: 1. **环境配置**:首先,你需要一个Java...
此外,Struts2与Spring、Hibernate等其他框架的整合也是常见的应用场景。 通过深入学习Struts2,你可以构建出高效、健壮的Java web应用程序,而“Hello World”只是开始。在实际项目中,你还需要掌握异常处理、国际...
本篇文章将带你入门Struts2,通过创建一个简单的"HelloWorld"示例来理解其核心概念。 首先,了解Struts2框架的基本组成: 1. **Action类**:这是业务逻辑的入口点,处理用户请求并返回结果。在我们的"HelloWorld...