实例详解java Struts2的配置与简单案例

实例详解Java Struts2的配置与简单案例

简介

Java Struts2是MVC框架中的一种,它通过将应用程序分成模型、视图和控制器三个部分,从而使得开发人员能够更加清晰地组织代码并且更加容易地维护代码。

本文将会通过具体的操作步骤详细说明如何在Java Struts2中进行配置,并且给出两个简单的案例。

配置步骤

步骤一:下载和安装Java Struts2

Java Struts2的官方网址为:http://struts.apache.org/,下载最新的版本后,按照官方文档的说明进行安装。

步骤二:创建项目

使用Eclipse或者其他IDE工具创建一个名为“Struts2Demo”的Java项目。

步骤三:配置Struts2

  • 在该项目中的WebContent文件夹下,创建“WEB-INF”文件夹并在其中创建名为“lib”的文件夹。将下载好的Java Struts2库文件拷贝到该文件夹中。

  • 在“WebContent”文件夹下创建名为“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>
  <package name="default" namespace="/" extends="struts-default">
    <action name="hello" class="com.example.struts2.HelloWorldAction" method="execute">
      <result name="success">/jsp/helloWorld.jsp</result>
    </action>
  </package>
</struts>

步骤四:创建Java类和JSP文件

  • 在com.example.struts2包下创建名为“HelloWorldAction”的Java类,代码如下:
package com.example.struts2;

public class HelloWorldAction {
    private String message;

    public String execute() throws Exception {
        setMessage("Hello World!");
        return "success";
    }

    public void setMessage(String message){
        this.message = message;
    }

    public String getMessage(){
        return this.message;
    }
}
  • 在项目的“WebContent”文件夹下创建名为“helloWorld.jsp”的文件。以下是该文件的代码:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>Hello World</title>
  </head>
  <body>
    <h2><s:property value="message"/></h2>
  </body>
</html>

步骤五:测试应用程序

  • 启动Tomcat服务器,点击“Run As”->“Run on Server”。
  • 在浏览器中输入地址http://localhost:8080/Struts2Demo/hello.action
  • 如果一切正常,我们将看到输出“Hello World!”的页面。

示例一:表单处理

在这个示例中我们将展示如何使用Java Struts2处理表单。

  • 在“WebContent”文件夹下创建名为“form.jsp”的JSP文件,以下是该文件的代码:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>Struts2 Form</title>
  </head>
  <body>
    <s:form action='sample.action'>
      <s:textfield name='name' label='Name'/>
      <s:submit/>
    </s:form>
  </body>
</html>
  • 在“struts.xml”文件中添加如下代码,以处理表单:
  <package name="sample" namespace="/" extends="struts-default">
    <action name="sample" class="com.example.struts2.SampleAction">
      <result name="success">/jsp/sample.jsp</result>
    </action>
  </package>
  • 在“com.example.struts2”包下,创建名为“SampleAction”的Java文件,代码如下:
package com.example.struts2;

public class SampleAction {
    private String name;

    public String execute() throws Exception {
        return "success";
    }

    public void setName(String name){
        this.name = name;
    }

    public String getName(){
        return this.name;
    }
}
  • 最后,在项目的“WebContent”文件夹下创建名为“sample.jsp”的文件,以下是该文件的代码:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>Struts2 Sample Output</title>
  </head>
  <body>
    <h2>You entered: <s:property value='name'/></h2>
  </body>
</html>

完成上述配置后,我们就可以测试表单处理了。

  • 启动Tomcat服务器,点击“Run As”->“Run on Server”。
  • 在浏览器中输入地址http://localhost:8080/Struts2Demo/form.jsp,将会看到表单。
  • 在表单中输入任意名字并且点击提交按钮。
  • 应用程序将会处理这个表单,在完成后进入/sample.jsp,并且输出你刚刚输入的名字。

示例二:传递参数和条件语句

在这个示例中,我们将会展现如何在Java Struts2中传递参数和使用条件语句。

  • 在“WebContent”文件夹下创建名为“loop.jsp”的JSP文件,以下是该文件的代码:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Struts2 Loop</title>
</head>
<body>
    <h1>Looping through List of Animals:</h1>
    <s:iterator value="animals">
        <s:if test="%{size == 0}">
            <p>No Animals Found</p>
        </s:if>
        <s:else>
            <p>Name: <s:property/></p>
        </s:else>
    </s:iterator>
</body>
</html>
  • 在“struts.xml”文件中添加如下代码:
  <package name="loop" namespace="/" extends="struts-default">
    <action name="loop" class="com.example.struts2.LoopAction">
      <result name="success">/jsp/loop.jsp</result>
    </action>
  </package>
  • 在“com.example.struts2”包下创建名为“LoopAction”的Java文件,代码如下:
package com.example.struts2;

import java.util.ArrayList;
import java.util.List;

public class LoopAction {
    private List<String> animals;

    public String execute(){
        animals = new ArrayList<String>();
        animals.add("Cat");
        animals.add("Dog");
        animals.add("Horse");

        if(animals.size()==0){
            return "error";
        }
        return "success";
    }

    public List<String> getAnimals(){
        return animals;
    }

    public void setAnimals(List<String> animals){
        this.animals = animals;
    }
}

完成上述配置后,我们就可以测试传递参数和条件语句了。

  • 启动Tomcat服务器,点击“Run As”->“Run on Server”。
  • 在浏览器中输入地址http://localhost:8080/Struts2Demo/loop.action,将会看到一个包含了所有动物名字的页面。

结论

通过本文所述的步骤和示例,我们可以掌握Java Struts2的基本使用方法,并且在实际开发中使用Java Struts2来实现MVC架构的应用程序。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:实例详解java Struts2的配置与简单案例 - Python技术站

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

相关文章

  • 详解JWT token心得与使用实例

    以下是详解JWT token心得与使用实例的完整攻略。 什么是JWT JWT(JSON Web Token)是一种开放标准,定义了用于在网络应用程序间传递声明的一个紧凑、自包含的方式。JWT 这个标准定义了一种简洁且安全的方式,可以在各方之间传输包含各种信息的 JSON 对象。JWT 主要用于身份验证和授权。 JWT 的组成结构 一个 JWT token 由…

    Java 2023年5月20日
    00
  • Spring cloud alibaba之Ribbon负载均衡实现方案

    Spring Cloud Alibaba之Ribbon负载均衡实现方案 什么是负载均衡 在计算机网络中,负载均衡是指将任务或服务请求分摊给多个处理单元,例如计算机、网络、磁盘、存储设备,以达到最大的吞吐量,最小化响应时间,最大化可靠性,以及避免单点故障的目的。 为什么使用负载均衡 当一个系统需要处理大量的请求时,单个服务实例难以承受这样的压力。通过使用负载均…

    Java 2023年5月19日
    00
  • java利用Calendar类打印日历

    接下来我将为您详细介绍如何利用Java中的Calendar类打印日历。下面是步骤: 步骤一:获取Calendar实例 首先,我们需要创建一个Calendar对象,这个对象表示当前日期和时间所在的区域。创建Calendar对象的方式是通过Calendar类的静态方法getInstance()。 代码示例1: Calendar cal = Calendar.ge…

    Java 2023年5月20日
    00
  • spring boot与spring mvc的区别及功能介绍

    区别: Spring Boot和Spring MVC都是Spring框架的一部分。Spring MVC是一种基于MVC(Model-View-Controller)的Web框架,用于构建Web应用程序,而Spring Boot则是一个用于简化Spring应用程序开发的框架,它可以在开发过程中自动配置和管理一些常见的Spring功能,而无需进行手动配置。因此,…

    Java 2023年5月15日
    00
  • Spring Data JPA框架快速入门之自定义Repository接口

    关于Spring Data JPA框架快速入门之自定义Repository接口的完整攻略,包括以下几个方面的内容: 什么是Spring Data JPA框架? 什么是自定义Repository接口? 如何自定义Repository接口? 如何使用自定义Repository接口? 下面我将分别详细介绍每一方面的内容: 什么是Spring Data JPA框架?…

    Java 2023年5月20日
    00
  • Spring Boot2解决idea console 控制台输出乱码的问题

    针对Spring Boot 2解决IDEA控制台输出乱码的问题,我们需要进行以下步骤: 步骤一:在application.properties文件中加入配置项 在Spring Boot2的应用程序中可以在application.properties文件中增加以下配置项: # 配置控制台编码为utf-8 spring.output.ansi.enabled=a…

    Java 2023年5月20日
    00
  • 用Java实现24点游戏

    用Java实现24点游戏攻略 游戏规则 24点游戏是一种比较常见的撕牌游戏,游戏过程如下: 取出4张扑克牌,其中可能包含1-10、J、Q、K四种牌面; 对玩家来说,可以自由任意(+-*/)组合这4张扑克牌,使其结果为24即可; 玩家须进行计算,并在30秒内作出答案,如果时间到了仍没有答案则选手视为失败。 游戏实现思路 为实现24点游戏,我们可以通过Java实…

    Java 2023年5月19日
    00
  • java SpringSecurity使用详解

    Java Spring Security使用详解 什么是Spring Security? Spring Security是Spring框架中一个强大的安全管理框架。它提供了一个全面而灵活的安全管理机制,可以让你轻松地管理应用程序中的身份验证、授权和其他安全相关的一切。 Spring Security 的核心概念 Authentication(认证) Auth…

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