`
yuwenlin2008
  • 浏览: 127189 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Struts2_HelloWorld(与Struts1 的区别)

 
阅读更多

我们知道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

1
0
分享到:
评论
2 楼 kuchaguangjie 2014-04-08  
struts2 2007 的东西了,
现在 springMVC 更好点.
1 楼 freezingsky 2014-04-07  
每次看到有人发放相关struts1和struts2的内容,我都在想,除非有人需要维护一套struts1的系统,并需要转为struts2的版本。否则,真没有必要去对比 ,虽然看着版本号不同,实质是二个版本带来的变革是根本的。

相关推荐

    jamesby-struts2-helloworld.rar_3ds nandbo_helloworld_struts2_str

    标签中的"3ds_nandbo"可能是指这个示例是从3DS NANDBO(一个可能的教程或论坛)获取的,而"struts2__helloworld"和"struts2_helloworld"直接指出了这是关于Struts2的Hello World应用。 总的来说,这个压缩包提供了...

    Struts2_HelloWorld例子

    这个"Struts2_HelloWorld"例子是初学者踏入Struts2世界的绝佳起点,它通过一个简单的实例展示了如何在Struts2框架下创建并运行一个基本的Web应用。 首先,我们来看"HelloWorld"的实现过程。在Struts2中,我们通常会...

    Struts2_HelloWorld

    这个"Struts2_HelloWorld"示例提供了一个基础的Struts2登录应用,帮助开发者理解如何在实际项目中集成和使用Struts2框架。 首先,让我们了解一下Struts2的核心概念和组成部分: 1. **Action类**:在Struts2中,...

    struts2_HelloWorld代码

    这个"struts2_HelloWorld代码"是初学者了解和学习Struts2的一个基础实践,它展示了如何使用Struts2框架创建一个简单的“Hello, World!”应用程序。 在Struts2中,`Action`类是核心组件,它负责处理用户请求。在这个...

    struts2_helloWorld

    "Struts2_helloWorld"这个项目是入门级别的示例,用于演示如何使用Struts2框架构建一个简单的“Hello, World!”程序。 首先,我们需要了解Struts2框架的基本结构。在Struts2中,`Action`类是业务逻辑的载体,通常...

    基于struts2的hello world输出

    在这个"基于Struts2的Hello World输出"中,我们将深入理解如何使用Struts2来创建一个简单的web应用。 首先,Struts2的核心在于它的Action类,它是业务逻辑处理的主要组件。在我们的"Hello World"示例中,我们需要...

    struts2 helloworld

    在"struts2_helloWorld"压缩包中,通常会包含以下几个关键文件: 1. **web.xml** - 这是Web应用的部署描述符,用于配置Servlet和Filter。在Struts2中,我们需要配置`FilterDispatcher`作为入口点,它负责拦截所有...

    struts2的helloworld例子

    这个"struts2的helloworld例子"是为初学者准备的一个基础教程,旨在帮助理解Struts2框架的基本工作原理和配置过程。下面将详细阐述这个例子中的关键知识点。 首先,Struts2框架的核心是Action类,它是处理用户请求...

    学Struts2从HelloWorld示例开始

    从“HelloWorld”示例开始学习Struts2是一个经典的入门方法,因为它能帮助我们理解框架的基本工作原理。 首先,我们需要创建一个展示信息的JSP文件,即`HelloWorld.jsp`。在这个文件中,我们使用Struts2的标签库,...

    struts2.0开发环境的搭建及HelloWorld的演示

    在MyEclipse中,选择“New”-&gt;“Dynamic Web Project”,并命名为`Struts2_HelloWorld`。创建项目后,需要导入Struts2所需的库文件。进入项目属性设置,选择“Java Build Path”-&gt;“Libraries”-&gt;“Add External ...

    Struts2_jquery_json1.0.zip_Struts2 heloword_struts2_struts2 jque

    `struts2_helloworld`标签可能指的是一个简单的入门示例,它通常包括创建一个Action类、一个JSP页面和相关的Struts配置,以展示Struts2的基本工作流程。 总结来说,"Struts2_jquery_json1.0.zip"是一个综合实例,...

    用Maven构建Struts2的HelloWorld

    在本教程中,我们将深入探讨如何使用Maven来构建一个基本的Struts2 HelloWorld应用。 首先,我们需要确保已经安装了Java Development Kit (JDK) 和 Maven。JDK是Java编程的基础,而Maven则用于构建和管理项目。在...

    Struts2的第一个实例helloworld

    在本例中,提供的“Struts2_HelloWorld”压缩包中应该包含了所有必要的库文件,确保项目能够正常运行。 接下来,创建一个简单的Action类。在Struts2中,Action类需要继承自`com.opensymphony.xwork2.ActionSupport`...

    Struts2 HelloWorld

    Struts2 HelloWorld 示例详解 Struts2 是一个开源的 MVC(Model-View-Controller)框架,用于构建基于Java的企业级Web应用程序。它继承了Struts1的优点并解决了其存在的问题,提供了更强大的功能和更好的性能。在...

    HelloWorld 基于struts2框架

    在这个案例中,我们聚焦于基于Struts2框架的“HelloWorld”应用。Struts2是一款强大的MVC(Model-View-Controller)框架,广泛应用于Java Web开发,为开发者提供了灵活的控制层结构。 首先,我们需要了解Struts2的...

    Struts2 Helloworld 源代码

    这个"Struts2 Helloworld 源代码"压缩包很可能是为了帮助初学者理解Struts2框架的基础工作原理和配置。 在Struts2的Helloworld示例中,我们通常会看到以下几个关键知识点: 1. **环境配置**:首先,你需要一个Java...

    Struts2之Hello World | #struts2

    此外,Struts2与Spring、Hibernate等其他框架的整合也是常见的应用场景。 通过深入学习Struts2,你可以构建出高效、健壮的Java web应用程序,而“Hello World”只是开始。在实际项目中,你还需要掌握异常处理、国际...

    Struts2入门之HelloWorld

    本篇文章将带你入门Struts2,通过创建一个简单的"HelloWorld"示例来理解其核心概念。 首先,了解Struts2框架的基本组成: 1. **Action类**:这是业务逻辑的入口点,处理用户请求并返回结果。在我们的"HelloWorld...

Global site tag (gtag.js) - Google Analytics