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的页面进行文件上传。

阅读剩余 79%

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

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

相关文章

  • 面试必备之Java 最常见 200+ 面试题全解析

    首先,我们需要明确这个攻略的目的,即为Java岗位的应聘者提供一份全面的面试题目汇总以及这些题目的解析,帮助应聘者更好地准备及应对面试。 其次,我们需要确定一些指导原则,如:- 每一个面试题都必须有解答- 对于解答,需要给出尽可能详细的解释- 除了题目的解答,还需要添加一些相关的知识点或技巧 在撰写收集题目和解答的过程中,可以按照如下步骤进行: 第一步:收集…

    Java 2023年6月1日
    00
  • 说说Java异步调用的几种方式

    下面我将详细讲解Java异步调用的几种方式及其示例: 什么是异步调用 异步调用是指在调用函数时,不会等待函数执行完成才返回结果,而是在函数执行的同时继续执行其他的代码,当函数执行完成后再回过头来处理执行结果。通常用于需要耗时的操作,如网络请求、数据库查询等,可以避免阻塞主线程而影响用户体验。 Java异步调用的几种方式 1. 回调函数 回调函数是指在调用函数…

    Java 2023年5月19日
    00
  • Java实现ATM系统超全面步骤解读建议收藏

    Java实现ATM系统超全面步骤解读 1. 前言 ATM系统是日常生活中经常使用的自助银行系统,本文将介绍如何使用Java完成ATM系统的开发。该系统主要包括用户登录、查询账户信息、存款、取款、转账等基本功能。 2. 数据库设计 在开发ATM系统之前,需要先进行数据库设计。具体步骤如下: 2.1. 创建数据库 首先需要在MySQL数据库中创建一个名为ATM的…

    Java 2023年5月19日
    00
  • Java SpringSecurity+JWT实现登录认证

    一、什么是Java Spring Security和JWT? Java SpringSecurity是Spring框架中的一个安全工具,能够提供身份验证、授权、防止csrf攻击等功能; JWT(JSON Web Token)是一种用于身份验证的开放标准(RFC 7519),它使用JSON格式在网络之间安全地传递信息。JWT具有轻量级、开放性、易于使用和便于传…

    Java 2023年5月20日
    00
  • SpringBoot+SpringSecurity 不拦截静态资源的实现

    一、背景 在开发 Web 应用时,我们通常需要使用 SpringBoot 和 SpringSecurity 进行开发,其中 SpringSecurity 用于处理安全相关的逻辑。在使用 SpringSecurity 进行开发时,有时候我们需要对某些 URL 进行访问控制,但是又不希望对一些静态资源进行拦截,否则会影响应用性能。 本篇文章将为大家介绍如何使用 …

    Java 2023年5月20日
    00
  • Java之BigDecimal实现详解

    Java之BigDecimal实现详解 简介 在Java中,float和double类型的数值在进行计算时,会有精度丢失的问题。例如,当两个小数相加时,结果可能会出现偏差,导致计算结果不准确。而BigDecimal类就是专门为高精度计算而设计的一个类。 BigDecimal是不可变的(immutable)的、高精度的(arbitrary-precision)…

    Java 2023年5月18日
    00
  • SSH框架实现表单上传图片实例代码

    下面我会详细讲解 “SSH框架实现表单上传图片实例代码”的完整攻略。 1. 前期准备工作 在进行表单上传图片代码实现之前,你需要了解以下几个重要的知识点: SSH框架的基本概念和使用方法 MultipartFile类型的文件上传方式 前端表单的设计和提交 2. 后台代码实现 2.1. 建立控制器 首先我们需要在后台建立一个控制器来接收前端传来的文件并完成上传…

    Java 2023年5月20日
    00
  • Maven引入本地Jar包并打包进War包中的方法

    Maven引入本地Jar包并打包进War包中的方法包括以下几个步骤: 在本地安装Jar包到Maven仓库中; 在pom.xml文件中添加对该Jar包的依赖; 打包War包时指定该Jar包的依赖。 下面我将逐步讲解这些步骤,并提供两个示例。 1. 安装Jar包到Maven仓库中 通常情况下,我们可以通过将Jar包手动安装到本地Maven仓库中来让Maven管理…

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