`

Struts2系列之一:构建struts2项目

阅读更多
Struts2系列之二:页面传值
Struts2系列之三:注解式Action


1. 新建一个Maven Project

2. 在pom.xml文件中加入struts2等依赖:
  <properties>
    <struts2.version>2.3.15.1</struts2.version>
    <testng.version>6.4</testng.version>
  </properties>
  
  <dependencies>
    <dependency>
      <groupId>org.apache.struts</groupId>
      <artifactId>struts2-core</artifactId>
      <version>${struts2.version}</version>
    </dependency>
    <dependency>
      <groupId>org.testng</groupId>
      <artifactId>testng</artifactId>
      <version>${testng.version}</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

Eclipse等IDE工具会帮我们加入struts2的依赖项:


3. 配置web.xml
  
加入下面的配置段:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	id="mystruts2" version="2.5">
  <display-name>MyStruts2 Web Application</display-name>

  <filter>
  	<filter-name>struts2</filter-name>
  	<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
  </filter>
  <!-- The below filter class was deprecated since Struts 2.1.3 -->
  <!--<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>-->  

  <filter-mapping>
  	<filter-name>struts2</filter-name>
  	<url-pattern>/*</url-pattern><!-- 可以写成*.action,不能写成/*.action -->
  </filter-mapping>

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


4. 配置struts.xml

把struts.xml放到类根目录下,并加入下面的配置段:
<?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.action.extension" value="do,action,"/>
  <constant name="struts.enable.DynamicMethodInvocation" value="true"/>
  <constant name="struts.multipart.maxSize" value="20701096"/>

  <package name="helloworld" namespace="/hw" extends="struts-default">
    <action name="first" class="com.john.struts2.HelloWorldAction" method="hello">
      <result name="success">/WEB-INF/main.jsp</result>
    </action>
  </package>
</struts>

注:
a. package的namespace是可选属性,值一般以'/'开头。如果设定,有该前缀的请求才会分发到此package处理;否则,该package匹配任意前缀。
b. extends属性必须指定,否则运行时报错。可以使用自定义的package或struts-default(Struts2预定义)。
c. action的name属性不能加前缀'/',否则请求会报404错误。也是构成请求url的一部分。

HelloWorldAction.java:
public class HelloWorldAction {
	public String hello() {
		return "success";
	}
}


main.jsp:
<html>
<body>
<h2>Hello World!</h2>
</body>
</html>


5. 运行该工程,在地址栏输入http://localhost:8080/mystruts2/hw/first.do,查看效果。



普通Web工程的配置:
①. 新建一个Dynamic Web Project

②. 加入依赖包(版本可能不同):

   struts2-core-2.1.8.jar
   xwork-core-2.1.6.jar
   commons-fileupload-1.2.1.jar
   commons-io-1.3.2.jar
   commons-logging-1.0.4.jar
   freemarker-2.3.15.jar
   ognl-2.7.3.jar

   最好是把它们加到/WEB-INF/lib/目录中,这样Web server启动时容易找到。
  • 大小: 10.3 KB
分享到:
评论

相关推荐

    Struts2 Design and Programming: A Tutorial.pdf

    - 书中可能包含实际的项目案例,指导读者如何从零开始构建一个完整的Struts2应用,包括需求分析、架构设计、编码实现和测试。 通过阅读《Struts2 Design and Programming: A Tutorial》,读者不仅可以理解Struts2...

    struts2项目部署

    本教程将详细介绍如何部署一个基于Struts2的项目,特别适合初学者。由于实际的文件列表未给出,这里我们将假设它包含了必要的JAR库、源代码以及配置文件。 首先,理解Struts2项目的基本结构至关重要。一个典型的...

    Struts与Hibernate实用教程构建基于MVC模式的高效Java Web应用例子代码(1)

    Struts与Hibernate实用教程构建基于MVC模式的高效Java Web应用例子代码 (1),共10个例子

    Struts2知识点

    Struts2 的 Best Practice 包括使用 Maven 或 Gradle 等构建工具来管理依赖、使用 Eclipse 或 MyEclipse 等 IDE 工具来开发和调试项目、使用版本控制系统来管理代码变更等。 Struts2 是一个功能强大且灵活的 Web ...

    Struts 2 自学之路: 1 准备工作及helloworld

    1. **创建新项目**:在Eclipse中,新建一个Dynamic Web Project,输入项目名称,如“Struts2Study”。 2. **添加Struts 2依赖**:如果你使用Maven,可以在pom.xml文件中添加Struts 2的依赖。例如: ```xml ...

    struts2 项目教程

    Struts2是一个强大的Java web应用程序框架,用于构建和维护可扩展且易于管理的企业级Web应用。这个项目教程可能包含了从基础到高级的Struts2应用开发的全方位指导。以下是基于标题、描述和标签的一些关键知识点: 1...

    Struts2讲义-作者:吴峻申

    - 拦截器是Struts2的核心组件之一,用于拦截用户的请求,并进行预处理或后处理。 - 它可以用来执行权限验证、日志记录、数据绑定等功能。 - **FilterDispatcher和Action概述**: - FilterDispatcher是Struts2的...

    Struts2项目代码

    Struts2是一个强大的Java web开发框架,用于构建和维护可扩展、具有良好结构的Web应用程序。这个"Struts2项目代码"提供了一个学习Struts2框架的实用实例,可以帮助开发者更好地理解Struts2的核心概念和实践应用。 ...

    使用Maven的struts2项目结构

    接下来,我们将深入探讨如何使用Maven构建一个基于Struts2的项目,并理解其项目结构。 1. **Maven工程的基本结构**: Maven项目遵循标准的目录结构,也称为"Maven约定"。这是项目的基础布局: - `src/main/java`...

    struts项目

    Struts2是一个基于MVC(Model-View-...综上所述,"struts2项目"旨在教授如何使用Struts2和jQuery构建一个具备完整CRUD功能的Web应用,通过学习这个项目,开发者可以深入了解这两种技术的集成和应用,提高开发效率。

    Struts1和Struts2区别

    Struts1和Struts2是两个非常著名的Java Web框架,它们都由Apache软件基金会开发,用于构建MVC(Model-View-Controller)架构的应用程序。虽然它们在目标上相似,但在设计模式、功能特性和使用体验上存在显著差异。...

    基于struts2商品管理项目

    【基于Struts2的商品管理项目】是一个典型的Java Web应用程序,主要使用了Struts2框架来构建后台控制逻辑,实现管理员和用户对商品的多种操作。Struts2是Apache软件基金会的一个开源项目,它是一个用于构建MVC(模型...

    Struts2项目实例

    总之,"Struts2项目实例"是一个实践性的学习资源,它能够帮助开发者从理论走向实践,深入理解Struts2框架的运作方式,并提升其在实际开发中的应用能力。通过逐步分析和模仿这个实例,学习者能够更好地掌握Struts2,...

    struts2简单例子

    Struts2是一个强大的Java EE应用程序框架,用于构建MVC(模型-视图-控制器)架构的Web应用。这个“struts2简单例子”是初学者理解Struts2工作原理和核心概念的一个很好的起点。让我们深入探讨一下Struts2的基础知识...

    传智播客struts2.1视频教程_介绍struts2及struts2开发环境的搭建

    通过这个视频教程,你将能够深入理解Struts2的基本原理和用法,学会如何利用Struts2构建一个简单的Web应用。同时,掌握Struts2的开发环境搭建,有助于你在实际项目中快速上手。传智播客的教程以通俗易懂的方式讲解,...

    在嵌入式jetty环境下运行struts2Annotation项目

    在嵌入式Jetty环境下运行Struts2 Annotation项目是一个常见的任务,特别是在开发和测试阶段,因为这种方式能够快速启动服务,而无需依赖大型服务器容器。本文将深入探讨如何配置和执行这个过程,以及涉及的关键技术...

    struts2项目测试成功的jar包

    2. **Struts2 Plugins**: Struts2提供了一系列插件来增强功能,如Tiles、JSON、Freemarker等,这些插件的JAR文件需要根据项目需求选择性引入。 3. **依赖的库**: Struts2依赖于许多其他开源库,如OGNL(Object-...

    struts2项目实例

    Struts2是一个强大的Java web框架,它为构建MVC(模型-视图-控制器)架构的应用程序提供了全面的支持。在本“Struts2项目实例”中,我们将深入探讨如何使用Struts2框架来实现基本的CRUD(创建、读取、更新、删除)...

    留言板留言板struts2留言板struts2

    Struts2是一个强大的Java web应用程序框架,用于构建和部署企业级的MVC(Model-View-Controller)架构的Web应用。这个"留言板留言板struts2"项目,显然是一个基于Struts2实现的简单留言板系统,旨在展示Struts2的...

Global site tag (gtag.js) - Google Analytics