从搭建Struts2 开发环境说起

yizhihongxing

下面我将详细介绍“从搭建Struts2 开发环境说起”的完整攻略。

1. 安装Java环境

在使用 Struts2 开发前,首先需要安装 Java 开发环境。可以到官网下载并安装 JDK,这里我以 JDK 1.8 为例。

  1. 下载JDK 1.8安装包,并安装到你的电脑上。
  2. 配置JAVA_HOME环境变量,将JDK安装路径添加到PATH环境变量中,以便在命令行中可以使用Java和javac等相关命令。假设JDK安装在了C盘根目录下,则配置方式如下:
export JAVA_HOME=C:\Java\jdk1.8.0_281
export PATH=$JAVA_HOME\bin:$PATH

2. 安装开发工具

接下来,需要安装一个 Java 开发工具,这里我们推荐使用 Eclipse,Eclipse 是一款功能强大的开发工具,支持 Struts2 开发。以下是 Eclipse 的安装过程:

  1. 下载 Eclipse 安装包,解压到某个目录下。
  2. 运行 Eclipse,选择一个工作空间,这个工作空间将保存你编写的所有项目。
  3. 安装 Eclipse 的 Web 开发插件(选装),它将帮助开发者进行 Web 项目的开发,如组建 Struts2 项目等。

3. 下载 Struts2 框架

下载 Struts2 开发框架,你可以从 Struts2 官网下载最新版本,也可以在 Maven 项目中引入 struts-core 依赖,这里我们以下载方式为例。

  1. 访问 Struts2 下载页面,下载最新版本的 Struts2。
  2. 将下载的文件解压到某个目录下。

4. 新建 Struts2 项目

在 Eclipse 中新建一个 Struts2 项目:

  1. 打开 Eclipse,选择“File”->“New”->“Other”,打开“New Project” 窗口。
  2. 选择 “Struts2”->“Struts2 Project”。
  3. 输入项目名称,选择 Struts 版本和 JRE 版本,将 Struts2 核心库文件所在的目录指定为当前项目中的 lib 目录,点击 Finish。

现在,你就可以在 Eclipse 中开发和调试 Struts2 项目了。

5. 示例1:Hello World

下面,我们来编写一个简单的 Struts2 应用:Hello World。这个应用程序不需要任何数据库连接,只要能在浏览器中返回 “Hello World!”,就算是成功了。

  1. 创建 helloworld.jsp 文件,存放在 webapp 目录下,内容如下:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
  <title>Hello World</title>
</head>
<body>
  <h2>${message}</h2>
</body>
</html>
  1. 创建 HelloWorld.java 文件,存放在 src 目录下,内容如下:
package com.example;

public class HelloWorld {

  private String message;

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

  public String getMessage() {
    return message;
  }

  public void setMessage(String message) {
    this.message = message;
  }
}
  1. 在 struts.xml 文件中配置 HelloWorld 的 Action,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
    "http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
  <package name="default" extends="struts-default">
    <action name="hello" class="com.example.HelloWorld">
      <result name="success">/helloworld.jsp</result>
    </action>
  </package>
</struts>
  1. 启动你的项目,访问 http://localhost:8080/你的项目名/hello.action,就可以看到浏览器中返回的 “Hello World!” 了。

6. 示例2:登录页面

下面,我将为你介绍一个更为复杂的 Struts2 应用:登录页面。这个应用程序需要一个数据库连接,用于验证用户输入的账号和密码是否正确。在这个示例中,我使用 MySQL 数据库作为示范。

  1. 首先,需要创建一个数据库,并创建一个 users 表,用于存储用户账号密码等信息。SQL 语句如下:
CREATE TABLE users (
    id INT auto_increment PRIMARY KEY,
    username VARCHAR(50) NOT NULL,
    password VARCHAR(50) NOT NULL
);
  1. 创建 login.jsp 文件用于输入账号密码,存放在 webapp 目录下,内容如下:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
  <title>登录页面</title>
</head>
<body>
  <form action="login.do" method="post">
    <table>
      <tr>
        <td>用户名:</td>
        <td><input type="text" name="username"></td>
      </tr>
      <tr>
        <td>密码:</td>
        <td><input type="password" name="password"></td>
      </tr>
      <tr>
        <td colspan="2"><input type="submit" value="登录"></td>
      </tr>
      </table>
  </form>
</body>
</html>
  1. 创建 LoginAction.java,用于处理登录请求和验证用户身份,存放在 src 目录下,内容如下:
package com.example;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class LoginAction {

  private String username;
  private String password;
  private String message;

  public String execute() throws Exception {
    Connection conn = null;
    Statement stmt = null;
    ResultSet rs = null;
    try {
      Class.forName("com.mysql.jdbc.Driver").newInstance();
      conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb", "root", "123456");
      stmt = conn.createStatement();
      rs = stmt.executeQuery("SELECT * FROM users WHERE username='" + username + "' AND password='" + password + "'");
      if (rs.next()) {
        setMessage("登录成功!");
        return "success";
      } else {
        setMessage("用户名或密码错误!");
        return "error";
      }
    } catch (Exception e) {
      e.printStackTrace();
      setMessage(e.getMessage());
      return "error";
    } finally {
      if (rs != null) rs.close();
      if (stmt != null) stmt.close();
      if (conn != null) conn.close();
    }
  }

  public String getUsername() {
    return username;
  }

  public void setUsername(String username) {
    this.username = username;
  }

  public String getPassword() {
    return password;
  }

  public void setPassword(String password) {
    this.password = password;
  }

  public String getMessage() {
    return message;
  }

  public void setMessage(String message) {
    this.message = message;
  }
}
  1. 在 struts.xml 文件中配置 LoginAction 的 Action,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
    "http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
  <package name="default" extends="struts-default">
    <action name="login" class="com.example.LoginAction">
      <result name="success">/success.jsp</result>
      <result name="error">/error.jsp</result>
    </action>
  </package>
</struts>
  1. 创建 success.jsp 文件,用于显示登录成功信息,存放在 webapp 目录下,内容如下:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
  <title>登录成功</title>
</head>
<body>
  <h2>${message}</h2>
</body>
</html>
  1. 创建 error.jsp 文件,用于显示登录失败信息,存放在 webapp 目录下,内容如下:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
  <title>登录失败</title>
</head>
<body>
  <h2>${message}</h2>
  <a href="login.jsp">返回</a>
</body>
</html>
  1. 启动你的项目,访问 http://localhost:8080/你的项目名/login.jsp,输入正确的账号和密码,就可以看到浏览器中返回的 “登录成功!”,否则会返回 “用户名或密码错误!”。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:从搭建Struts2 开发环境说起 - Python技术站

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

相关文章

  • Spring框架生成图片验证码实例

    让我来详细讲解一下“Spring框架生成图片验证码实例”的完整攻略。 1. 环境搭建 首先,我们需要搭建好Spring MVC环境,这里就不做过多的讲解了。如果你还不熟悉Spring MVC的环境搭建,可以先学习一下相关的教程,在此不再赘述。 2. 添加依赖 在我们项目的pom.xml文件中,我们需要添加以下依赖: <!– SpringSecurit…

    Java 2023年6月15日
    00
  • 手写简版kedis分布式key及value服务的实现及配置

    下面是实现“手写简版kedis分布式key及value服务的实现及配置”的完整攻略: 1. 简介 kedis是一个分布式缓存系统,类似于redis和memcached,但使用协议更为简单和高效。本攻略将介绍如何手写一个简版的kedis,实现分布式key及value服务的配置。 2. 实现 2.1. 算法选择 kedis的实现依赖于哈希算法,用于计算key的h…

    Java 2023年5月20日
    00
  • 一起来了解Java的File类和IO流

    一起来了解Java的File类和IO流 File类 Java中的File类是一个用于操作文件和目录的类。使用File类可以实现文件的创建、删除、重命名、遍历等操作。File类的构造函数可以传入一个文件路径字符串或者一个URI,用于表示文件或者目录的路径。下面是一些常用的File类的操作示例: 创建和删除文件 File file = new File(&quo…

    Java 2023年5月19日
    00
  • 详解Java多线程tryLock()方法使用

    详解Java多线程tryLock()方法使用 什么是tryLock()方法 tryLock方法是Java多线程中使用的一种同步锁机制。它尝试获取锁,如果锁可用则获取锁并返回true,如果锁不可用则直接返回false,而不会阻塞等待锁。 tryLock方法的定义为: public boolean tryLock() tryLock方法会试图去获取锁,如果锁已经…

    Java 2023年5月19日
    00
  • SpringBoot Security的自定义异常处理

    我来为您讲解如何在SpringBoot Security中进行自定义异常处理。 1. 异常处理 SpringBoot Security框架中,可以使用@ControllerAdvice和@ExceptionHandler来实现对自定义异常的处理。 1.1 定义自定义异常 首先,我们需要定义一个自定义异常类,例如: (1)自定义异常类MyException.j…

    Java 2023年5月20日
    00
  • Java8新特性:Lambda表达式之方法引用详解

    Java8新特性:Lambda表达式之方法引用详解 Java 8中引入了Lambda表达式,使得Java中的函数式编程变得更加简单。方法引用是Lambda表达式的一种特殊形式,让我们能够重复利用已有方法的实现。 方法引用的概念 方法引用是一个简写形式,它提供了一种方式,让我们可以使用已有方法的规则来编写Lambda表达式。简单来说,方法引用允许你直接引用现有…

    Java 2023年5月26日
    00
  • Java Apache Commons报错“UnhandledException”的原因与解决方法

    “UnhandledException”是Java的ApacheCommons类库中的一个异常,通常由以下原因之一引起: 代码错误:如果代码中存在错误,则可能会出现此异常。例如,可能会使用错误的方法或参数。 系统错误:如果系统中存在错误,则可能会出现此异常。例如,可能会出现内存不足或文件系统错误。 以下是两个实例: 例1 如果代码中存在错误,则可以尝试检查代…

    Java 2023年5月5日
    00
  • 一篇文章带你搞定JAVA泛型

    一篇文章带你搞定JAVA泛型 什么是泛型? Java 泛型(Generics)是 JDK5.0 引入的新特性。将类型作为参数进行传递即为泛型。泛型可以提高程序的安全性和可读性。 泛型的声明与使用 泛型的声明:使用尖括号 <> 定义一个类型参数,然后应用到类、接口或方法的参数、返回值等变量类型的定义当中。 public class MyClass&…

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