计科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这两个单词就行

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/5769.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【单片机】MSP430F149单片机,晨启,音乐播放器,蜂鸣器音乐

四、音乐播放器 任务要求: 设计制作一个简易音乐播放器(通过手柄板上的蜂鸣器发声,播放2到4首音 乐),同时LED模块闪烁,给人视、听觉美的感受。 评分细则: 按下播放按键P15开始播放音乐&#x…

【C++】继承基础知识及简单应用,使用reportSingleClassLayout(在Visual Studio开发人员命令提示窗口)查看派生类详细信息

author:&Carlton tag:C topic:【C】继承基础知识及简单应用,使用reportSingleClassLayout(在Visual Studio开发人员命令提示窗口)查看派生类详细信息 website:黑马程序员C date&#xf…

微信小程序原生上传图片和预览+云函数上传

1.前台页面 1.1wxml问阿金 <!-- 说明一个上传页面的按钮 --> <button type"primary" bindtap"uploadPage">上传页面展示</button> <!-- 声明一个上传服务器的按钮 --> <button type"warn" bindtap"uploadSeve…

第四讲:MySQL中DDL一些基本数据类型及表的创建、查询

目录 1、创建表:2、DDL一些基本数据类型&#xff1a; 1、创建表: 部分单词及解析&#xff1a; 1、tables:表 2、comment:评论&#xff0c;解释 3、gender:性别 4、neighbor&#xff1a;邻居 1、创建表&#xff1a;&#xff08;注&#xff1a;在自定义数据库操作&#xff0c;…

spring中bean实例化的三种方式 -- Spring入门(二)

文章目录 前言1.Bean实例化简介2.bean的实例化 -- 构造方法3.bean的实例化 -- 静态工厂实例化4.bean实例化 -- 实例工厂和FactoryBean5.三种bean实例化方式的区别 总结 前言 为了巩固所学的知识&#xff0c;作者尝试着开始发布一些学习笔记类的博客&#xff0c;方便日后回顾。…

Leetcode 112. 路径总和

题目链接&#xff1a;https://leetcode.cn/problems/path-sum/description/ 思路 递归&#xff0c;先序遍历二叉树&#xff0c;每遍历一个节点便减去当前存储值&#xff08;targetSum targetSum - root.val&#xff09;&#xff1b;当到达某个节点等于targetSum (targetSum…

labview 子画面插入面板

1.前言 在前面一篇文章中描述了弹框式显示子画面&#xff0c; labview 弹窗(子vi)_weixin_39926429的博客-CSDN博客 本文介绍插入式显示子画面。 本文的主题在以前的文章中介绍过&#xff0c; labview 插入子面板_labview插入子面板_weixin_39926429的博客-CSDN博客 借用…

机器学习算法分类

机器学习根据任务的不同&#xff0c;可以分为监督学习、无监督学习、半监督学习、强化学习。 1. 无监督学习 训练数据不包含任何类别信息。无监督学习里典型例子是聚类。要解决的问题是聚类问题和降维问题&#xff0c;聚类算法利用样本的特征&#xff0c;将具有相似特征的样本…

微服务 云原生:搭建 K8S 集群

为节约时间和成本&#xff0c;仅供学习使用&#xff0c;直接在两台虚拟机上模拟 K8S 集群搭建 踩坑之旅 系统环境&#xff1a;CentOS-7-x86_64-Minimal-2009 镜像&#xff0c;为方便起见&#xff0c;直接在 root 账户下操作&#xff0c;现实情况最好不要这样做。 基础准备 关…

React18和React16合成事件原理(附图)

&#x1f4a1; React18合成事件的处理原理 “绝对不是”给当前元素基于addEventListener做的事件绑定&#xff0c;React中的合成事件&#xff0c;都是基于“事件委托”处理的&#xff01; 在React17及以后版本&#xff0c;都是委托给#root这个容器&#xff08;捕获和冒泡都做了…

【java】java中注解的简介,如何自定义注解,有哪些类型,有什么作用

java注解 注解的定义 Java 注解用于为 Java 代码提供元数据。作为元数据&#xff0c;注解不直接影响你的代码执行&#xff0c;但也有一些类型的注解实际上可以用于这一目的。Java 注解是从 Java5 开始添加到 Java 的。 首先要明确一点的是&#xff0c;注解并没有实际的作用&…

八股文(消息队列)

文章目录 1. RabbitMQ特点2. 如何保证消息的可靠性3. RabbitMQ消息的顺序性4. 实现RabbitMQ的高可用性5. 如何解决消息队列的延时以及过期失效问题&#xff1f;6. RabbitMQ死信队列7. RabbitMQ延迟队列8.RabbitMQ的工作模式9. RabbitMQ消息如何传输10. 核心概念10.1 生产者和消…

SpringBoot整合Spring Security实现权限控制

文章目录 Spring Security介绍Spring Security案例1、快速搭建一个springboot工程2、导入SpringSecurity整合springboot工程3、认证3.1、登录流程校验3.2、入门案例的原理3.3、实现思路3.4、实现认证流程&#xff08;自定义&#xff09;3.5、正式实现3.5.1 实现数据库的校验3.5…

python node Ubuntu 安装软件、删除软件 、更新软件 中的 软件源概念

在Node 用npm 安装软件 在Python 用 pip 安装软件 在Ubuntu 用 apt 、apt-get 、snap 安装软件 因为这三款软件 都是国外的&#xff0c; 软件包&#xff08;模块&#xff09;都放在国外的&#xff0c; 安装 、更新 特别慢 Node中配置 下载源 在 node 中 要配置 下载的的地址…

【C语言初阶】指针的运算or数组与指针的关系你了解吗?

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏:《快速入门C语言》《C语言初阶篇》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 文章目录 &#x1f4cb; 前言&#x1f4ac; 指针运算&#x1f4ad; 指针-整数&#x1f4ad; 指针-指针&#x1f4ad; 指针…

关于K8s的Pod的详解(一)

关于K8s的Pod的详解&#xff08;一&#xff09; Pod和API server的通信加快Pod启动更改Pod的资源Pod 的持久卷的单个访问模式Pod 拓扑分布约束Pod 拓扑分布中的最小域数 Pod 作为k8s创建&#xff0c;调度&#xff0c;管理的基本单位。由上级的Controller对Node上安装的Kubelet发…

电脑安装双系统ubuntu18.04+windows后开机直接进入Windows解决方法

电脑型号&#xff1a;联想拯救者Y9000K2021H 系统&#xff1a;Windows11Ubuntu18.04双系统 问题&#xff1a;笔记本安装双系统后&#xff0c;Windows系统下处理word或者看论文&#xff1b;Ubuntu18.04系统安装ros进行机械臂控制等的研究。但最近开机后发现没有系统选项了&#…

网络传输媒体

物理层下面的传输媒体分为两种&#xff1a;导向型传输媒体和非导向型传输媒体。 一、导向型传输媒体 同轴电缆&#xff1a; 图示&#xff1a; 分类&#xff1a; 基带同轴电缆&#xff1a;用于数字传输&#xff0c;在早期局域网中广泛使用宽带同轴电缆&#xff1a;用于模拟传输…

数据结构之BinaryTree(二叉树)的实现

BinaryTree要实现的方法 总结 remove不在BinNode里&#xff0c;而是BinTree里 递归的两种写法 从上往下&#xff1a;同一对象的递归&#xff08;参数多一个&#xff0c;判空用一句话&#xff09;&#xff0c;子对象的递归&#xff08;参数void&#xff0c;判空用两句话&#…

python数据分析05—Pandas数据处理

目录 1.缺失数据处理 1.1 DataFrame自身产生的缺失数据 1.2 缺失数据判断和统计 ​1.3 缺失数据清理 2. 多源数据操作 2.1 合并函数&#xff1a;merge() 2.2 连接函数&#xff1a;join() 2.3 指定方向合并&#xff1a;concat() 3. 数据分组和聚合运算 3.1 groupby()方…