struts2入门(搭建环境、配置、示例)详解

Struts2入门攻略

Struts2是一个基于MVC架构的Web应用程序开发框架。本攻略将介绍如何搭建Struts2开发环境、配置Struts2框架并开发示例项目。

环境搭建

首先,我们需要准备好开发环境:

  1. JDK:Java开发工具包,下载地址:https://www.oracle.com/technetwork/java/javase/downloads/
  2. Eclipse:Java开发IDE,下载地址:https://www.eclipse.org/downloads/
  3. Tomcat:Servlet容器,下载地址:https://tomcat.apache.org/download-80.cgi
  4. Struts2压缩包,下载地址:https://struts.apache.org/download.cgi#struts-lgpl

接下来,我们需要进行一些配置:

  1. 将Tomcat解压到本地,并配置Tomcat的路径到Eclipse的“Servers”选项卡
  2. 将Struts2压缩包解压到Eclipse的“WebContent/WEB-INF/lib”目录中(如果没有这个目录,可以在项目中创建)

至此,我们的环境就已经搭建好了。

Struts2配置

Struts2的配置主要包括:

  1. 创建Struts2配置文件(struts.xml)
  2. 在web.xml中添加Struts2的过滤器

创建Struts2配置文件

在项目的“src”目录下,创建一个名为“struts.xml”的文件,并写入以下内容:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
        "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
    <package name="default" extends="struts-default">
        <action name="hello" class="com.example.HelloWorldAction">
            <result name="success">/hello.jsp</result>
        </action>
    </package>
</struts>

其中,<struts>元素包含了一个或多个<package>元素,每个<package>元素包含了一个或多个<action>元素。每个<action>元素指定了一个类和一个结果(result)。

配置web.xml

在项目的“WebContent/WEB-INF”目录下,打开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>

这段代码添加了一个名为“struts2”的过滤器,用于拦截请求并执行相应的Struts2动作。

示例项目

我们将创建一个名为“HelloWorld”的示例项目,介绍Struts2的基本概念和用法。

创建Java类

在项目的“src”目录下,创建一个名为“HelloWorldAction.java”的Java类,并写入以下内容:

package com.example;

import com.opensymphony.xwork2.ActionSupport;

public class HelloWorldAction extends ActionSupport {

    @Override
    public String execute() throws Exception {
        return SUCCESS;
    }

}

此类继承了ActionSupport类,其execute()方法返回SUCCESS常量表示成功。

创建JSP页面

在项目的“WebContent”目录下,创建一个名为“hello.jsp”的JSP页面,并写入以下内容:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Hello World!</title>
</head>
<body>
    <h1>${text}</h1>
</body>
</html>

运行示例

现在,我们就可以启动Tomcat服务器,并在浏览器中访问http://localhost:8080/HelloWorld/hello.action来查看“Hello World!”页面了。

另一个示例

我们将创建一个名为“Calculator”的示例项目,介绍Struts2操作表单和参数的用法。

创建Java类

在项目的“src”目录下,创建一个名为“CalculatorAction.java”的Java类,并写入以下内容:

package com.example;

import com.opensymphony.xwork2.ActionSupport;

public class CalculatorAction extends ActionSupport {

    private int number1;
    private int number2;
    private int result;

    public int getNumber1() {
        return number1;
    }

    public void setNumber1(int number1) {
        this.number1 = number1;
    }

    public int getNumber2() {
        return number2;
    }

    public void setNumber2(int number2) {
        this.number2 = number2;
    }

    public int getResult() {
        return result;
    }

    public void setResult(int result) {
        this.result = result;
    }

    @Override
    public String execute() throws Exception {
        result = number1 + number2;
        return SUCCESS;
    }

}

此类包含了三个属性:number1number2result,以及getPropertysetProperty方法。其execute()方法从请求参数中获取number1number2的值,并将它们相加后赋值给result

创建JSP页面

在项目的“WebContent”目录下,创建一个名为“calculator.jsp”的JSP页面,并写入以下内容:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Calculator</title>
</head>
<body>
    <h1>Calculator</h1>
    <form action="calculator.action" method="post">
        Number 1: <input type="text" name="number1" value="0" /><br />
        Number 2: <input type="text" name="number2" value="0" /><br />
        <input type="submit" value="Calculate" />
    </form>
    <p>Result: ${result}</p>
</body>
</html>

此页面包含了一个表单,其中有两个输入框表示number1number2,以及一个提交按钮。在表单提交后,将显示result的值。

运行示例

现在,我们就可以启动Tomcat服务器,并在浏览器中访问http://localhost:8080/Calculator/calculator.jsp来查看“Calculator”页面了。

在表单中输入两个数,点击提交按钮后,将在页面上显示它们的和。

总结

通过本攻略,我们学习了如何搭建Struts2开发环境、配置Struts2框架并开发示例项目。Struts2是一个功能强大的Web应用程序开发框架,我们可以用它来开发复杂的Web应用程序。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:struts2入门(搭建环境、配置、示例)详解 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • Java递归算法的使用分析

    下面我将为你详细讲解“Java递归算法的使用分析”的完整攻略。 什么是递归? 递归是指在程序执行过程中调用自己的一种方法。在编程中,递归算法通常可以让我们以更加简洁而优美的方式来解决一些复杂的问题。 递归的原理 递归算法的实现可以依据以下三个步骤: 定义基本情况:我们需要定义一个或多个基本情况,这些基本情况通常是输入较小的规模,可以直接求解。 定义递归关系:…

    Java 2023年5月26日
    00
  • 深入了解Java中循环结构的使用

    深入了解 Java 中循环结构的使用 循环结构是编程中非常重要的一个概念,Java 中包含多种不同类型的循环结构。掌握这些循环结构可以帮助我们更高效地进行编程。下面是深入了解 Java 中循环结构的完整攻略。 for 循环 for 循环是最常用的循环结构之一。它允许我们按照在代码中指定的条件来重复执行特定的代码块。for 循环的语法如下: for (init…

    Java 2023年5月26日
    00
  • java web将数据导出为pdf格式文件代码片段

    当需要将Java Web应用程序中的数据转换为PDF格式文件时,我们可以通过使用第三方的Java库来完成。下面是一份详细的攻略。 第一步:选择合适的Java库 有许多Java库可以用于将Web应用程序数据转换为PDF格式文件,如iText、PDFBox、JasperReports等。本文以iText为例进行说明。 iText是一个免费的Java库,用于生成和…

    Java 2023年6月15日
    00
  • Spring源码剖析之Spring处理循环依赖的问题

    下面就是关于“Spring源码剖析之Spring处理循环依赖的问题”的完整攻略。 标题:Spring源码剖析之Spring处理循环依赖的问题 什么是循环依赖? 循环依赖指的是在Spring容器初始化bean时,A对象依赖B对象,同时B对象又依赖A对象。这种情况下,Spring无法推断依赖关系,会抛出BeanCurrentlyInCreationExcepti…

    Java 2023年5月31日
    00
  • Spring Boot教程之必须了解的核心概念

    Spring Boot教程之必须了解的核心概念 Spring Boot是一个基于Spring框架的快速开发框架,许多开发人员都选择使用它来进行项目开发。本篇教程将介绍Spring Boot的一些核心概念。 1. 自动配置 Spring Boot使用自动配置的方式,可以大大减轻我们的负担。它会根据classpath中的jar包,自动配置应用程序所需的依赖项。如…

    Java 2023年5月19日
    00
  • SpringBoot整合Druid数据源过程详解

    以下是SpringBoot整合Druid数据源的详细攻略。 准备工作 引入相关依赖 为了使用Druid数据源,我们需要在pom.xml文件中添加以下依赖: <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-star…

    Java 2023年5月20日
    00
  • 详解slf4j+logback在java工程中的配置

    关于“详解slf4j+logback在java工程中的配置”,我将为你提供一个完整的攻略。包含以下内容: 简要介绍slf4j和logback 配置slf4j和logback logback使用示例 slf4j使用示例 希望以下内容能够帮助你理解和使用slf4j和logback。 简要介绍slf4j和logback slf4j(Simple Logging F…

    Java 2023年5月20日
    00
  • Java实现UTF-8编码与解码方式

    我会为你详细讲解如何用Java实现UTF-8编码与解码。首先,让我们了解一下UTF-8编码的相关知识。 UTF-8是一种可变长度的Unicode编码,它能够表示Unicode标准中的任何字符。UTF-8编码使用1到4个字节来表示每个字符,其中ASCII字符只需要使用1个字节。 在Java中,可以使用java.nio.charset.Charset类来支持UT…

    Java 2023年5月20日
    00
合作推广
合作推广
分享本页
返回顶部