• 创建Struts2项目并实现一个例子


    一、创建Struts2项目

    本人所用idea应用程序。以下全部内容,都是以idea为例

    创建项目前,你需要下载Struts2所需要的jar包,你可以直接去官网下载,也可以点击https://pan.baidu.com/s/1DlnXJMLrBFf44dZ_kv8rXA?pwd=ccb1去下载我的。

    1、
    在这里插入图片描述

    2、
    在这里插入图片描述

    3、
    在这里插入图片描述
    把这些全部选中,(这些是最基本的jar包,你也可以上官网下载比较全的包,我这里只是下载的基本版。)

    4、
    项目名字,自己起就可以了,
    项目位置,根据自己的情况,自己选择即可。

    填完后,点击finish即可
    在这里插入图片描述

    5、在进行配置之前,你需要做一些准备工作,创建一个classes文件
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    找到你创建的classes文件。选中它。第10步和第11步都是选中这个文件夹

    在这里插入图片描述

    点击Apply后,发现classes文件夹变颜色后,说明操作成功。
    在这里插入图片描述

    6、打开web.xml你会发现idea已经帮我写好这些配置,我们就不需要自己写了。
    我们只需要写struts.xml 即可
    在这里插入图片描述
    在这里插入图片描述

    完成以上操作后,Struts2项目创建完毕。

    二、struts2的一个例子

    这里以实现2个数相加为例
    项目整体结构
    在这里插入图片描述

    1、创建一个实现2个数相加的类,命名为 Add。

    注意这个类,必须有默认构造函数,每个数据成员的set/get方法。

    package com.model;
    
    public class Add {
        private  double a;
        private double b;
        private double sum;
    
        public double getSum() {
            return a+b;
        }
        public Add() {
        }
    
        public double getA() {
            return a;
        }
    
        public void setA(double a) {
            this.a = a;
        }
    
        public double getB() {
            return b;
        }
    
        public void setB(double b) {
            this.b = b;
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30

    2、创建Action类 ,实现业务前期处理
    注意:这个类,必须有默认构造函数,每个数据成员的set/get方法。对于业务实现的方法,返回值可以随便取,但是要在struts.xml文件中与返回值一致。

    package com.action;
    
    import com.model.Add;
    
    public class AddActon {
        private Add add;
    
        public String excute(){   
            String ans="";
            if(add.getSum()>=0){
                ans="+";
            }else
                ans="-";
            return ans;
        }
    
        public AddActon() {
        }
    
        public Add getAdd() {
            return add;
        }
    
        public void setAdd(Add add) {
            this.add = add;
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28

    3、表单提交页面 submit.jsp

    
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>Titletitle>
    head>
    <body>
      <form action="add.action" method="post">
          a: <input type="text" name="add.a"> <br>
          b: <input type="text" name="add.b"> <br>
          <input type="submit">
    
      form>
    body>
    html>
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    4、结果为正数页面 success.jsp

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>Titletitle>
    head>
    <body>
    ${add.a}+${add.b}=${add.sum}
    body>
    html>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    5、结果为负数页面 negative.jsp

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>Titletitle>
    head>
    <body>
       ${add.a}+${add.b}=${add.sum}
    body>
    html>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    6、struts.xml配置文件

    
    
    DOCTYPE struts PUBLIC
            "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
            "http://struts.apache.org/dtds/struts-2.3.dtd">
    
    <struts>
      
        <package name="AandB" extends="struts-default">
            <action name="add" class="com.action.AddActon" method="excute">
                <result name="+">/MyWeb/success.jspresult>
                <result name="-">/MyWeb/negative.jspresult>
            action>
    
        package>
    struts>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
  • 相关阅读:
    Vue中表单手机号验证与手机号归属地查询
    羽夏 Bash 简明教程(下)
    11月22日星期三今日早报简报微语报早读
    2331. 计算布尔二叉树的值-深度优先遍历
    架构学习之AArch64内存模型
    JavaScript算法43- 分类求和并作差(leetCode:100103easy)周赛
    【C#】使用Windows窗体实现链接跳转功能
    使用Makefile对多个shell命令进行编排
    chatGLM2-6B模型LoRA微调数据集实现大模型的分类任务
    机器学习笔记 - 时间序列的季节性
  • 原文地址:https://blog.csdn.net/ccb1372098/article/details/128048625