• 创建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
  • 相关阅读:
    AR人脸道具SDK解决方案,实现道具与人脸的自然融合
    负载均衡原理及算法
    CentOS 7.5 centos failed to load selinux policy 错误解决方法
    世界杯winner只属于你——MESSI
    python中的生成器
    力扣:111. 二叉树的最小深度(Python3)
    Redis篇(3)——事件循环与io模型
    几种开源协议的区别(Apache、MIT、BSD、MPL、GPL、LGPL)
    雷达波形之一——LFM线性调频波形
    前端例程20220728:按钮点击涟漪效果
  • 原文地址:https://blog.csdn.net/ccb1372098/article/details/128048625