struts1实现简单的登录功能实例(附源码)

yizhihongxing

接下来我将详细讲解如何使用 Struts1 框架实现简单的登录功能,由于过程比较长,我将分为以下几个步骤:

  1. 准备工作
  2. 创建登录页面
  3. 编写 Action 类
  4. 配置 Struts 配置文件
  5. 运行程序,测试登录功能

1. 准备工作

首先需要准备好开发环境,本文以 Eclipse IDE 和 Tomcat 服务器作为例子。而 Struts1 的 jar 包需要我们手动下载添加到项目中,可以通过访问官网 http://struts.apache.org/ 下载更高版本的 jar 包,但我们这里以 Struts1.3.8 版本为例。

下载完成后,解压包,把需要的两个 jar 包放到 WEB-INF/lib 目录中:

  • struts-core-1.3.8.jar
  • commons-fileupload-1.2.1.jar

2. 创建登录页面

在我们项目的 WebRoot 目录下创建 login.jsp 页面,代码如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<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>

3. 编写 Action 类

在我们项目的 src 目录下创建包 myapp.action,然后创建 LoginAction 类,代码如下:

package myapp.action;

import com.opensymphony.xwork2.ActionSupport;

public class LoginAction extends ActionSupport {

    private String username;
    private String password;

    // 定义 execute 方法会自动调用
    public String execute() throws Exception {
        if ("admin".equals(username) && "password".equals(password)) {
            return SUCCESS;
        }
        return ERROR;
    }

    // 定义 login 方法
    public String login() throws Exception {
        return "success";
    }

    // getter 和 setter 方法
    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;
    }
}

4. 配置 Struts 配置文件

在我们项目的 WEB-INF 目录下创建 struts-config.xml 文件,代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC 
        "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
        "http://struts.apache.org/dtds/struts-config_1_3.dtd">
<struts-config>
    <form-beans>
        <form-bean name="loginForm" type="org.apache.struts.action.DynaActionForm">
            <form-property name="username" type="java.lang.String" />
            <form-property name="password" type="java.lang.String" />
        </form-bean>
    </form-beans>
    <action-mappings>
        <action path="/login" type="myapp.action.LoginAction" name="loginForm"
        scope="request" validate="true" 
        input="/login.jsp" parameter="method">
            <forward name="success" path="/common/welcome.jsp"/>
            <forward name="error" path="/login.jsp"/>
        </action>
    </action-mappings>
</struts-config>

5. 运行程序,测试登录功能

最后在我们的 Tomcat 服务器上运行程序,在浏览器中输入 http://localhost:8080/项目名/login.jsp,会出现登录页面,输入正确的用户名和密码,点击登录按钮,会跳转到欢迎页面,反之,如果输入错误的用户名和密码会跳转回到登录页面。成功的页面在项目的 WebRoot 目录下创建/common/welcome.jsp,代码如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>欢迎页面</title>
</head>
<body>
    <h3>欢迎你,<%= request.getParameter("username")%></h3>
    <br>
    <a href="login.jsp">退出登录</a>
</body>
</html>

至此,我们已经完成 Struts1 实现简单的登录功能实例,如果你还有其他疑问或需要更详细的讲解,可以参考 Struts1 官网文档或者在评论区留言。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:struts1实现简单的登录功能实例(附源码) - Python技术站

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

相关文章

  • Servlet关于RequestDispatcher的原理详解

    《Servlet关于RequestDispatcher的原理详解》 什么是RequestDispatcher? RequestDispatcher是Servlet规范中的一种技术,用于在一个Web应用程序内部将请求转发到另一个Servlet或JSP页面,是一种实现Servlet之间跳转和调用的方法。 RequestDispatcher的工作原理 Reques…

    Java 2023年6月15日
    00
  • Spring相关知识点的总结与梳理

    针对“spring相关知识点的总结与梳理”,我将给出相应的攻略,包括以下方面: spring framework基础知识概述 spring framework常用模块介绍 spring boot应用开发流程 spring cloud微服务架构配置 案例说明 1. Spring framework基础知识概述 Spring framework是一个轻量级、开源…

    Java 2023年5月31日
    00
  • SpringBoot原生组件注入实现两种方式介绍

    Spring Boot是一个快速开发框架,它提供了很多便捷的功能,其中之一就是组件注入。在Spring Boot中,我们可以使用两种方式来实现组件注入,分别是构造函数注入和属性注入。本文将详细讲解这两种方式的实现方法,包括以下内容: 构造函数注入的实现方法 属性注入的实现方法 示例一:使用构造函数注入 示例二:使用属性注入 1. 构造函数注入的实现方法 构造…

    Java 2023年5月15日
    00
  • Redis Plus 来了,性能炸裂!

    来源:https://developer.aliyun.com/article/705239 1 什么是KeyDB? KeyDB是Redis的高性能分支,专注于多线程,内存效率和高吞吐量。除了多线程之外,KeyDB还具有仅在Redis Enterprise中可用的功能,例如Active Replication,FLASH存储支持以及一些根本不可用的功能,例如…

    Java 2023年4月25日
    00
  • maven导入本地仓库jar包,报:Could not find artifact的解决

    首先,出现”Could not find artifact”错误提示通常是因为Maven从中央仓库找不到对应的依赖。 要解决此问题,我们可以将需要依赖的jar包手动下载到本地,并将其安装到Maven本地仓库中。 以下是完整攻略: 第一步:下载需要的jar包 在官方网站或者其他可信赖的网站上下载需要的jar包 如果网站提供了md5或sha1值,请进行验证以确保…

    Java 2023年6月2日
    00
  • java的io操作(将字符串写入到txt文件中)

    下面我将详细讲解“Java的IO操作(将字符串写入到txt文件中)”的完整攻略。 IO操作简介 在Java中,IO(Input/Output)操作是非常重要的一个主题。对于Java开发者来说,IO操作是必不可少的。在Java中,提供了java.io包和java.nio包分别供我们进行IO操作。 其中,java.io包位于Java1.0版本中,提供了非常丰富的…

    Java 2023年5月19日
    00
  • jsp 中HttpClient中的POST方法实例详解

    下面我将详细讲解“jsp 中HttpClient中的POST方法实例详解”的攻略。 1.介绍 首先,我们需要了解 HttpClient 的作用。HttpClient 是 Apache 的开源 HTTP 客户端,可用于与 HTTP 服务器通信。它支持 HTTP 协议、HTTPS 协议、FTP 协议等。 本文主要介绍 HttpClient 中的 POST 方法,…

    Java 2023年6月15日
    00
  • 在Action中以Struts2的方式输出JSON数据的实例

    下面是“在Action中以Struts2的方式输出JSON数据的实例”完整攻略,过程中包含两条示例: 1. 添加Struts2-json-plugin插件 在使用Struts2输出JSON格式数据之前,我们需要先添加Struts2-json-plugin插件,该插件可以将Java对象转换为JSON格式数据并输出到浏览器。在pom.xml文件中添加以下代码即可…

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