Struts2框架初学接触

yizhihongxing

Struts2框架初学接触攻略

简介

Struts2是一款基于MVC设计模式的Web应用框架,可以帮助开发者快速创建可维护、可扩展的Web应用程序。使用Struts2可以将应用程序的业务逻辑与表示层(视图)分离,使得程序更易于维护和扩展。本文将为初学者介绍如何使用Struts2开发Web应用程序。

步骤

以下是使用Struts2框架开发Web应用程序的步骤:

步骤1:环境搭建

  • 下载Struts2框架,并解压到指定目录。
  • 配置Web服务器(如Tomcat)和访问路径。
  • 在Web应用程序的WEB-INF/lib目录中添加Struts2依赖库。

步骤2:创建Action类

Action类是Struts2框架中处理请求的核心类。在Action类中,可以调用具体的业务逻辑代码,处理完请求后,可以将结果返回给前端页面。

例如,我们创建一个名为LoginAction的Action类,处理用户登录请求。

public class LoginAction {

    private String username;
    private String password;

    public String execute() {
        // 处理登录请求的业务逻辑代码
        if (username.equals("admin") && password.equals("admin")) {
            return "success";
        } else {
            return "error";
        }
    }

    // getter和setter方法
}

步骤3:创建视图文件

视图文件是前端页面,用于展示Action类处理完请求后的结果。视图文件通常使用JSP或Freemarker等模板引擎进行开发。

例如,我们创建一个名为login.jsp的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>
    <%
        if (request.getAttribute("result").equals("success")) {
    %>
            <p>登录成功</p>
    <%
        } else {
    %>
            <form action="login.action" method="post">
                <label for="username">用户名:</label>
                <input type="text" name="username" id="username"><br>
                <label for="password">密码:</label>
                <input type="password" name="password" id="password"><br>
                <input type="submit" value="登录">
            </form>
    <%
        }
    %>
</body>
</html>

步骤4:配置struts.xml文件

struts.xml文件是Struts2框架的核心配置文件,用于指定使用的Action类、视图文件和请求URL的映射关系。

例如,我们在struts.xml文件中添加以下配置:

<struts>
  <package name="default" extends="struts-default">
    <action name="login" class="com.example.LoginAction">
      <result name="success">/success.jsp</result>
      <result name="error">/login.jsp</result>
    </action>
  </package>
</struts>

上述配置中,我们将请求URL为/login的请求映射到LoginAction类,并指定成功和失败时的视图文件。

步骤5:启动应用程序

现在,我们可以启动Web应用程序,并访问URL为/login的页面。在页面中输入正确的用户名和密码,点击登录按钮后,将跳转到成功页面;否则将回到登录页面。

示例

以下是两个简单的示例:

示例1:使用Struts2实现加法计算

首先,我们创建一个名为CalcAction的Action类,处理加法计算请求。

public class CalcAction {

    private int x;
    private int y;
    private int result;

    public String add() {
        // 处理加法计算请求的业务逻辑代码
        result = x + y;
        return "success";
    }

    // getter和setter方法
}

然后,我们创建一个名为calc.jsp的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>
    <%
        if (request.getAttribute("result") != null) {
    %>
            <p>计算结果为:<%= request.getAttribute("result") %></p>
    <%
        }
    %>
    <form action="calc.action" method="post">
        <label for="x">加数1:</label>
        <input type="text" name="x" id="x"><br>
        <label for="y">加数2:</label>
        <input type="text" name="y" id="y"><br>
        <input type="submit" value="计算">
    </form>
</body>
</html>

最后,在struts.xml文件中添加以下配置:

<struts>
  <package name="default" extends="struts-default">
    <action name="calc" class="com.example.CalcAction" method="add">
      <result name="success">/calc.jsp</result>
    </action>
  </package>
</struts>

我们可以启动Web应用程序,并访问URL为/calc的页面进行加法计算。

示例2:使用Struts2实现文件上传

首先,我们创建一个名为FileAction的Action类,处理文件上传请求。

public class FileAction {

    private File file;
    private String fileContentType;
    private String fileFileName;

    public String upload() {
        // 处理文件上传请求的业务逻辑代码
        return "success";
    }

    // getter和setter方法
}

然后,我们创建一个名为file.jsp的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>
    <%
        if (request.getAttribute("result") != null) {
    %>
            <p>上传成功</p>
    <%
        }
    %>
    <form action="file.action" method="post" enctype="multipart/form-data">
        <label for="file">请选择要上传的文件:</label>
        <input type="file" name="file" id="file"><br>
        <input type="submit" value="上传">
    </form>
</body>
</html>

最后,在struts.xml文件中添加以下配置:

<struts>
  <package name="default" extends="struts-default">
    <action name="file" class="com.example.FileAction" method="upload">
      <result name="success">/file.jsp</result>
    </action>
  </package>
</struts>

我们可以启动Web应用程序,并访问URL为/file的页面进行文件上传。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Struts2框架初学接触 - Python技术站

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

相关文章

  • IDEA Maven 配置备忘笔记

    以下是使用 IntelliJ IDEA 配置 Maven 的完整攻略: 1. 下载安装 Maven Maven 是一个 Java 项目构建工具,它可以管理依赖,编译、打包、发布项目等。在安装 Maven 前,需要确认 Java 已经安装并配置好环境变量 PATH。 下载 Maven Maven 官网下载地址:https://maven.apache.org/…

    Java 2023年5月19日
    00
  • rsa加密算法使用示例分享

    RSA加密算法是一种非对称加密算法,它在加密时使用了公钥(public key)和私钥(private key)两把不同的钥匙。公钥可以随意分发,而私钥只有持有者自己知道。本文将为大家详细讲解RSA加密算法的使用示例。 一、生成密钥对 在使用RSA加密算法之前,需要先生成公钥和私钥这两把钥匙。可以通过OpenSSL工具生成: # 生成2048位的RSA密钥对…

    Java 2023年5月19日
    00
  • CAS操作的作用是什么?

    CAS (Compare-and-Swap) 操作是计算机系统中的一种并发原语,可以用来实现多线程同步,防止多线程同时修改同一个共享变量而导致数据不一致的问题。 CAS 操作主要使用于多线程环境下对共享变量的原子操作,可以保证多线程并发读写时的安全性。 该操作一般由三个参数组成:共享内存变量 V、预期值 A 和新值 B。操作的目的是:如果当前 V 的值等于 …

    Java 2023年5月10日
    00
  • 一文搞清楚Spring事务

    那么下面我会详细介绍一下 “一文搞清楚Spring事务” 的完整攻略,包括什么是Spring事务、Spring事务的隔离级别、Spring事务的传播行为、Spring事务的回滚策略等内容。 什么是Spring事务? Spring支持声明式和编程式两种事务处理方式。在Spring中,我们可以使用@Transactional注解将某个方法标记为需要事务的方法。使…

    Java 2023年5月20日
    00
  • JavaWeb 中 Filter过滤器

    Filter过滤器 每博一文案 师傅说:人生无坦途,累是必须的背负,看多了,人情人暖,走遍了离合聚散,有时会 在心里对自己说,我想,我是真的累了,小时候有读不完的书,长大后有赚不尽的力。 白天在外要奋斗打拼,把心事都藏起来,笑脸相迎,做一个合格的员工,晚上回家要照顾家人。 把家务都打理的井井有条,做一个称职的伴侣,习惯了所有事情,自己扛,习惯了所有委屈自己消…

    Java 2023年5月9日
    00
  • Java中Thread类详解及常用的方法

    Java中Thread类详解及常用的方法 在Java中,Thread类是用来实现多线程编程的核心类。每个Java应用程序都至少有一个线程,这个线程是由JVM(Java 虚拟机)创建的,并且负责程序的主方法的执行。不仅如此,除了主线程,Java应用程序可以有其他线程,这些线程可以是由主线程或其他线程创建的,Java 中的 Thread 类就是用于实现这些线程的…

    Java 2023年5月18日
    00
  • 通过JDBC连接oracle数据库的十大技巧

    十大技巧: 1. 使用最新版本的JDBC驱动程序 使用最新版本的JDBC驱动程序可以确保你使用最新版本的特性和改进。此外,最新版本的驱动程序还解决了以前版本中的一些问题。 2. 使用Oracle JDBC驱动程序的Thin模式 Oracle JDBC驱动程序有两种模式:Thin模式和OCI模式。Thin模式是一种纯Java的驱动程序,不需要Oracle客户端…

    Java 2023年5月20日
    00
  • Java实现中国象棋游戏

    Java实现中国象棋游戏攻略 1. 概述 本攻略主要介绍如何使用Java语言实现中国象棋游戏。将分为以下几个部分: 实现界面和交互 实现棋局数据和规则 实现人机交互功能 2. 实现界面和交互 实现游戏界面和交互模块可以使用Swing/AWT的图形界面库,实现如下功能: 显示当前棋局 实现棋子移动交互 实现游戏结束时弹出对话框 下面是一个简单的Swing界面实…

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