• 创建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
  • 相关阅读:
    uniAPP小程序 子组件使用watch不生效,H5正常,小程序不正常(其实是子组件model选项的问题)
    深入浅出计算机组成原理01-冯·诺依曼体系结构
    js基础知识整理之 —— 变量和数据类型
    岛屿类问题通用解法与DFS框架
    BIO、NIO、IO多路复用(select/poll/epoll)、信号驱动IO、异步IO
    #机器学习--高等数学基础--第四章:不定积分
    【语音识别-说话人识别】基于MFCC结合Mel频率倒谱系数实现垃圾分类附matlab代码
    Apache Atlas服务安装
    操作系统——进程与线程の选择题整理
    「智头条」智能家居企业扎堆IPO:欧瑞博重启IPO,凯迪仕、立林启动IPO;魅族新专利可无感匹配智能家居
  • 原文地址:https://blog.csdn.net/ccb1372098/article/details/128048625