实例详解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日

相关文章

  • Java+Nginx实现POP、IMAP、SMTP邮箱代理服务

    Java+Nginx实现POP、IMAP、SMTP邮箱代理服务攻略 一、背景介绍 在实际开发中,我们有时需要一个邮箱服务来测试或者模拟实现。为此,我们需要搭建一个邮箱代理服务来代替真实的邮箱服务器。本文将介绍如何使用Java和Nginx来搭建一个完整的邮箱代理服务。 二、实现方法 1. 构建Java服务器 Java可以作为一个服务器来接收和处理客户端发送的数…

    Java 2023年5月20日
    00
  • Java8中的LocalDateTime你会使用了吗

    当我们需要对日期和时间进行操作时,通常使用Java的Date或Calendar对象。但是Java 8 引入了新的时间API,其中包括LocalDateTime类,可以更方便地处理日期和时间。 LocalDateTime的基本用法 LocalDateTime类是Java 8中的一个重要类,它表示日期和时间,具有年、月、日、小时、分钟、秒和毫秒等属性。与Date…

    Java 2023年5月26日
    00
  • 修改request的parameter的几种方式总结

    让我来为你详细讲解一下“修改request的parameter的几种方式总结”的攻略。 1. 使用@RequestParam注解 @RequestParam 是 Spring MVC 中用于绑定请求参数的注解之一,可以将请求中特定名称的参数绑定到控制器处理方法的参数上。它可以将请求参数转换为指定的 Java 类型,如String、Integer、Boolea…

    Java 2023年5月20日
    00
  • Spring菜鸟教你看源码冲面试

    Spring菜鸟教你看源码冲面试的完整攻略 1.1 学会使用IDEA导入Spring源码 – 首先下载Spring源码,可以在官网或者GitHub上找到,解压缩后可以得到整个项目的源代码。 – 打开IDEA,选择“File” -> “Open” -> “下载好的Spring源码” -> “OK”。 – 等待IDEA加载完整个项目,可以在左侧…

    Java 2023年5月19日
    00
  • Java如何调用C++ DLL库

    Java与C++是不同语言,Java的运行环境JVM不能直接调用C++库。但是Java有一个机制可以通过Java Native Interfaces (JNI)来调用C++的动态链接库(DLL)文件。 下面是详细的步骤: 编写C++代码 首先,需要编写C++代码实现相应的函数。为了保证函数可以被调用,需要在函数前面加上__declspec(dllexport…

    Java 2023年5月24日
    00
  • java实现秒表功能

    下面是Java实现秒表功能的完整攻略: 确定界面布局 首先,要确定秒表界面的布局,可以使用Swing包提供的JFrame、JLabel等组件。 一个简单的秒表GUI界面可以包含如下控件: 用于显示秒数的JLabel。 用于开始、停止、清零等操作的JButton。 (可选)用于记录计时时间的列表或文本框。 编写计时器逻辑 初始秒表面板布局完成后,需要编写计时器…

    Java 2023年5月20日
    00
  • java对象和json的来回转换知识点总结

    下面是详细讲解“Java对象和JSON的来回转换知识点总结”的完整攻略。 什么是JSON JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于网络传输数据。它基于JavaScript语法的子集,但是可以被许多其他编程语言解析和生成。JSON格式的数据是一种名值对的集合,其中包含数组和对象。 Java对象和JSON…

    Java 2023年5月26日
    00
  • intellij idea创建第一个动态web项目的步骤方法

    下面是详细讲解“IntelliJ IDEA创建第一个动态Web项目的步骤方法”的完整攻略。 步骤一:安装和配置IntelliJ IDEA 1. 下载IntelliJ IDEA IntelliJ IDEA是一款非常好的Java集成开发环境,你可以在官网下载适合你的版本。选择适合的版本后按照提示完成下载和安装。 2. 安装Java JDK IntelliJ ID…

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