Struts2开发环境搭建 附简单登录功能实例

Struts2开发环境搭建 附简单登录功能实例

开发环境要求

首先,我们需要准备好以下开发环境:
- Java JDK 1.7或者更高版本
- Apache Tomcat 7或者更高版本
- Eclipse IDE 或者其他Java集成开发环境

下载安装Tomcat

下载Tomcat

在Apache Tomcat的官网上,我们可以选择合适的版本进行下载和安装。一般来说,我们会选择最新版本的Tomcat,点击下载链接即可。

安装Tomcat

下载完毕后,我们将Tomcat文件解压缩到一个文件夹中。接着,我们进入Apache Tomcat的bin目录中,执行startup.bat或者startup.sh命令,启动Tomcat服务器。如果一切顺利,我们应该能在浏览器中访问http://localhost:8080,看到Tomcat的欢迎页面。

Eclipse中配置Tomcat支持

安装Eclipse

首先,我们需要在Eclipse官网上下载Eclipse IDE for Java EE Developers。下载完成后,我们可以通过双击压缩包中的eclipse.exe(windows系统)或者eclipse文件(Linux或macOS系统)启动Eclipse。

安装Tomcat Server插件

为了在Eclipse中能够方便地管理Tomcat服务器,我们需要安装Tomcat Server插件。

在Eclipse打开Help > Eclipse Marketplace,在搜索框中输入“Tomcat”,点击Go后,我们会看到一系列的Tomcat插件。我们选择最受欢迎的一个,如 Tomcat Plugin for Eclipse ,点击Install安装。

注意,安装过程中可能需要选择所需的Eclipse版本和路径。

在Eclipse中配置Tomcat服务器

安装完Tomcat插件后,我们需要在Eclipse中配置Tomcat服务器。

打开Eclipse,依次选择Window > Preferences > Server > Runtime Environments,在“Add”中选择合适的Tomcat版本,如Tomcat 8,然后点击Next。接着,我们在“Tomcat installation directory”中选择Tomcat的安装路径,然后点击Finish完成Tomcat的配置。

现在,我们已经成功地在Eclipse中配置了Tomcat服务器支持。接下来,我们可以创建一个Web应用程序并将其部署到Tomcat服务器中。

创建Struts2 Web应用程序

创建Web应用程序

在Eclipse中创建一个新的Web项目,依次选择File > New > Other > Web > Dynamic Web Project,在对话框中输入项目名称,如“Struts2Demo”,然后关闭对话框。

接着,我们需要在新建的项目中添加Struts2支持。依次选择File > New > Other > Web > Struts2 > Struts2 Project > Next,在对话框中将Struts2版本设置为最新版本,输入包名(通常为com)和命名空间。选择Finish,等待项目创建完成。

添加Struts2库和配置文件

在刚创建的Struts2项目中,我们需要添加Struts2库和配置文件。具体来说,我们需要将struts2-core.jar和struts2-convention-plugin.jar添加到项目的classpath中,并将struts.xml的配置文件复制到项目的src/main/resources目录。

在Eclipse中,我们可以依次选择Project Properties > Java Build Path > Libraries > Add JARs...,然后添加struts2-core.jar和struts2-convention-plugin.jar这两个jar包。接下来,我们需要在src/main/resources目录中创建一个名为struts.xml的文件,并复制以下内容:

<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN" "http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
    <constant name="struts.devMode" value="true" />

    <package name="default" namespace="/" extends="struts-default">

        <action name="login" class="com.struts2.example.action.LoginAction">
            <result name="success">/pages/index.jsp</result>
            <result name="login">/pages/login.jsp</result>
        </action>
        <action name="logout" class="com.struts2.example.action.LoginAction" method="logout">
            <result name="success">/pages/login.jsp</result>
        </action>

    </package>
</struts>

其中,上面的配置中定义了两个action,一个是用户登录(login),一个是用户登出(logout)。类名为com.struts2.example.action.LoginAction,分别映射到/pages/index.jsp/pages/login.jsp页面。

创建登录功能示例

创建JSP文件

现在,我们来创建一个JSP页面,用于显示登录表单。在Web项目的WebContent目录下,创建一个名为“pages”的子文件夹,并创建一个名为“login.jsp”的文件。

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>登录页面</title>
</head>
<body>
    <form action="login.action" method="post">
        <p>用户名:<input type="text" name="username"/></p>
        <p>密码:<input type="password" name="password"/></p>
        <p><input type="submit" value="登录"/></p>
    </form>
</body>
</html>

这个JSP页面只是简单地包含了一个表单,提交到“login.action”这个Struts2的Action,将用户名和密码传递过去。

创建Action类

现在,我们需要在项目中创建对应的Action类,用于处理用户的输入并返回结果。在刚才创建的Struts2项目的src/main/java目录下,创建一个名为“com/struts2/example/action”的新包,然后在这个包下创建一个名为“LoginAction.java”的类。该类可以继承Struts2提供的ActionSupport类。

package com.struts2.example.action;

import com.opensymphony.xwork2.ActionSupport;

public class LoginAction extends ActionSupport {

    private String username;
    private String password;

    public String execute() {
        if ("admin".equals(username) && "admin123".equals(password)) {
            return SUCCESS;
        } else {
            return LOGIN;
        }
    }

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

    public String getUsername() {
        return username;
    }

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

    public String getPassword() {
        return password;
    }

    public String logout() {
        return SUCCESS;
    }
}

上面的这个Action主要实现了一个用户登录和登出功能。登录功能通过判断用户名和密码是否正确,正确则返回SUCCESS字符串,否则返回一个LOGIN字符串,让Struts2框架知道需要跳转到哪个页面。注销功能通过返回SUCCESS字符串实现。

配置struts.xml文件

现在,我们还需要在刚才复制到项目中的struts.xml文件中添加该Action的配置。如下:

<action name="login" class="com.struts2.example.action.LoginAction" method="execute">
    <result name="success">/pages/index.jsp</result>
    <result name="login">/pages/login.jsp</result>
</action>
<action name="logout" class="com.struts2.example.action.LoginAction" method="logout">
    <result name="success">/pages/login.jsp</result>
</action>

注意,我们需要在action中根据method属性指定调用哪个方法,“login”是调用execute()方法,而"logout"是调用logout()方法。

在Tomcat上部署和测试Web应用程序

部署Web应用程序

为了在Tomcat中部署Web应用程序,我们需要在Eclipse中创建一个Web Deployment Assembly。

依次选择项目的Properties > Deployment Assembly > Add... > Java Build Path Entries,选择WebContent/WEB-INF/lib,确定。 勾选WebContent目录,将该目录下的内容打包,选择“Next”,在Target 路径前面勾选“Package”,然后选择“Finish”,生成一个.war包,如“Struts2Demo.war”。

接着,我们需要将.war包复制到Tomcat的webapps目录下。启动Tomcat服务器,如果Tomcat没有自动解压缩.war包,我们可以手动解压缩该包,然后再次启动Tomcat服务器。

测试Web应用程序

在浏览器中访问http://localhost:8080/Struts2Demo/pages/login.jsp,即可看到登录页面。在表单中输入用户名和密码,点击“登录”按钮,程序会根据用户名和密码的正确性,跳转到相应的页面。

除了上面的登录示例,我们还可以在Struts2中创建其他类型的Web应用。需要注意的是,不同类型的Web应用程序可能需要使用不同的Struts2插件和配置文件。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Struts2开发环境搭建 附简单登录功能实例 - Python技术站

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

相关文章

  • java数据库唯一id生成工具类

    Java数据库唯一ID生成工具类是用于在关系型数据库中生成唯一ID的工具类。在开发中,经常需要使用唯一ID作为数据库表的主键,而使用数据库自增长的整数或GUID字符串作为主键,会存在一些问题,如分布式环境下高并发的ID生成、算法不唯一等问题。因此,使用Java数据库唯一ID生成工具类,可以解决这些问题。 下面给出一个完整的攻略,介绍如何使用Java数据库唯一…

    Java 2023年5月20日
    00
  • Java计时器工具StopWatch的具体使用

    首先需要了解的是,Java计时器工具StopWatch是一个简洁、轻量级的工具,它可以用来统计代码块、方法或程序的执行时间。下面我将详细讲解它的具体使用过程: 引入StopWatch 使用StopWatch的第一步是需要引入它所在的包,具体代码如下: import org.apache.commons.lang3.time.StopWatch; 其中,org…

    Java 2023年5月20日
    00
  • 微信小程序向Java后台传输参数的方法实现

    如何实现微信小程序与Java后台之间的参数传递是一个较为重要且常见的问题。下面是一份完整的攻略,它包含了从前端到后端的全部知识点和示例。 前端实现 在微信小程序中传递参数的方法,与普通Web开发的方法类似。我们这里着重讲述以下两种方法: 参数以GET方式拼接在URL后传递 这是一种最常用的传参方法,它比较直观,易于理解和操作。GET方式传参的地址是一个完整的…

    Java 2023年5月23日
    00
  • Java对称加密算法DES实例详解

    Java对称加密算法DES实例详解 什么是对称加密算法 对称加密算法:使用相同的密钥进行加密和解密。对称加密算法的加密速度快,但密钥的管理和分配比较困难。 什么是DES加密算法 DES(Data Encryption Standard)是一种数据加密的标准,它是一种对称加密算法,使用密钥对数据进行加密和解密。DES算法已广泛应用于各种安全领域,如金融、电子政…

    Java 2023年5月19日
    00
  • 详解WebSocket+spring示例demo(已使用sockJs库)

    详解WebSocket+Spring示例Demo(已使用SockJS库) WebSocket是一种在Web浏览器和服务器之间进行全双工通信的协议。Spring框架提供了对WebSocket的支持,使得我们可以轻松地在Spring应用程序中实现WebSocket通信。本文将详细讲解如何使用Spring框架实现WebSocket通信,并提供两个示例说明。 1. …

    Java 2023年5月18日
    00
  • indexedDB bootstrap angularjs之 MVC DOMO (应用示例)

    “indexedDB bootstrap angularjs之 MVC DOMO (应用示例)”指的是使用indexedDB、bootstrap和angularjs构建MVC模式的web应用程序的示例。以下是详细的攻略: 1. 环境准备 安装Node.js和npm; 安装bower:npm install -g bower; 创建一个新的文件夹,并通过终端进…

    Java 2023年6月15日
    00
  • 详解SpringBoot 处理异常的几种常见姿势

    详解SpringBoot处理异常的几种常见姿势 在SpringBoot开发中,异常处理是一个非常重要的环节。合理的异常处理能够提高系统的稳定性和可维护性。本文将介绍几种常见的SpringBoot处理异常的姿势。 1. @ControllerAdvice和@ExceptionHandler @ControllerAdvice是Spring4.0引入的一个注解,…

    Java 2023年5月15日
    00
  • 如何让java只根据数据库表名自动生成实体类

    让我来讲解一下如何让Java只根据数据库表名自动生成实体类的完整攻略。 1. 创建Maven工程 首先,我们需要创建一个Maven工程,用于管理我们的项目依赖和构建。 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.or…

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