当前位置: 首页 > 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;就需要用输入…...

明末:渊虚之羽加修改器2026.5.12最新破解版免费下载 转存后自动更新 (看到请立即转存 资源随时失效)pc手机通用

游戏本体下载链接 修改器链接 由成都灵泽科技&#xff08;Leenzee Games&#xff09;开发&#xff0c;505 Games发行的动作角色扮演游戏《明末&#xff1a;渊虚之羽》&#xff08;WUCHANG: Fallen Feathers&#xff09;在近年来备受动作游戏玩家的关注。作为一款扎根于中国历…...

告别爬虫:使用trendsmcp API稳定获取多平台趋势数据

1. 项目概述&#xff1a;告别爬虫&#xff0c;拥抱稳定的趋势数据API如果你曾经尝试过用Python抓取Google Trends、新闻提及量或者社交媒体趋势数据&#xff0c;那你一定对“429 Too Many Requests”这个错误代码深恶痛绝。半夜两点&#xff0c;数据管道突然中断&#xff0c;你…...

寄生电感容易被忽略,却是电路不稳定的隐形元凶

调试电路板的时候&#xff0c;最让人抓狂的并不是那些明面上能查到文档的参数问题。示波器一抓波形&#xff0c;明明电源电压已经稳定&#xff0c;负载也没动&#xff0c;可偏偏就是有那种挥之不去的毛刺&#xff0c;幅度不大&#xff0c;频率不低&#xff0c;排查了半天才发现…...

告别top!用htop监控Linux进程,这10个高效用法运维新手必看

告别top&#xff01;用htop监控Linux进程&#xff0c;这10个高效用法运维新手必看 如果你还在用top命令监控Linux服务器状态&#xff0c;就像拿着算盘处理大数据——虽然能用&#xff0c;但效率实在堪忧。作为top的现代化替代品&#xff0c;htop以其彩色界面、鼠标支持和直观的…...

从Claude Code到nanocode:轻量级AI编程助手核心架构与工程实践

1. 项目概述&#xff1a;从Claude Code到nanocode的轻量化之路 如果你是一名开发者&#xff0c;尤其是对AI编程助手&#xff08;AI Agent&#xff09;的内部工作原理充满好奇&#xff0c;那么你很可能听说过Anthropic的Claude Code。它是一个功能强大的命令行AI代理&#xff0…...

高压隔离技术:原理、应用与AMC130x设计解析

1. 高压隔离技术的基础原理与行业需求在工业自动化、新能源发电和电力电子系统中&#xff0c;高压隔离技术如同电路系统的"安全气囊"&#xff0c;它能在数千伏的电位差下确保信号和能量的无损传输&#xff0c;同时阻断危险电流的流通。德州仪器&#xff08;TI&#x…...

工作5年的PHP程序员,转智能体开发半年,薪资翻了2倍

文章目录前言一、PHP程序员的中年危机&#xff1a;不是你不行&#xff0c;是时代变了二、为什么智能体开发是PHP程序员的最优转型方向&#xff1f;1. 门槛最低&#xff0c;上手最快2. 竞争最小&#xff0c;薪资最高3. 前景最好&#xff0c;发展空间最大三、那个转智能体半年薪资…...

k8s——RBAC认证中心

一、整体流程&#xff1a;认证 → 授权 → 准入控制在 Kubernetes 中&#xff0c;所有操作都要通过 API Server。当你&#xff08;或某个程序&#xff09;想对集群做任何事&#xff08;比如创建一个 Pod&#xff09;&#xff0c;必须经过三步检查&#xff1a;认证&#xff1a;你…...

LLM推理中的动态显存卸载技术解析

1. LLM推理中的内存挑战与卸载技术本质在部署百亿参数级别的大型语言模型(LLM)时&#xff0c;GPU显存容量往往成为关键瓶颈。以主流的NVIDIA A100 40GB显卡为例&#xff0c;单卡甚至无法完整加载一个13B参数的模型&#xff08;按FP16精度计算需要约26GB显存&#xff0c;尚未考虑…...

终极指南:如何用Chromatic快速掌握Chromium/V8通用修改器

终极指南&#xff1a;如何用Chromatic快速掌握Chromium/V8通用修改器 【免费下载链接】chromatic Universal modifier for Chromium/V8 | 广谱注入 Chromium/V8 的通用修改器 项目地址: https://gitcode.com/gh_mirrors/be/chromatic 想象一下&#xff0c;你正在开发一个…...