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

JSP编写自己的第一个WebServlet实现客户端与服务端交互

我们在项目中找到java目录 下面有一个包路径 然后 我们在下面创建一个类
在这里插入图片描述
我这里叫 TransmissionTest
当然 名字是顺便取的
参考代码如下

package com.example.dom;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;@WebServlet("/1cginServlet")
public class TransmissionTest extends HttpServlet {protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//设置客户端编码request.setCharacterEncoding("UTF-8");String userName = request.getParameter("userName");request.setAttribute("userName",userName);request.getRequestDispatcher("page.jsp").forward(request,response);return;}
}

这里 我们设置访问路径为 1cginServlet 这个名字也是自己取的
然后 继承 HttpServlet 规则
我们重写它的 service 函数
上来先将编码格式转成 UTF-8
然后 我们通过 getParameter 获取传过来的参数 userName 然后 将接收到的 userName 放入request作用域
最后 服务端跳转向 page.jsp
最后写完了 别忘了 return

然后 我们 index.jsp代码编写如下

<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%request.setCharacterEncoding("UTF-8");%>
<!DOCTYPE html>
<html>
<head><title>JSP - Hello World</title>
</head>
<body><form action="1cginServlet" method="post">用户名: <input type="text" name="userName"/><button>提交</button></form>
</body>
</html>

我们写了一个form表单 输入框用于输入用户名 我们定义的接受字段是 userName
然后 表单的提交格式是post 因为post保密性会强一些 然后 我们将数据提交到1cginServlet 就是我们刚刚类设置的路径 我们类中取到的userName字段 就是这个输入框中传递的

然后 我们创建一个page.jsp
编写代码如下

<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%request.setCharacterEncoding("UTF-8");%>
<!DOCTYPE html>
<html>
<head><title>JSP - Hello World</title>
</head>
<body>
<%out.print("您输入的用户名是: "+ request.getAttribute("userName"));
%>
</body>
</html>

因为 我们类的逻辑是将userName 设入了 request作用域 那么 我们就将他输出在界面上就好了

然后 我们运行项目
例如 我们在 输入框中 顺便输入一个用户名 然后 我们点击提交
在这里插入图片描述
可以看到 展示也是没有任何问题
在这里插入图片描述

相关文章:

JSP编写自己的第一个WebServlet实现客户端与服务端交互

我们在项目中找到java目录 下面有一个包路径 然后 我们在下面创建一个类 我这里叫 TransmissionTest 当然 名字是顺便取的 参考代码如下 package com.example.dom;import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet…...

三、Keil安装芯片包、下载固件库、建立STM32工程模板

目录 一、首先在Keil软件上安装好芯片包 二、下载官方固件库 三、建立基于固件库的Keil5工程模板 一、首先在Keil软件上安装好芯片包 STM32有很多系列的芯片&#xff0c;我们平常用的最多的是STM32F1系列的&#xff0c;因此安装F1系列的芯片包在我们初学时&#xff0c;只按照…...

微信相框M1-03花屏抢救照片数据

故障现象 相册屏幕花屏&#xff0c;无法显示&#xff0c;拔掉电源黑屏&#xff08;内部自带锂电池的&#xff09; 问题排查 开始怀疑屏幕故障&#xff0c;拆开看到内部&#xff0c;发现是锂电池时间长鼓包后&#xff0c;顶到PCB&#xff0c;PCB板已经翘曲了&#xff0c;导致花…...

小程序可拖拽按钮

你有没有遇到过在页面中有一个固定在某个位置的按钮&#xff0c;永远的挡住了你想要看的区域&#xff1f; 在小程序的列表页面中&#xff0c;常常会有一个提报的入口固定在右下角&#xff0c;如果这个按钮不可拖动的话&#xff0c;可能会挡住下面的事件&#xff0c;让用户操作起…...

ARM裸机-19(NandFlash和iNand)

1、NandFlash的接口 1.1、Nand的型号与命名 (1)、Nand的型号命名都有含义&#xff0c;就拿K9F2G08来示例分析一下&#xff1a;K9F表示是三星公司的NandFlash系列。2G表示Nand的大小是2Gbit (256MB)。08表示Nand是8位的 (8位就是数据线有8根)。 (2)、Nand命名中可以看出&#x…...

机器学习/sklearn笔记:MeanShift

1 算法介绍 一种基于质心的算法通过更新候选质心使其成为给定区域内点的均值候选质心的位置是通过一种称为“爬山”技术迭代调整的&#xff0c;该技术找到估计的概率密度的局部最大值 1.1 基本形式 给定d维空间的n个数据点集X&#xff0c;那么对于空间中的任意点x的均值漂移…...

opencv-简单图像处理

图像像素存储形式  对于只有黑白颜色的灰度图&#xff0c;为单通道&#xff0c;一个像素块对应矩阵中一个数字&#xff0c;数值为0到255, 其中0表示最暗&#xff08;黑色&#xff09; &#xff0c;255表示最亮&#xff08;白色&#xff09; 对于采用RGB模式的彩色图片&#…...

Linux(Kali\Ubuntu\CentOS\arm-Linux)安装Powershell

文章目录 Linux(Kali\Ubuntu\CentOS\arm-Linux)安装Powershell启动PowershellKaliUbuntuCentOSarm-Linux离线安装参考链接 Linux(Kali\Ubuntu\CentOS\arm-Linux)安装Powershell 启动Powershell pwshKali apt update && apt -y install powershellUbuntu # 更新包列…...

ubuntu20.04安装多版本cuda,切换版本

1. 安装cuda toolkit: 下载网站 https://developer.nvidia.com/cuda-11.3.0-download-archive 选择版本&#xff0c;这里选择11.3 wget https://developer.download.nvidia.com/compute/cuda/11.3.0/local_installers/cuda_11.3.0_465.19.01_linux.run给cuda权限: chmod x…...

网络渗透测试(wireshark 抓取QQ图片)

1.打开wireshark 这里我用的wifi连接 所以点开wifi就好 打开wifi之后就开始在本机上进行抓包了 我们先给我们的QQ发送一张图片&#xff0c;用自己的手机发送给电脑 然后点击左上角的正方形&#xff0c;停止捕获抓包 QQ的关键词是oicq&#xff0c;所以我们直接找 打开oicq …...

gRPC之gRPC负载均衡(客户端负载均衡)(etcd)

1、gRPC负载均衡(客户端负载均衡)(etcd) 本篇将基于etcd的服务发现前提下&#xff0c;介绍如何实现gRPC客户端负载均衡。 1.1 gRPC负载均衡 gRPC官方文档提供了关于gRPC负载均衡方案Load Balancing in gRPC https://github.com/grpc/grpc/blob/master/doc/load-balancing.m…...

语音识别技术paddlespeech的安装和使用

PaddleSpeech 介绍 PaddleSpeech是百度飞桨&#xff08;PaddlePaddle&#xff09;开源深度学习平台的其中一个项目&#xff0c;它基于飞桨的语音方向模型库&#xff0c;用于语音和音频中的各种关键任务的开发&#xff0c;包含大量基于深度学习前沿和有影响力的模型。PaddleSpe…...

【机器学习】034_多层感知机Part.2_从零实现多层感知机

一、解决XOR问题 1. 回顾XOR问题&#xff1a; 如图&#xff0c;如何对XOR面进行分割以划分四个输入 对应的输出 呢&#xff1f; 思路&#xff1a;采用两个分类器分类&#xff0c;每次分出两个输入 &#xff0c;再借助这两个分类从而分出 。 即采用同或运算&#xff0c;当两…...

2023年中职“网络安全“—Web 渗透测试①

2023年中职"网络安全"—Web 渗透测试① Web 渗透测试任务环境说明&#xff1a;1.访问地址http://靶机IP/task1&#xff0c;分析页面内容&#xff0c;获取flag值&#xff0c;Flag格式为flag{xxx}&#xff1b;2.访问地址http://靶机IP/task2&#xff0c;访问登录页面。…...

Android——资源IDnonFinalResIds和“Attribute value must be constant”错误

一、异常描述 通过资源ID引用资源提示错误 Attribute value must be constant 二、解决方案 在根目录下的文件 gradle.properties 中添加如下配置&#xff0c;然后Sync Project android.nonFinalResIdsfalse 三、问题原因 android.nonFinalResIds 是Android开发中一个用于解…...

批量创建表空间数据文件(DM8:达梦数据库)

DM8:达梦数据库 - - 批量创建表空间数据文件 环境介绍1 批量创建表空间SQL2 达梦数据库学习使用列表 环境介绍 在某些场景(分区表子表)需要批量创建表空间,给不同的表使用,以下代码是批量创建表空间的SQL语句; 1 批量创建表空间SQL --创建 24个数据表空间,每个表空间有3个数…...

简单聊聊加密和加签的关系与区别

大家好&#xff0c;我是G探险者。 平时我们在项目上一定都听过加密和加签&#xff0c;加密可能都好理解&#xff0c;知道它是保障的数据的机密性&#xff0c;那加签是为了保障啥勒&#xff1f;它和加密有啥区别&#xff1f; 带着这个疑问&#xff0c;我们就来聊聊二者的区别。…...

视频转码方法:多种格式视频批量转FLV视频的技巧

随着互联网的发展&#xff0c;视频已成为日常生活中不可或缺的一部分。然而&#xff0c;不同的视频格式可能适用于不同的设备和平台&#xff0c;因此需要进行转码。在转码之前&#xff0c;要了解各种视频格式的特点和适用场景。常见的视频格式包括MP4、AVI、MKV、FLV等。其中&a…...

【Java 进阶篇】Redis 数据结构:轻松驾驭多样性

引言 Redis是一款强大的键值对存储系统&#xff0c;其数据结构的多样性是其引以为傲的特点之一。在这篇博客中&#xff0c;我们将深入探讨Redis的主要数据结构&#xff0c;包括字符串、哈希表、列表、集合和有序集合&#xff0c;并通过实例代码演示它们的用法。 1. 字符串&am…...

东用科技智能公交识别系统无线传输方案

在科技不断进步和人工智能快速发展的当下&#xff0c;人脸识别技术已逐渐应用于各个领域。其中&#xff0c;公共交通领域便是重要的应用场景之一。人脸识别技术的引入可以提高交通的安全性、效率及便利性。 为了实现公交公司对乘客的身份识别和安全管理的需求&#xff0c;提高运…...

Windows Cleaner:彻底告别C盘爆红的智能清理解决方案

Windows Cleaner&#xff1a;彻底告别C盘爆红的智能清理解决方案 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服&#xff01; 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner 还在为Windows系统C盘空间不足而烦恼吗&#xff…...

【末轮截稿、快速发表、SPIE出版】第六届中国膜计算论坛暨2026年人工智能、大数据与电气自动化国际学术会议(CWMCAIBDEA 2026)

第六届中国膜计算论坛暨2026年人工智能、大数据与电气自动化国际学术会议&#xff08;CWMC&AIBDE 2026&#xff09;拟定于2026年5月12-14日在中国重庆举行。本次会议由重庆城市科技学院主办&#xff0c;重庆城市科技学院人工智能与大数据学院、重庆城市科技学院电气工程与智…...

【2026最新】五一假期远程办公神器:3分钟搞定企业内网接入的终极指南

五一假期倒计时&#xff01;远程办公必备神器EasyConnect全攻略 随着五一假期临近&#xff0c;你是否也在盘算着如何优雅地提前离开办公室&#xff0c;或是晚几天再回到工位&#xff1f;别急&#xff01;今天要介绍的这款企业级远程接入神器EasyConnect&#xff0c;将让你实现…...

CSS浮动布局的性能优化_减少不必要的清除浮动代码

clear: both 会拖慢重排&#xff0c;因浏览器需回溯所有浮动元素定位以确定清除点&#xff0c;打断渲染流水线并强制重排&#xff1b;现代推荐用 display: flow-root 创建BFC自动包裹浮动&#xff0c;更轻量安全。为什么 clear: both 会拖慢重排&#xff1f;浏览器在遇到 clear…...

解决Caused by: java.net.UnknownHostException: mysql: Name or service not knownorg.hibernate.exception

报错&#xff1a;book-manager-app | 2026-04-26T10:06:31.294Z ERROR --- [main] o.h.engine.jdbc.spi.SqlExceptionHelper : Communications link failure book-manager-app | Caused by: java.net.UnknownHostException: mysql: Name or service not known book-manager-a…...

Python卫星遥感AI解译落地难?中科院空天院2023年度TOP3失败案例深度复盘(含原始影像、标注偏差分析与重训练策略)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Python卫星遥感AI解译落地难&#xff1f;中科院空天院2023年度TOP3失败案例深度复盘&#xff08;含原始影像、标注偏差分析与重训练策略&#xff09; 在2023年中科院空天信息创新研究院的12个省级遥感A…...

写给做系统设计 / 项目实战的你:风控规则版本管理和审计怎么设计

风控规则版本管理怎么做才可审计&#xff1f;版本快照、变更记录、回滚留痕全讲清 这篇直接按风控规则版本管理来拆&#xff0c;不只讲“保存一个版本号”&#xff0c;而是把快照、Diff、审批、回滚和变更留痕讲清楚。 目标是你看完后&#xff0c;能把规则版本从“能回退”提升…...

用STM32F103和MAX30102做个家用健康小助手:心率血氧监测+WiFi上传数据保姆级教程

基于STM32F103与MAX30102的智能健康监测终端开发实战 在智能家居与个人健康管理日益融合的今天&#xff0c;能够自主搭建一套具备医疗级精度的健康监测系统&#xff0c;已成为嵌入式开发者和创客们的新追求。本文将手把手带您实现一个集心率血氧监测、本地报警与云端数据可视化…...

C语言国产化编译适配实战:从龙芯GCC到毕昇Bisheng,7类典型报错的秒级定位与修复手册

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;C语言国产化编译适配的演进脉络与技术全景 随着信创产业加速落地&#xff0c;C语言作为操作系统、嵌入式系统与基础软件的核心载体&#xff0c;其编译工具链的国产化适配已从“可用”迈向“好用”与“可…...

基于AI-Scientist-V3的列车窗景实时生成技术实践

1. 项目背景与目标拆解去年NanoBanana 2团队在Siggraph Asia上展示的"Window Seat"项目让我眼前一亮——这个通过生成式AI重构列车窗景的创意&#xff0c;完美融合了计算机视觉与场景理解技术。最近拿到AI-Scientist-V3模型后&#xff0c;我决定用开源方案复现这个经…...