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

项目进度

变为负进度了,还是要用baseservlet,我就又重新写了一部分,看了好几遍视频,突然就想明白了,感觉每次要上课,就时间不连续思路总是断,今天晚自习算是搞懂了怎么写了,就是代码有点多,写的有点慢一开始那个构架也挺难理解的(对我来说)


这是我cotroller类的代码,注册部分:

@WebServlet("/register") // 定义Servlet的URL映射
@MultipartConfig
public class RegisterController1 extends BaseServlet {SomeMethod someMethod=new SomeMethod();@ReturnType(ResponseType.JSON)@POST(value = "AddUser")public String AddUser(@FormData("username") String username, @FormData("password") String password, @FormData("email") String email) throws IOException, NoSuchAlgorithmException {RegisterMethod registerMethod=new RegisterMethod();return registerMethod.AddUser(username,password,email);

这是baseservlet部分:


@MultipartConfig
public class BaseServlet extends HttpServlet {@Overrideprotected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {req.getQueryString();req.setCharacterEncoding("UTF-8");//用字符串记录发过来的请求(包括很多很多)String uri=req.getRequestURI();String methodName = new String(uri.substring(uri.lastIndexOf("/") + 1)).toString(); // 从 URI 中提取方法名System.out.println("获得的方法:"+methodName);Method method=null;//通过反射获取被继承的类里面的所有方法Method[] methods=this.getClass().getDeclaredMethods();//获取请求头,方便及进行接下来的操作String contentType =req.getContentType();ObjectMapper objectMapper=new ObjectMapper();JsonNode jsonNode = null;if (contentType != null && contentType.startsWith("multipart/form-data")){System.out.println("如果是文件就不进行改变");}else {
//处理JSON 数据部分jsonNode = objectMapper.readTree(req.getReader());}for (Method method1 : methods){if("POST".equals(req.getMethod())){System.out.println("进入了POST请求"+"获取到的方法名为:"+methodName);if(method1.getAnnotation(POST.class)==null) {continue;}if(method1.getAnnotation(POST.class).value().equals(methodName)){System.out.println("进入了具体的方法里面");method = method1;Parameter[] parameters = method.getParameters();System.out.println("参数列表为:"+ parameters.length)Object[] args = new Object[parameters.length];for(int i=0;i<parameters.length; i++){Annotation[] annotations = parameters[i].getAnnotations();if(annotations == null || annotations.length == 0) {if (parameters[i].getType() == HttpServletRequest.class) {args[i] = req;} else if (parameters[i].getType() == HttpServletResponse.class) {args[i] = resp;}}else {for(Annotation annotation:annotations){if(annotation instanceof Param){String name=((Param)annotation).value();args[i]= request.getParameter(name);System.out.println(args[i]);

方法类:


public class SomeMethod {public User addUser(String UserName, String Email, String Password) throws IOException {//新增账号User user = new User();user.setUserName(UserName);user.setEmail(Email);user.setPassword(Password);//1.获取SqlSessionFactory//1.加载mybatis的核心配置文件,获取SqlSessionFaxtoryString resource = "mybatis-config.xml";InputStream inputStream = Resources.getResourceAsStream(resource);SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);//2.获取SqlSession 对象,用它来执行sqlSqlSession sqlSession = sqlSessionFactory.openSession();//在这里面其实是可以写true或者false的没写为f表示要手动提交//3.1获取UserMapper接口的代理对象UserMapper userMapper = sqlSession.getMapper((UserMapper.class));userMapper.add(user);//提交事务sqlSession.commit();//5.释放资源sqlSession.close();return user;}

相关文章:

项目进度

变为负进度了&#xff0c;还是要用baseservlet&#xff0c;我就又重新写了一部分&#xff0c;看了好几遍视频&#xff0c;突然就想明白了&#xff0c;感觉每次要上课&#xff0c;就时间不连续思路总是断&#xff0c;今天晚自习算是搞懂了怎么写了&#xff0c;就是代码有点多&am…...

Android的内核

Android的内核是基于Linux的长期支持版本的“Android通用内核(ACK)”。 Android作为一个广泛使用的操作系统&#xff0c;其根基在于内核的设计和功能。下面将深入探讨Android内核的各个方面&#xff0c;从其基本结构到与Linux内核的关系&#xff0c;再到内核的版本管理及在设备…...

Github Wiki 超链接 转 码云Gitee Wiki 超链接

Github Wiki 超链接 转 码云Gitee Wiki 超链接 Github 是 &#xff1a;[[相对路径]] Gitee 是 &#xff1a;[链接文字](./相对路径) 查找&#xff1a;\[\[(.*?)\]\] 替换&#xff1a;[$1]\(./$1\) 或替换&#xff1a;**[$1]\(./$1\)** &#xff08;码云的超链接&#xff0c;很…...

Android10源码刷入Pixel2以及整合GMS

一、ASOP源码下载 具体可以参考我之前发布的文章 二、下载相关驱动包 这一步很关键,关系到编译后的镜像能否刷入后运行 下载链接:Nexus 和 Pixel 设备的驱动程序二进制文件 如下图所示,将两个驱动程序上传到Ubuntu服务器,并进行解压,得到两个脚本: 下载解压后会有两…...

wpf触发与模板的使用示例:批量生产工具

批量生产工具 <Window x:Class"WpfM20UpdateFW.MainWindow"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d"http://schemas.microsoft.com/expressio…...

brew install node提示:Error: No such keg: /usr/local/Cellar/node

打开本地文件发现Cellar目录下无法生成 node文件&#xff0c;应该是下载时出现问题&#xff0c;重复下载无法解决问题&#xff0c;只能重新安装brew。 步骤1&#xff08;安装 brew&#xff09;&#xff1a; /bin/zsh -c “$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/ra…...

记录一下gitlab社区版的安装教程

目录 1.更新系统软件包 2.安装必要的依赖 3.添加GitLab源 3.1对于GitLab Enterprise Edition&#xff08;EE&#xff09;&#xff1a; 3.2对于GitLab Community Edition&#xff08;CE&#xff09;&#xff1a; 4.安装GitLab 4.1安装GitLab Enterprise Edition&#xff08;E…...

20. 如何在MyBatis中处理多表关联查询?常见的实现方式有哪些?

在MyBatis中处理多表关联查询是一项常见的需求&#xff0c;特别是在关系型数据库中存储复杂的实体关系时。MyBatis提供了多种方式来实现多表关联查询&#xff0c;常见的实现方式包括使用<association>和<collection>标签在<resultMap>中进行对象关系映射&…...

【百日算法计划】:每日一题,见证成长(013)

题目 回文链表 给你一个单链表的头节点 head &#xff0c;请你判断该链表是否为回文链表。如果是&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 输入&#xff1a;head [1,2,2,1] 输出&#xff1a;true 思路 找到中间节点反转后半部分链表前后链表顺序比…...

PCL 读取和保存点云

目录 一、概述 1.1原理 1.2实现步骤 二、代码实现 2.1关键函数 2.2完整代码 三、实现效果 PCL点云算法汇总及实战案例汇总的目录地址链接&#xff1a; PCL点云算法与项目实战案例汇总&#xff08;长期更新&#xff09; 一、概述 1.1原理 PCL (Point Cloud Library) 是…...

js | TypeError: Cannot read properties of null (reading ‘indexOf’) 【解决】

js | TypeError: Cannot read properties of null (reading ‘indexOf’) 【解决】 描述 概述 在前端开发中&#xff0c;遇到TypeError: Cannot read properties of null (reading indexOf)这类错误并不罕见。这个错误通常表明你试图在一个null值上调用indexOf方法&#xff0c…...

微信小程序-formData使用

作者&#xff1a;fyupeng 技术专栏&#xff1a;☞ https://github.com/fyupeng 项目地址&#xff1a;☞ https://github.com/fyupeng/distributed-blog-system-api 留给读者 一、介绍 在小程序中使用formdata上传数据&#xff0c;可实现多文件上传 跟浏览器中的FormData对象类…...

潜在语义分析(Latent Semantic Analysis,LSA)—无监督学习方法、非概率模型、判别模型、线性模型、非参数化模型、批量学习

定义 输入: X [ x 11 x 12 ⋯ x 1 n x 21 x 22 ⋯ x 2 n ⋮ ⋮ ⋮ ⋮ x m 1 x m 2 ⋯ x m n ] , 文本集合 D { d 1 , d 2 , ⋯ , d n } , 单词集合 W { ω 1 , ω 2 , ⋯ , ω m } , x i j : 单词 ω i 在文本 d j 中出现的频数或权值 X\left[ \begin{array}{cccc} x_{11} …...

【安全漏洞】MySQL 8.0.33 、CVE-2023-22102

mysql-connector-java:jar:8.0.33已经重新定位到mysql-connector-j:jar:8.0.33 安全漏洞描述 在SBOM扫描过程中&#xff0c;检测到mysql-connector-j:8.0.33存在如下高危安全漏洞&#xff1a; CVE-2023-22102&#xff1a;Oracle MySQL Connectors 8.1.0 版本之前存在安全漏洞&…...

Flutter 响应式框架

一、简介 响应式框架会自动使用户界面适应不同的屏幕大小。创建你的用户界面一次&#xff0c;让它显示完美的像素在移动&#xff0c;平板电脑和桌面&#xff01; 1.1 问题 支持多种显示尺寸通常意味着要多次重新创建同一布局。在传统的Bootstrap方法下&#xff0c;构建响应式…...

电脑AE特效软件 After Effects软件2017中文版下载安装指南 (Win/Mac)

电脑ae特效软件 After Effects软件2017中文版下载安装win/... 电脑AE特效软件 After Effects软件2017中文版下载安装指南 (Win/Mac) Adobe After Effects 2017 是一款功能强大的视频后期处理软件&#xff0c;广泛应用于影视特效制作、动态图形设计、视觉效果合成等领域。其丰…...

C#中的装箱和拆箱是什么

在 C# 中&#xff0c;装箱&#xff08;Boxing&#xff09;和拆箱&#xff08;Unboxing&#xff09;是与值类型和引用类型相关的概念&#xff0c;涉及到值类型的数据在托管堆&#xff08;Heap&#xff09;上的存储方式。 装箱&#xff08;Boxing&#xff09; 装箱是指将值类型…...

在 Debian 12 上安装中文五笔输入法

在 Debian 12 上安装中文五笔输入法&#xff0c;你可以通过以下步骤进行&#xff1a; 更新系统包列表&#xff1a; 打开终端&#xff0c;首先更新你的系统包列表&#xff1a; sudo apt update安装输入法框架&#xff1a; 安装 fcitx5 输入法框架&#xff1a; sudo apt install …...

整流器制造5G智能工厂物联数字孪生平台,推进制造业数字化转型

整流器制造行业作为制造业的重要组成部分&#xff0c;也在积极探索数字化转型的新路径。整流器&#xff0c;作为电力电子领域的关键元件&#xff0c;广泛应用于通信、工业控制、新能源等多个领域&#xff0c;其制造过程的智能化升级不仅关乎产品性能的提升&#xff0c;更是推动…...

算法知识点——常用输入输出数据的方式

如果输入的每组数据的结果不相互干扰的话&#xff0c;就可以在本次操作的时候将该组数据的相关结果进行输出。 1、n组输入输出(n确定&#xff09; scanf("%d",&n); while(n--) {scanf("%d %d",&a,&b); printf("%d %d\n",a,b);}cin…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地

借阿里云中企出海大会的东风&#xff0c;以**「云启出海&#xff0c;智联未来&#xff5c;打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办&#xff0c;现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

ServerTrust 并非唯一

NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...

解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错

出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上&#xff0c;所以报错&#xff0c;到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本&#xff0c;cu、torch、cp 的版本一定要对…...

拉力测试cuda pytorch 把 4070显卡拉满

import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试&#xff0c;通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小&#xff0c;增大可提高计算复杂度duration: 测试持续时间&#xff08;秒&…...

Device Mapper 机制

Device Mapper 机制详解 Device Mapper&#xff08;简称 DM&#xff09;是 Linux 内核中的一套通用块设备映射框架&#xff0c;为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程&#xff0c;并配以详细的…...

PAN/FPN

import torch import torch.nn as nn import torch.nn.functional as F import mathclass LowResQueryHighResKVAttention(nn.Module):"""方案 1: 低分辨率特征 (Query) 查询高分辨率特征 (Key, Value).输出分辨率与低分辨率输入相同。"""def __…...

Git 3天2K星标:Datawhale 的 Happy-LLM 项目介绍(附教程)

引言 在人工智能飞速发展的今天&#xff0c;大语言模型&#xff08;Large Language Models, LLMs&#xff09;已成为技术领域的焦点。从智能写作到代码生成&#xff0c;LLM 的应用场景不断扩展&#xff0c;深刻改变了我们的工作和生活方式。然而&#xff0c;理解这些模型的内部…...

毫米波雷达基础理论(3D+4D)

3D、4D毫米波雷达基础知识及厂商选型 PreView : https://mp.weixin.qq.com/s/bQkju4r6med7I3TBGJI_bQ 1. FMCW毫米波雷达基础知识 主要参考博文&#xff1a; 一文入门汽车毫米波雷达基本原理 &#xff1a;https://mp.weixin.qq.com/s/_EN7A5lKcz2Eh8dLnjE19w 毫米波雷达基础…...

mac:大模型系列测试

0 MAC 前几天经过学生优惠以及国补17K入手了mac studio,然后这两天亲自测试其模型行运用能力如何&#xff0c;是否支持微调、推理速度等能力。下面进入正文。 1 mac 与 unsloth 按照下面的进行安装以及测试&#xff0c;是可以跑通文章里面的代码。训练速度也是很快的。 注意…...

TJCTF 2025

还以为是天津的。这个比较容易&#xff0c;虽然绕了点弯&#xff0c;可还是把CP AK了&#xff0c;不过我会的别人也会&#xff0c;还是没啥名次。记录一下吧。 Crypto bacon-bits with open(flag.txt) as f: flag f.read().strip() with open(text.txt) as t: text t.read…...