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

计科web常见错误排错【HTTP状态404、导航栏无法点开、字符乱码及前后端数据传输呈现、jsp填写的数据传到数据库显示null、HTTP状态500】

=======web排错记录======

在使用javaweb的过程中会出现的一些错误请在下方目录查找。

目录

错误1:HTTP状态404——未找到

错误2:导航栏下拉菜单无法点开的问题

错误3:字符乱码问题

错误4:jsp网页全部都是???

错误5:修改数据库后网页呈现无变化 

错误6:jsp填写的数据传到数据库显示null

错误7:HTTP状态500-内部服务器错误——javax.servlet.ServletException: Servlet执行抛出一个异常  org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)    filter.EncodeFilter.doFilter(EncodeFilter.java:14)

错误8:HTTP状态500-内部服务器错误——类【???】不是Servlet


错误1:HTTP状态404——未找到

点击功能后登录404错误

一般是这里出错,也就是登录login的servlet,文件是UserLoginServlet

 如图,改为这样就行

错误2:导航栏下拉菜单无法点开的问题

如图,点了导航栏,下拉菜单没弹出,好像被什么挡住

经过一番排查,发现是我之前用了一个jQuery图片轮播插件,引入了它需要的css和js,应该是造成了和原来css和js的冲突

然后我再排查了一下,不是js的问题,就是css冲突,才最终造成我的导航栏弹不开,

我将自己引入的jQuerycss文件夹删了导航栏就可以点开了。

错误3:字符乱码问题

如图,现实菜单栏file→setting→Editour→File Encodings,这里箭头所指的三个地方都改一改

然后我发现还无效

于是我发现了一个新地方,就是File→File Properties→File Encoding,点开后有可能我之前选的是GBK,然后我换成了utf-8,然后乱码问题就解决了

错误4:jsp网页全部都是???

等一下,我的是经过了30分钟,然后就自动恢复了

错误5:修改数据库后网页呈现无变化 

如图,我这里写了7个类别,之前本来有8个类别,被我减掉一个,可是网页还是呈现8个类别,我也不清楚怎么回事,重新新建数据库重新导入sql语句后还会是这样,后面好像过了十分钟左右就变过来了,应该是有延迟,如下图,已变为7个类别

错误6:jsp填写的数据传到数据库显示null

如图,jsp随便填写

 然后我点击提交保存,接着查看数据库这边:

 可以看到这里最后一行,数据全部是null

那么我们来开始排除:

第一步排错:

你找到你对应的那个Dao类,用System.out.print()随便打印出几个,发现箭头所指的方向那里为null,换句话说也就是还没传入数据库的时候你这里就是null

第二步排错:这里sql语句要和数据库列名要对应好

 数据库的列名要对应,例如我后来发现我这里的vehicleowner由于之前自己复制粘贴的缘故,少些了一个r,导致它出问题,什么unknown "vehicleowner"什么的,其实就是这里单词没写全

第三步排错【最重要】:

兜兜转转几个小时,才发现是Servlet类那边的数据没有复制过来的问题,即在这里加上这段话就行:也就是下图中try catch那段

 之前参考代码是有这段代码的,中途出了错我就把它注释掉,后来以为没什么用就删掉了,后来复查了几个小时查看原本的资料,才发现最重要的是里面这句

BeanUtils.copyProperties(vehicle, request.getParameterMap());

这句就是把你在jsp填的数据扔到Dao类那边,Dao类是直接面向数据库操作,Dao类会再负责将数据添加进数据库,所以我就缺少了这句代码,导出Dao类一直数据为null,收不到数据

然后发现只用上面这句代码玩不转,还是得外面套上try catch才行,即如下:

try {BeanUtils.copyProperties(vehicle, request.getParameterMap());} catch (IllegalAccessException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (InvocationTargetException e) {// TODO Auto-generated catch blocke.printStackTrace();}

你加这段然后去运行,Dao类那边就有数据,数据库就能正常添加,正确显示数据。

如图,随便写点数据

我的jsp显示登记成功,那么我们去数据库看看

 如图,刚才的数据不再是null,已成功添加进数据库。

错误7:HTTP状态500-内部服务器错误——javax.servlet.ServletException: Servlet执行抛出一个异常  org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
    filter.EncodeFilter.doFilter(EncodeFilter.java:14)

很有可能是总共三个地方名称不对应的问题,哪三个地方?

你要注意你的jsp普通类【就是你生成构造函数啊get和set方法那个】Dao类

如下:

比如你jsp的name=ownername,我之前是name=username,然后我改成name=ownername了,但其他两个地方忘了改,造成了网页状态500

所以说比如我这里jsp的这里写的是name=ownername的话,那么你得检查一下你数据库那里是不是一样也是ownername,要一致

然后比如我的ProblemFeedback.java这里面不要忘了改,一样也要是ownername

get和set方法最好重新弄,保持一致

 ProblemFeedback.java其余地方也改成一样

 最后看Dao类,你看我之前说过我原本是name,然后改成ownername,这里忘记改了还是name,那么这里就会显示白色,你看我改为ownername了后

你看就不是白色了,然后你还是看上面那张图,箭头所指,之前由于你根据新建的String ownername重新生成那个getOwnername()方法,那么你这里也要是getOwnername(),我这里是已经改过来的,之前是getName(),现在改成了getOwnername()。

只要这几个地方能对应,就不会出现HTTP状态500-内部服务器错误

错误8:HTTP状态500-内部服务器错误——类【???】不是Servlet

解决:有可能你相对应Servlet差了一个extends HttpServlet,如图,补上extends HttpServlet这两个单词就行

相关文章:

计科web常见错误排错【HTTP状态404、导航栏无法点开、字符乱码及前后端数据传输呈现、jsp填写的数据传到数据库显示null、HTTP状态500】

web排错记录 在使用javaweb的过程中会出现的一些错误请在下方目录查找。 目录 错误1:HTTP状态404——未找到 错误2:导航栏下拉菜单无法点开的问题 错误3:字符乱码问题 错误4:jsp网页全部都是??&#x…...

仿VScode MDK背景配色方案

效果如果所示 操作方法:备份后修改~/UV4文件夹下的global.prop,用以下的代码代替。 # properties for all file types indent.automatic1 virtual.space0 view.whitespace0 view.endofline0 code.page936 caretline.visible1 highlight.matchingbraces1…...

AutoSAR系列讲解(实践篇)9.5-通信的数据映射

本节很简单,但是很重要,是配置中必不可少的一个部分。因此单独列了这么一节出来 Data Mapping概述 在Davinci Cfg中,数据是不能直接放在IPDU上的,必须要映射到相应的Signals上才行。Signals一般是由通信矩阵定义的,但是通信矩阵并不知道程序中究竟用的是哪个数据进行传输…...

janus-Gateway的服务端部署

janus-Gateway 需求是前后端的webRTC推拉流,但是后端用的是c,于是使用了这个库做视频流的推送和拉取,记录踩坑过程。 如果你也需要自己部署janus的服务端并在前端拉流测试,希望对你有所帮助。 由于janus的服务器搭建需要linux环境…...

力扣简单1道_两数之和

两数之和 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序…...

从vue3速学react

单位老项目vue2,新项目vue3,业务已经熟练使用vue了,空余时间自学下react,写个博客记录下 react没有双向绑定,用的是jsx语法,useState后面是初始化值,需要改变data的时候,需要用定义的setXXX来改变XXX值&am…...

Kotlin 协程 CoroutineScope

协程定义: 19年官方是这样说的:协程是轻量级的线程,协程就是 Kotlin 提供的一套线程封装的 API; 现在官方是这样说的:协程是一种并发设计模式; 协程作用: 1.处理耗时任务; 2.保…...

如何构建适合自己的DevOps软件测试改进方案

​目录 DevOps成熟度模型分析 构建适合企业自身性能的测试过程改进框架 资料获取方法 根据2022年的DevOps全球调查报告显示,主流软件企业采用或部分采用DevOps且已获得良好成效的占比已达70%,DevOps俨然成为当下软件开发研究的重要方向。 测试作为软…...

PHP关于字符串的各类处理方法

判断字符串是否以指定子串开头或结尾 function startsWith($str, $prefix) {return stripos($str, $prefix) 0; }function endsWith($str, $suffix) {return substr_compare($str, $suffix, -strlen($suffix)) 0; }// 示例用法 $text "hello world"; $result st…...

Springboot+MyBatis使用

目录 依赖 配置信息 xml文件 mapper接口 打印日志 分页查询 依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId> </dependency><dependency><groupId>my…...

WebSocketServer的使用(@ServerEndpoint)

前端代码 function initWebSocket() {if (typeof WebSocket "undefined") {console.log("您的浏览器不支持WebSocket");} else {console.log("您的浏览器支持WebSocket");//实现化WebSocket对象&#xff0c;指定要连接的服务器地址与端口 建立连…...

【yolov8系列】将yolov8-seg 模型部署到瑞芯微RK3566上

前言 之前记录过【yolov5系列】将模型部署到瑞芯微RK3566上&#xff0c;整体比较流畅&#xff0c;记录了onnx转rknn的相关环境配置&#xff0c;使用的rk版本为rknn-toolkit2-v1.4.0。当前库已经更新为1.5&#xff0c;这里还是沿用1.4的版本进行记录。本篇博客是在上篇博客&…...

Java类的默认构造函数

什么情况下存在默认构造函数 说明 如果一个Java类没有显式包含构造函数的声明&#xff0c;那么隐含着有一个默认构造函数。 示例 定义一个类B&#xff0c;没有显式声明构造函数&#xff0c;所以存在一个默认构造函数&#xff1a; package com.thb;public class B {public …...

华为openGauss数据库入门 - gsql用法

目录 1.1 gsql的语法 1.2 gsql常用选项 1.2.1 最常用的必要选项 1.2.2 -r选项 1.2.3 -E选项 1.2.4 -t选项 1.2.5 -A选项 1.2.6 -v选项 1.2.7 -c选项 1.2.8 -f选项 1.2.9 -q选项 1.3 gsql的元命令 1.3.1 \l命令 1.3.2 \du命令和\dg命令 1.3.3 \db命令 1.3.4 \d…...

The Sandbox 重新上线,带来全新体验!

在经历了一个充满史诗般新回忆的全力开局后&#xff0c;我们短暂休息了片刻&#xff0c;为玩家准备了全新的、惊心动魄的游戏活动。 我们已经完成了功能的微调&#xff0c;准备将您的游戏体验提升到一个全新高度&#xff01; 想知道我们正在做什么吗&#xff1f;现在还无法公开…...

动态内存管理面试题

动态内存管理面试题 文章目录 动态内存管理面试题一、第一题此代码存在的问题运行结果分析原因修改 二、第二题此代码存在的问题运行结果分析原因修改 一、第一题 代码如下&#xff08;示例&#xff09;&#xff1a; #include<stdio.h> #include<string.h> #incl…...

树莓派外设开发编程

目录 一、树莓派的接口&#xff1a;驱动 二、wiringPi 库 1.在使用wiringPi库的时候&#xff0c;需要包含头文件 2.wiringPi库API 一、树莓派的接口&#xff1a;驱动 IO口&#xff1a;input output 对于主控来说 Input &#xff1a;人体、烟雾、振动 output: 继电…...

Java从入门到精通(一)

Java从入门到精通&#xff08;一&#xff09; 前言 温故而知新&#xff0c;闲着没事干&#xff0c;准备将Java编程语言的知识点从头梳理一遍&#xff0c;整理成笔记&#xff0c;逐篇发布。 部分图片素材来源与B站“黑马程序员”的课程。 一 Java背景 Java是1995年 由Sun公司…...

Electron从构建到打包程exe应用

Electron从构建到打包程exe应用 Electron文档搭建网页装载到 BrowserWindow中定义全局对象进程之间通信渲染器进程到主进程&#xff08;单向&#xff09;渲染器进程到主进程&#xff08;双向&#xff09;主进程到渲染器进程 打开调试器打包应用程序对代码进行签名 Electron文档…...

3分钟学会设计模式 -- 单例模式

►单例模式 ►使用场景 在编写软件时&#xff0c;对于某些类来说&#xff0c;只有一个实例很重要。例如&#xff0c;一个系统中可以存在多个打印任务&#xff0c;但是只能有一个正在工作的任务&#xff1b;一个系统中可以多次查询数据库&#xff0c;但是只需要一个连接&#x…...

STM32标准库-DMA直接存储器存取

文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA&#xff08;Direct Memory Access&#xff09;直接存储器存取 DMA可以提供外设…...

【算法训练营Day07】字符串part1

文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接&#xff1a;344. 反转字符串 双指针法&#xff0c;两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...

MySQL 8.0 OCP 英文题库解析(十三)

Oracle 为庆祝 MySQL 30 周年&#xff0c;截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始&#xff0c;将英文题库免费公布出来&#xff0c;并进行解析&#xff0c;帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...

如何理解 IP 数据报中的 TTL?

目录 前言理解 前言 面试灵魂一问&#xff1a;说说对 IP 数据报中 TTL 的理解&#xff1f;我们都知道&#xff0c;IP 数据报由首部和数据两部分组成&#xff0c;首部又分为两部分&#xff1a;固定部分和可变部分&#xff0c;共占 20 字节&#xff0c;而即将讨论的 TTL 就位于首…...

稳定币的深度剖析与展望

一、引言 在当今数字化浪潮席卷全球的时代&#xff0c;加密货币作为一种新兴的金融现象&#xff0c;正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而&#xff0c;加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下&#xff0c;稳定…...

JS设计模式(4):观察者模式

JS设计模式(4):观察者模式 一、引入 在开发中&#xff0c;我们经常会遇到这样的场景&#xff1a;一个对象的状态变化需要自动通知其他对象&#xff0c;比如&#xff1a; 电商平台中&#xff0c;商品库存变化时需要通知所有订阅该商品的用户&#xff1b;新闻网站中&#xff0…...

【电力电子】基于STM32F103C8T6单片机双极性SPWM逆变(硬件篇)

本项目是基于 STM32F103C8T6 微控制器的 SPWM(正弦脉宽调制)电源模块,能够生成可调频率和幅值的正弦波交流电源输出。该项目适用于逆变器、UPS电源、变频器等应用场景。 供电电源 输入电压采集 上图为本设计的电源电路,图中 D1 为二极管, 其目的是防止正负极电源反接, …...

第7篇:中间件全链路监控与 SQL 性能分析实践

7.1 章节导读 在构建数据库中间件的过程中&#xff0c;可观测性 和 性能分析 是保障系统稳定性与可维护性的核心能力。 特别是在复杂分布式场景中&#xff0c;必须做到&#xff1a; &#x1f50d; 追踪每一条 SQL 的生命周期&#xff08;从入口到数据库执行&#xff09;&#…...

苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会

在2025年的AI硬件浪潮中,苹果AI眼镜(Apple Glasses)正在引发一场关于“人机交互形态”的深度思考。它并非简单地替代AirPods或Apple Watch,而是开辟了一个全新的、日常可接受的AI入口。其核心价值不在于功能的堆叠,而在于如何通过形态设计打破社交壁垒,成为用户“全天佩戴…...

医疗AI模型可解释性编程研究:基于SHAP、LIME与Anchor

1 医疗树模型与可解释人工智能基础 医疗领域的人工智能应用正迅速从理论研究转向临床实践,在这一过程中,模型可解释性已成为确保AI系统被医疗专业人员接受和信任的关键因素。基于树模型的集成算法(如RandomForest、XGBoost、LightGBM)因其卓越的预测性能和相对良好的解释性…...