当前位置: 首页 > news >正文

Struts2的入门:新建项目——》导入jar包——》jsp,action,struts.xml,web.xml——》在项目运行

文章目录

  • 配置环境
    • tomcat
  • 新建项目
    • 导入jar包
    • 新建jsp界面
    • 新建action类
    • 新建struts.xml,用来配置action文件
    • 配置Struts2的核心过滤器:web.xml
  • 启动测试
  • 给一个返回界面
    • 在struts.xml中配置以实现页面的跳转:result
    • 再写个success.jsp
    • 最后在项目运行

配置环境

tomcat

在这里插入图片描述
在这里插入图片描述
进去以后选择对应版本,然后再选择tomcat安装路径即可。

新建项目

新建dynamic web项目,名字随便起,这个是我跟着ithma。
在这里插入图片描述
2.5能自动生成web.xml
在这里插入图片描述

导入jar包

把lib包里的jar包复制在项目里
在这里插入图片描述

新建jsp界面

在这里插入图片描述
在这里插入图片描述

新建action类

在这里插入图片描述
在这里插入图片描述

package com.zhang;
/*** Struts2的入门的Action类* @author zhangwt**/
public class hello {/*** 提供一个方法:* 方法签名是固定的* public String execute(){}*/public String execute(){System.out.println("hello.action执行了~~~~~");return null;//先放个null使其不报错}
}

新建struts.xml,用来配置action文件

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN""http://struts.apache.org/dtds/struts-2.3.dtd"><struts><!-- Struts2为了管理Action的配置,通过package进行管理,action类在package里 --><!-- 配置Struts2的包================== --><!--package的name随便起名,但是不能重复 --><package name="test" extends="struts-default" namespace="/"><!-- 配置Action============== --><action name="hello" class="com.zhang.hello"></action></package>
</struts>

配置Struts2的核心过滤器:web.xml

在这里插入图片描述

class值的位置
在这里插入图片描述

在这里插入图片描述

启动测试

在这里插入图片描述
在这里插入图片描述
点击超链接后,控制台输出,这是我们当时在hello.class里面要求输出的,即执行了hello这个action
在这里插入图片描述

成功!

  • 如果你要拿tomcat在浏览器访问,仿照下面

  • 如果不能运行,打开tomcat里面bin——》startup.bat,再重新访问
    在这里插入图片描述

  • 点击超链接后,回到ecplise查看控制台有没有输出
    在这里插入图片描述

给一个返回界面

改写action 中方法的返回值
在这里插入图片描述

在struts.xml中配置以实现页面的跳转:result

在这里插入图片描述

再写个success.jsp

在这里插入图片描述

最后在项目运行

在这里插入图片描述

相关文章:

Struts2的入门:新建项目——》导入jar包——》jsp,action,struts.xml,web.xml——》在项目运行

文章目录 配置环境tomcat 新建项目导入jar包新建jsp界面新建action类新建struts.xml,用来配置action文件配置Struts2的核心过滤器&#xff1a;web.xml 启动测试给一个返回界面在struts.xml中配置以实现页面的跳转&#xff1a;result再写个success.jsp最后在项目运行 配置环境 …...

git 标签功能操作以及回退

Git 标签功能允许开发者为特定的提交打上标签&#xff0c;以便后续能够方便地引用这些提交。标签通常用于标记重要的版本或里程碑&#xff0c;例如软件发布的版本号。与分支不同&#xff0c;标签指向的是固定的提交&#xff0c;一旦设置&#xff0c;就不能轻易更改。下面是一些…...

利用python实现文字转语音

代码如下&#xff1a; import pathlib import tkinter as tk import tkinter.ttk as ttk import tkinter.filedialog as filedialog import tkinter.messagebox as msgbox import pyttsx3class Application(tk.Tk):def __init__(self):super().__init__()self.title("文本…...

拾光坞N3 ARM 虚拟主机 i茅台项目

拾光坞N3 在Dcoker部署i茅台案例 OS&#xff1a;Ubuntu 22.04.1 LTS aarch64 cpu&#xff1a;RK3566 ram&#xff1a;2G 部署流程——》mysql——》java8——》redis——》nginx mysql # 依赖 apt update apt install -y net-tools apt install -y libaio* # 下载mysql wg…...

docker安装nacos,单例模式(standalone),使用mysql数据库

文章目录 前言安装创建文件夹"假装"安装一下nacos拷贝文件夹删除“假装”安装的nacos容器生成nacos所需的mysql表获取mysql-schema.sql文件创建一个mysql的schema 重新生成新的nacos容器 制作docker-compose.yaml文件查看网站 前言 此处有本人写得简易版本安装&…...

【运输层】传输控制协议 TCP

目录 1、传输控制协议 TCP 概述 &#xff08;1&#xff09;TCP 的特点 &#xff08;2&#xff09;TCP 连接中的套接字概念 2、可靠传输的工作原理 &#xff08;1&#xff09;停止等待协议 &#xff08;2&#xff09;连续ARQ协议 3、TCP 报文段的首部格式 1、传输控制协议…...

深入浅出 -- 系统架构之Keepalived搭建双机热备

Keepalived重启脚本双机热备搭建 ①首先创建一个对应的目录并下载keepalived安装包&#xff08;提取码:s6aq&#xff09;到Linux中并解压&#xff1a; [rootlocalhost]# mkdir /soft/keepalived && cd /soft/keepalived [rootlocalhost]# wget https://www.keepalived.…...

如何做好产业园运营?树莓集团:响应政府号召,规划,注重大局观

随着经济的发展和产业结构的调整&#xff0c;产业园区的建设和发展已经成为推动地方经济的重要力量。如何做好产业园运营&#xff0c;提高行业竞争力&#xff0c;现已成为了一个亟待解决的问题。树莓集团作为一家有着丰富产业园运营经验的企业&#xff0c;积极响应政府号召&…...

NIO与BIO

当谈到 Java 网络编程时&#xff0c;经常会听到两个重要的概念&#xff1a;BIO&#xff08;Blocking I/O&#xff0c;阻塞 I/O&#xff09;和 NIO&#xff08;Non-blocking I/O&#xff0c;非阻塞 I/O&#xff09;。它们都是 Java 中用于处理 I/O 操作的不同编程模型。 一、介…...

YOLOv5实战记录05 Pyside6可视化界面

个人打卡&#xff0c;慎看。 指路大佬&#xff1a;【手把手带你实战YOLOv5-入门篇】YOLOv5 Pyside6可视化界面_哔哩哔哩_bilibili 零、虚拟环境迁移路径后pip报错解决 yolov5-master文件夹我换位置后&#xff0c;无法pip install了。解决如下&#xff1a; activate.bat中修改…...

HTML5.Canvas简介

1. Canvas.getContext getContext(“2d”)是Canvas元素的方法&#xff0c;用于获取一个用于绘制2D图形的绘图上下文对象。在给定的代码中&#xff0c;首先通过getElementById方法获取id为"myCanvas"的Canvas元素&#xff0c;然后使用getContext(“2d”)方法获取该Ca…...

excel统计分析——多项式回归

参考资料&#xff1a;生物统计学 多项式回归属于单变量曲线回归&#xff0c;但其形式和求解方法与多元线性回归相似。多项式回归的数学模型为&#xff1a; 令&#xff0c;&#xff0c;&#xff0c;&#xff0c;则 由于X不可逆&#xff0c;两边同时乘以X得&#xff0c;&#xff…...

SQLyog连接数据库8.0版本解析错误问题解决方案

问题描述&#xff1a; 解决方案&#xff1a; alter userrootlocalhostidentified with mysql_native_password by 密码; 再次连接就可以了。...

【数据库】SQL简介

SQL&#xff08;Structured Query Language&#xff0c;结构化查询语言&#xff09;是一种用于管理关系型数据库管理系统&#xff08;RDBMS&#xff09;的标准化语言。它用于访问和操作数据库中的数据&#xff0c;执行各种任务&#xff0c;如插入、更新、删除和检索数据&#x…...

AWS入门实践-利用S3构建一个静态网站

使用Amazon S3托管静态网站是一个流行的选择&#xff0c;因为它简单、成本效益高&#xff0c;并且易于维护。静态网站由不含服务器端脚本的文件组成&#xff0c;如HTML、CSS和JavaScript文件。下面是使用S3托管静态网站的操作步骤&#xff1a; 如果大家没有AWS免费账号&#x…...

使用Linux strace追踪系统调用: 一个详细指南

使用Linux strace追踪系统调用: 一个详细指南 Linux strace是一个强大的命令行工具&#xff0c;用于监视和调试进程中发生的系统调用和信号。它对于系统管理员和开发人员来说是理解程序行为和解决问题的重要工具。 什么是strace&#xff1f; strace是一种跟踪运行中的进程执…...

python 笔记

文章目录 pdbpdb开始调试pythonpdb设置断点单步执行进入到函数的内部执行到下一个断点或程序结束调用栈查看命令查看当前函数调用堆栈向上一层函数查看调用堆栈查看源代码 importimport 用法 numpy导入numpy模块numpy常用函数np.argmaxnp.sum range生成连续序列生成不连续序列 …...

软考 系统架构设计师系列知识点之数据库基本概念(4)

接前一篇文章&#xff1a;软考 系统架构设计师系列知识点之数据库基本概念&#xff08;3&#xff09; 所属章节&#xff1a; 第6章. 数据库设计基础知识 第1节 数据库基本概念 6.1.3 数据库管理系统 DBMS&#xff08;DataBase Management System&#xff0c;数据库管理系统&am…...

Vue - 3( 15000 字 Vue 入门级教程)

一&#xff1a;初识 Vue 1.1 收集表单数据 收集表单数据在Vue.js中是一个常见且重要的任务&#xff0c;它使得前端交互变得更加灵活和直观。 Vue中&#xff0c;我们通常使用v-model指令来实现表单元素与数据之间的双向绑定&#xff0c;从而实现数据的收集和更新。下面总结了…...

上位机图像处理和嵌入式模块部署(qmacvisual图像清晰度)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 做过isp的同学都知道&#xff0c;图像处理里面有一个3A&#xff0c;即自动曝光、自动白平衡和自动对焦。其中自动对焦这个&#xff0c;就需要用输入…...

uHabits习惯追踪应用完整指南:从入门到精通的5个实用技巧

uHabits习惯追踪应用完整指南&#xff1a;从入门到精通的5个实用技巧 【免费下载链接】uhabits Loop Habit Tracker, a mobile app for creating and maintaining long-term positive habits 项目地址: https://gitcode.com/gh_mirrors/uh/uhabits uHabits习惯追踪应用是…...

喜马拉雅音频下载器:三分钟学会批量保存心爱内容

喜马拉雅音频下载器&#xff1a;三分钟学会批量保存心爱内容 【免费下载链接】xmly-downloader-qt5 喜马拉雅FM专辑下载器. 支持VIP与付费专辑. 使用GoQt5编写(Not Qt Binding). 项目地址: https://gitcode.com/gh_mirrors/xm/xmly-downloader-qt5 在数字音频内容日益丰…...

Cursor AI技能库一键部署指南:提升开发效率的标准化配置方案

1. 项目概述&#xff1a;当AI助手Cursor遇上Everything技能库如果你和我一样&#xff0c;日常开发重度依赖Cursor这款AI驱动的IDE&#xff0c;那你肯定也遇到过这样的场景&#xff1a;想让它帮你写个单元测试&#xff0c;得先花几分钟描述TDD流程&#xff1b;想让它重构一段代码…...

快速排序:核心知识点全解析

一、快速排序 核心所有知识点1. 核心思想分治 挖坑 / 左右双指针 基准值 pivot选一个基准值 pivot把数组划分成&#xff1a;左边 ≤ pivot&#xff0c;右边 ≥ pivot递归对左、右子区间重复划分区间长度为 1 时终止&#xff0c;整体有序2. 时间复杂度平均&#xff1a;\(O(n\l…...

Vivado里配置RFSoC数据转换器IP,这10个参数新手最容易搞错(附PG269避坑指南)

Vivado中RFSoC数据转换器IP配置的10个关键参数解析与实战避坑指南 第一次在Vivado中配置RFSoC的数据转换器IP核时&#xff0c;面对密密麻麻的参数选项&#xff0c;即使是经验丰富的FPGA工程师也可能感到无从下手。RFSoC作为集成了高速数据转换器的异构计算平台&#xff0c;其配…...

华为eNSP Cloud网卡异常排查指南:从WinPcap兼容性到虚拟网卡同步

1. 华为eNSP Cloud网卡异常排查指南 最近在帮朋友调试华为eNSP Cloud时遇到了网卡异常的问题&#xff0c;折腾了大半天才解决。这个问题其实挺常见的&#xff0c;特别是对于刚接触eNSP Cloud的新手来说。今天我就把完整的排查流程和解决方法分享给大家&#xff0c;希望能帮到遇…...

VirtualBox 6.1+ 搭配Win10:除了装系统,这些高效设置让你的虚拟机真正好用起来

VirtualBox 6.1 与Win10深度整合&#xff1a;解锁专业级虚拟化生产力的5个关键策略 当你已经成功在VirtualBox中安装好Windows 10虚拟机&#xff0c;这仅仅是虚拟化旅程的起点。真正的高手懂得如何将这个看似隔离的环境转变为无缝融入日常工作流的生产力引擎。本文将揭示那些鲜…...

别再死磕梯形图了!IEC61131-3的ST语言实战:用5分钟搞定一个PID功能块

别再死磕梯形图了&#xff01;IEC61131-3的ST语言实战&#xff1a;用5分钟搞定一个PID功能块 当PLC工程师第一次接触结构化文本&#xff08;ST&#xff09;时&#xff0c;往往会被它类似高级编程语言的语法吓退。但事实上&#xff0c;ST在处理复杂算法时的简洁性和高效性&#…...

云原生地理空间分析引擎Meridian:基于Arrow与GeoParquet的高性能架构解析

1. 项目概述&#xff1a;一个面向未来的开源地理空间数据引擎最近在折腾一个涉及大量地理信息处理的项目&#xff0c;从海量GPS轨迹点到复杂的多边形区域分析&#xff0c;传统的数据库和工具链在处理效率和灵活性上开始捉襟见肘。就在这个当口&#xff0c;我注意到了GitHub上一…...

微型环境传感器技术:PM2.5与VOC检测的突破与应用

1. 个人空气质量监测的技术革命在深圳的一个典型工作日早晨&#xff0c;张工程师像往常一样准备出门上班。他习惯性地查看手机上的空气质量指数&#xff0c;发现室外PM2.5数值高达85μg/m&#xff08;超过WHO安全标准3倍以上&#xff09;。犹豫片刻后&#xff0c;他戴上了N95口…...