struts1登录示例代码_动力节点Java学院整理

Struts1登录示例代码攻略

简介

Struts1 是一个 Web 应用程序的 MVC 框架,通过使用 Struts1 框架,可以更加方便地管理 Web 应用程序中的各个模块,提高代码的重用性和可维护性。本文将介绍使用 Struts1 实现登录功能的示例代码。

实现步骤

本示例的实现步骤如下:

  1. 创建登录页面 login.jsp
  2. 创建 Struts1 配置文件 struts-config.xml
  3. 创建 Action 类 LoginAction.java
  4. 创建 ActionForm 类 LoginForm.java
  5. 创建数据访问对象 Dao.java
  6. 编写登录页面和 Action 类中的代码逻辑

下面将详细介绍每一步的实现方法。

1. 创建登录页面 login.jsp

在 WEB-INF 目录下创建 login.jsp 文件,编写如下代码:

<html>
<head>
    <title>登录</title>
</head>
<body>
    <form action="login.do" method="post">
        用户名:<input type="text" name="username"><br>
        密码:<input type="password" name="password"><br>
        <input type="submit" value="登录">
    </form>
</body>
</html>

2. 创建 Struts1 配置文件 struts-config.xml

在 WEB-INF 目录下创建 struts-config.xml 文件,编写如下代码:

<struts-config>
    <form-beans>
        <form-bean name="loginForm" type="com.example.LoginForm"/>
    </form-beans>
    <action-mappings>
        <action path="/login" type="com.example.LoginAction" name="loginForm">
            <forward name="success" path="/welcome.jsp"/>
            <forward name="fail" path="/login.jsp"/>
        </action>
    </action-mappings>
</struts-config>

3. 创建 Action 类 LoginAction.java

在 com.example 包下创建 LoginAction.java 文件,编写如下代码:

package com.example;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

public class LoginAction extends Action {
    public ActionForward execute(ActionMapping mapping, ActionForm form,
        HttpServletRequest request, HttpServletResponse response)
        throws Exception {
        LoginForm loginForm = (LoginForm) form;
        Dao dao = new Dao();
        if (dao.checkUser(loginForm.getUsername(), loginForm.getPassword())) {
            return mapping.findForward("success");
        } else {
            return mapping.findForward("fail");
        }
    }
}

4. 创建 ActionForm 类 LoginForm.java

在 com.example 包下创建 LoginForm.java 文件,编写如下代码:

package com.example;

import org.apache.struts.action.ActionForm;

public class LoginForm extends ActionForm {
    private String username;
    private String password;

    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;
    }
}

5. 创建数据访问对象 Dao.java

在 com.example 包下创建 Dao.java 文件,编写如下代码:

package com.example;

public class Dao {
    public boolean checkUser(String username, String password) {
        // 查询数据库,判断用户名和密码是否正确
        return true;
    }
}

6. 编写登录页面和 Action 类中的代码逻辑

登录页面 login.jsp 中提供了一个表单,用户输入用户名和密码,点击登录按钮后,表单的提交地址为 "login.do"。

Struts1 配置文件 struts-config.xml 中定义了一个 form bean 和一个 action,action 的 type 属性指向 LoginAction 类,name 属性指向 LoginForm 类,即将表单数据封装为 LoginForm 对象传入 LoginAction 中。

LoginAction 类中的 execute 方法中,获取 LoginForm 对象的用户名和密码,调用 Dao 对象的 checkUser 方法进行登录验证,如果验证通过则返回 "success",否则返回 "fail"。

以上就是使用 Struts1 实现登录功能的示例代码。下面给出两条示例:

示例一

用户输入的用户名和密码在数据库中不存在,登录失败,页面跳转回登录界面。

示例二

用户输入的用户名和密码在数据库中存在,登录成功,页面跳转到欢迎页面 welcome.jsp。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:struts1登录示例代码_动力节点Java学院整理 - Python技术站

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

相关文章

  • Java实现基于JDBC操作mysql数据库的方法

    下面我将详细讲解Java实现基于JDBC操作mysql数据库的方法的完整攻略,包括如何连接数据库、执行SQL语句、关闭资源等步骤。 1. 引入JDBC的依赖 在Java程序中使用JDBC操作mysql数据库,需要引入mysql-connector-java的依赖。可以在Maven中添加如下依赖: <dependency> <groupId&…

    Java 2023年5月19日
    00
  • log4j的使用详细解析

    Log4j的使用详细解析 Log4j是一个Java日志框架,用于记录应用程序的日志。它的灵活性和易用性使其成为Java应用程序中最流行的日志框架之一。 Log4j的特点 Log4j主要有以下特点: 灵活性:Log4j有各种各样的日志记录选项,以便于根据不同的应用程序需要进行定制。你可以以多种方式指定日志记录的内容、输出目的地和格式等。 性能:Log4j被设计…

    Java 2023年5月26日
    00
  • Java对象传递与返回的细节问题详析

    关于Java对象的传递和返回,我们需要注意以下细节问题。 Java对象传递的细节问题 在Java中,我们可以将对象作为参数传递给方法,这种传递方式是引用传递。即方法得到的是对象的地址,我们通过地址来操作这个对象。在这个过程中,如果对象被修改了,那么原对象也会相应的被修改。 示例一: public class Student { String name; in…

    Java 2023年5月25日
    00
  • 什么是Java锁?

    什么是Java锁? Java锁是一种同步机制,可以用于协调并发访问共享资源。Java中的锁可以分为两类: 互斥锁(Mutex Lock):一次只能有一个线程持有锁,其他线程必须等待当前线程释放锁之后才能获得锁。 共享锁(Read-Write Lock):多个线程可以同时持有共享锁,但是不能同时持有独占锁。 Java中提供了多种锁的实现,例如 synchron…

    Java 2023年5月11日
    00
  • Java中常用修饰符的使用方法汇总

    Java中常用修饰符的使用方法汇总 在Java中,修饰符是一种关键字,用于修饰类、变量、方法等结构的访问权限、范围等特征。本文将会详细讲解Java中常用修饰符的使用方法,帮助读者更好地理解和掌握Java编程。 访问修饰符 Java中访问修饰符包括public、protected、default和private四种,它们分别控制着变量、方法和类的访问权限。下面…

    Java 2023年5月26日
    00
  • java正则实现各种日期格式化

    下面详细讲解“Java正则实现各种日期格式化”的完整攻略。 什么是日期格式化? 日期格式化是指将日期转换为特定的字符串格式。在Java编程中,我们经常需要使用日期格式化来将日期按照我们的要求进行显示。 Java日期格式化 在Java中,日期格式化可以使用SimpleDateFormat类。SimpleDateFormat类可以支持许多不同的日期格式,比如年月…

    Java 2023年5月20日
    00
  • 常见的Java反射应用场景有哪些?

    常见的Java反射应用场景主要包括以下几个方面: 动态代理 取得类的方法、属性等信息 调用私有方法,破解封装性 注解解析 以下是两个具体的示例: 动态代理 动态代理是Java反射的一大应用,主要用于在运行时动态地创建一个代理类。这个代理类实现了一组给定接口,它的方法调用会被转发到一个调用处理器上。在代理对象的实现中,我们可以在方法执行前后加入任意的操作,比如…

    Java 2023年5月11日
    00
  • java生成指定范围的随机日期

    本题需要先明确一下要求,即生成指定范围的随机日期。针对这个问题,我们可以采用以下方法: 1. 生成随机年份 可以利用Java中的Random类生成指定范围内的随机年份,例如需要生成2010年至2020年之间的随机年份,可以使用下列代码实现: Random random = new Random(); int year = random.nextInt(11)…

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