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日

相关文章

  • Cookie在Java中的使用

    下面是详细讲解 Cookie 在 Java 中使用的攻略: 一、什么是 Cookie Cookie 是存储在用户计算机上的小型文本文件,用于存储 Web 服务器如何处理用户的操作的信息。它可以帮助网站在用户访问过程中存储一些用户信息,例如用户的用户名、购物车信息、上次登录时间等等。Cookie 可以在服务器和客户端之间交换,以使得用户在多个 Web 页面之间…

    Java 2023年6月15日
    00
  • Spring系列之事物管理

    Spring系列之事物管理攻略 在大型应用程序中,数据库事务管理是至关重要的。Spring框架为我们提供了强大的事务管理功能。本文将介绍Spring事物管理的完整攻略,包括配置和示例。 事物管理的重要性 事务是指一组操作,它们可以被看作是一个单一的工作单元。在应用程序中,有些操作必须一起执行,否则将导致数据丢失或数据不一致的问题。事务可以保证这些操作被视为一…

    Java 2023年5月20日
    00
  • SpringBoot 如何自定义请求参数校验

    根据您的需求,我会详细讲解 SpringBoot 如何自定义请求参数校验的完整攻略。 1. 简介 SpringBoot默认使用 Hibernate Validator 作为参数校验的实现库(底层实现其实是 JSR-303 Bean Validation 规范)。在进行参数校验时,我们通常会使用一组预定义好的注解,如:@NotNull、@Min、@Max、@S…

    Java 2023年5月20日
    00
  • java实现事件委托模式的实例详解

    Java实现事件委托模式的实例详解 事件委托模式(Event Delegation Pattern)是软件开发中常用的一种设计模式,它利用事件的传递机制,使一个对象能够处理不同来源的事件。在 Java 编程中,实现事件委托模式可以通过编写接口、事件源(Event Source)和事件监听器(Event Listener)三个部分来完成。 编写接口 在实现事件…

    Java 2023年5月19日
    00
  • java 解压与压缩文件夹的实例详解

    Java解压与压缩文件夹的实例详解 Java提供了许多用于压缩和解压缩文件的标准API,这些API可以通过java.util.zip包和java.util.jar包来实现。这些API可以让我们在Java中轻松地压缩和解压缩文件,并且在我们需要处理大量文件或需要将文件打包成压缩文件时非常有用。在本文中,我们将详细讲述如何使用Java的压缩和解压缩API。 压缩…

    Java 2023年5月20日
    00
  • Jsp连接Access数据库(不通过建立ODBC数据源的方法)

    JSP连接Access数据库是一种常见的操作,但是通常需要通过建立ODBC数据源这一繁琐步骤。下面,本文将介绍一种不需要建立ODBC数据源的方法。 准备工作 在进行JSP连接Access数据库之前,需要先做一些准备工作: 确保电脑上安装了Java开发环境JDK和Tomcat服务器; 准备一个Access数据库文件,例如database.mdb; 准备两个Ja…

    Java 2023年6月15日
    00
  • Spring Boot使用Servlet及Filter过程详解

    下面是详细的讲解“Spring Boot使用 Servlet 及 Filter 过程详解”的完整攻略。 什么是 Servlet 及 Filter Servlet 是一种 Web 组件,用于处理浏览器发来的请求和响应相应结果。 Filter 是另一种 Web 组件,用于在 Servlet 处理请求之前或之后对请求进行拦截和处理。 Spring Boot 中使用…

    Java 2023年5月20日
    00
  • Sprint Boot @Import使用方法详解

    在Spring Boot中,@Import注解是一种用于导入其他配置类或组件的注解。使用@Import注解可以将其他配置类或组件导入到当前配置类中,从而实现组件的复用和模块化。本文将详细介绍@Import注解的作用和使用方法,并提供两个示例说明。 @Import注解的作用 在Spring Boot中,@Import注解的作用是将其他配置类或组件导入到当前配置…

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