Struts2框架初学接触

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日

相关文章

  • java使用分隔符连接数组中每个元素的实例

    下面我将为你详细讲解Java中使用分隔符连接数组中每个元素的实例,主要包括以下内容: String中的join方法 StringBuilder/StringBuffer 1. String中的join方法 String中的join方法可以方便地将一个数组或集合中的元素以指定的分隔符连接起来。它的语法为: public static String join(C…

    Java 2023年5月26日
    00
  • SpringBoot实现其他普通类调用Spring管理的Service,dao等bean

    实现其他普通类调用Spring管理的Service、DAO等Bean,可以使用Spring提供的上下文(ApplicationContext)对象,通过该对象获取Bean实例,从而实现Bean的调用。其中,SpringBoot在启动时会自动装载ApplicationContext对象,因此我们只需要获取ApplicationContext即可使用这个功能。 …

    Java 2023年6月15日
    00
  • SpringBoot中使用redis做分布式锁的方法

    SpringBoot是一个基于Spring框架的快速开发脚手架,提供了很多方便的开箱即用的特性,其中通过使用redis做分布式锁来解决并发问题也是常用的一种方式。下面是详细讲解“SpringBoot中使用redis做分布式锁的方法”的完整攻略。 一、使用redis实现分布式锁的原理 分布式锁是指在分布式的环境下,多个进程、线程协同合作访问共享资源的过程中,使…

    Java 2023年5月20日
    00
  • maven install报错中程序包xxx不存在的问题解决

    这里是“maven install报错中程序包xxx不存在的问题解决”的完整攻略。 问题描述 在使用Maven构建项目时,有时候会遇到类似如下错误信息: [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile (default-co…

    Java 2023年5月19日
    00
  • SpringBoot整合Shiro两种方式(总结)

    Spring Boot整合Shiro两种方式(总结) Shiro是一个流行的Java安全框架,可以提供身份验证、授权、加密等功能。Spring Boot可以很方便地与Shiro集成,本文将介绍两种Spring Boot整合Shiro的方式,并提供两个示例,演示如何使用Spring Boot整合Shiro。 1. 方式一:使用Shiro-Spring Boot…

    Java 2023年5月14日
    00
  • Java如何实现判断并输出文件大小

    下面我将详细讲解 Java 如何实现判断并输出文件大小的完整攻略: 1. 获取文件大小方法 Java 中可以使用 File 类的 length() 方法来获取文件的大小,该方法返回文件的长度,以字节为单位。代码示例如下: import java.io.File; public class FileSizeDemo { public static void m…

    Java 2023年5月20日
    00
  • 利用Spring IOC技术实现用户登录验证机制

    利用Spring IOC技术实现用户登录验证机制需要遵循以下步骤: 定义用户模型类,并编写登录方法 定义一个用户模型类,包含用户名和密码属性 编写登录方法,根据用户输入的用户名和密码与数据库中保存的用户信息进行比对 示例代码: public class User { private String username; private String passwo…

    Java 2023年6月15日
    00
  • Spring五大类注解读取存储Bean对象的方法

    下面是详细的讲解“Spring五大类注解读取存储Bean对象的方法”的完整攻略。 一、概述 Spring 是一种非常受欢迎的 Java 开发框架,它提供了一套非常完整的依赖注入机制,使得开发者可以轻松地使用 Spring 来管理 Bean 对象。而 Spring 的 Bean 对象的创建方式就有五大类注解方式,它们分别是:@Component、@Reposi…

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