Servlet使用过程中常见问题总结

💕"Echo"💕
作者:Mylvzi
文章主要内容:Servlet使用过程中常见问题总结
在这里插入图片描述
前言:笔者在学习Servlet的过程中遇到了很多问题,这里总结一下

1.乱码问题

如果我们在响应报文中传输中文"你好",那么在浏览器之中显示就是"??",表示乱码
在这里插入图片描述
想要解决乱码问题,我们首先要清楚乱码是如何产生的,一般来说,如果出现了乱码问题,就说明有多个过程参与了编码,并且编码的方式不同,比如构造数据时使用utf8,解析数据时使用gbk,这样就会产生乱码的问题

具体来说可以通过一下两个步骤来解决乱码问题:

  1. 梳理清楚,程序在运行的过程中,都有哪些过程参与了编码
  2. 明确这些过程的具体编码方式

首先,在构造数据时是通过idea进行构造数据的,idea的编码方式是utf8
在这里插入图片描述
解析数据是通过浏览器进行解析的,浏览器的编码方式默认是和操作系统一致的,我的操作系统是windows简体中文版,默认的编码方式是gbk,所以浏览器的编码方式也是gbk,所以会产生乱码问题

要想解决乱码问题,就要统一编码方式,我们建议将gbk改为utf8(更容易),只需在响应报文的头部中进行设置即可
在这里插入图片描述
这样响应报文中的头部中就明确了编码方式为utf8,重新启动程序
在这里插入图片描述
乱码问题成功解决

2.出现404

404表示用户访问的资源不存在,一般来说,出现404的情况有两种:

1.写错了URL

URL 由ContextPath 和 ServletPath组成,输错,就会产生404
在这里插入图片描述

在这里插入图片描述

2.webxml配置错误

当web.xml文件中的代码输入错误时,也会触发404

3.出现405

405表示方法不允许,这在初学期经常出现,比如请求报文的方法是GET,但是没有重写doGet方法就会触发405
在这里插入图片描述
还有一种情况也可能会出现405

没有删除 super.doGet(req, resp);

如果没有删除,此时代码就会执行父类中的方法,同时也是方法不允许(因为父类方法中没有重写任何方法)

4.出现500

出现500,服务器内部错误,一般是你写的服务器代码中没有正确处理好异常

比如,在代码中添加:

        String s = null;
        System.out.println(s.length());

报错:
在这里插入图片描述
这条消息还告诉你出错的异常类型以及所在的位置

5.出现空白界面
出现空白界面就证明没有响应报文被返回,检查代码中是否返回了响应报文

如果注释掉这部分,就会出现空白界面

//        resp.getWriter().write("你好");

在这里插入图片描述
6.出现无法访问此网站
表示你写的服务器不能运行,一般来说是你的tomcat没有正常运行,此时就要检查tomcat是否正常运行,如果正常运行就需要检查写的ip和端口号是否正确

以上就是本文的所有内容!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Redis中的AOF重写到底是怎么一回事

首先我们知道AOF和RDB都是Redis持久化的方法。RDB是Redis DB,一种二进制数据格式,这样就是相当于全量保存数据快照了。AOF则是保存命令,然后恢复的时候重放命令。 AOF随着时间推移,会越来越大,因为不断往里追加命令。…

Java基于SpringBoot+Vue的图书馆管理系统,附源码,数据库

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…

一款跳转警告HTML单页模板源码

一款跳转警告HTML单页模板,源码由HTMLCSSJS组成,记事本打开源码文件可以进行内容文字之类的修改&#xff0c;双击html文件可以本地运行效果&#xff0c;也可以上传到服务器里面&#xff0c;重定向这个界面 代码如下 <!DOCTYPE html> <html> <!--QQ沐编程 www.q…

HarmonyOS—使用预览器查看应用/服务效果

DevEco Studio为开发者提供了UI界面预览功能&#xff0c;可以查看应用/服务的UI界面效果&#xff0c;方便开发者随时调整界面UI布局。预览器支持布局代码的实时预览&#xff0c;只需要将开发的源代码进行保存&#xff0c;就可以通过预览器实时查看应用/服务运行效果&#xff0c…

统计图玫瑰图绘制方法

统计图玫瑰图绘制方法 常用的统计图有条形图、柱形图、折线图、曲线图、饼图、环形图、扇形图。 前几类图比较容易绘制&#xff0c;饼图环形图绘制较难。 还有一种玫瑰图的绘制也较难&#xff0c;今提供玫瑰图的绘制方法供参考。 本方法采用C语言的最基本功能&#xff1a; &am…

axure9.0 工具使用思考

原型设计软件【AxureRP】快速原型设计工具原型设计软件【AxureRP】快速原型设计工具原型设计软件【AxureRP】快速原型设计工具原型设计软件【AxureRP】快速原型设计工具原型设计软件【AxureRP】快速原型设计工具原型设计软件【AxureRP】快速原型设计工具原型设计软件【AxureRP】…

Kafka3.x进阶

来源&#xff1a;B站 目录 Kafka生产者生产经验——生产者如何提高吞吐量生产经验——数据可靠性生产经验——数据去重数据传递语义幂等性生产者事务 生产经验——数据有序生产经验——数据乱序 Kafka BrokerKafka Broker 工作流程Zookeeper 存储的 Kafka 信息Kafka Broker 总…

预告 | 飞凌嵌入式即将亮相第八届瑞芯微开发者大会(RKDC2024)

2024年3月7~8日&#xff0c;第八届瑞芯微开发者大会&#xff08;RKDC2024&#xff09;将在福州举办&#xff0c;本届大会以“AI芯片AI应用AloT”为主题&#xff0c;邀请各行业的开发者共启数智化未来。 本届大会亮点颇多&#xff0c;不仅有13大芯片应用展示、9场产品和技术论坛…

洛谷 【算法1-2】排序

【算法1-2】排序 - 题单 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 鄙人不才&#xff0c;刷洛谷&#xff0c;迎蓝桥&#xff0c;【算法1-2】排序 已刷&#xff0c;现将 AC 代码献上&#xff0c;望有助于各位 P1271 选举学生会 【深基9.例1】选举学生会 - 洛谷 题目 解答…

YOLOv9 | 利用YOLOv9训练自己的数据集 -> 推理、验证(源码解读 + 手撕结构图)

一、本文介绍 本文给大家带来的是全新的SOTA模型YOLOv9的基础使用教程&#xff0c;需要注意的是YOLOv9发布时间为2024年2月21日&#xff0c;截至最近的日期也没有过去几天&#xff0c;从其实验结果上来看&#xff0c;其效果无论是精度和参数量都要大于过去的一些实时检测模型&…

智能水浸传感器拆解指导,水浸传感器有哪些种类?

很多朋友听说过智能水浸传感器&#xff0c;当我们的厨房或者卫生间发生漏水&#xff0c;只要提前安装放置好一个水浸传感器&#xff0c;哪怕我们身处外地也能发现并及时处理。除此之外&#xff0c;数据中心、机房、仓库、实验室、工厂、档案馆等也是智能水浸传感器的常见应用场…

如何图片无损放大?分享两个无损放大方法

在数字化时代的洪流中&#xff0c;我们时常被细微之处的美丽所打动——那些精致的画面&#xff0c;那些清晰的细节。然而&#xff0c;随着图片的放大&#xff0c;我们常常面临一个难题&#xff1a;清晰度的损失。此时&#xff0c;图片无损放大软件能够在不损失图片质量的前提下…

宝塔面板安装了mysql5.7和phpMyadmin,但是访问phpMyadmin时提示502 Bad Gateway

操作流程截图如下&#xff1a; 原因是没有选择php版本 选择php版本 下一页找到phpMyAdmin&#xff0c;选择设置 目前只有纯净态&#xff0c;说明没有php环境&#xff0c;前去安装php环境 点击安装&#xff0c;选择版本&#xff0c;这里选择的是7.4版本&#xff0c;编译安…

设计模式六:策略模式

1、策略模式 策略模式定义了一系列的算法&#xff0c;并将每一个算法封装起来&#xff0c;使每个算法可以相互替代&#xff0c;使算法本身和使用算法的客户端分割开来&#xff0c;相互独立。 策略模式的角色&#xff1a; 策略接口角色IStrategy&#xff1a;用来约束一系列具体…

抖音爬虫批量视频提取功能介绍|抖音评论提取工具

抖音爬虫是指通过编程技术从抖音平台上获取视频数据的程序。在进行抖音爬虫时&#xff0c;需要注意遵守相关法律法规和平台规定&#xff0c;以确保数据的合法获取和使用。 一般来说&#xff0c;抖音爬虫可以实现以下功能之一&#xff1a;批量视频提取。这个功能可以用于自动化地…

【C++精简版回顾】7.析构函数

1.析构函数 class MM { public:MM() {}MM(const char* a) {name new char[strlen(a)1];strcpy(name, a);cout << name << endl;}~MM() {delete[] name;name nullptr;cout << "调用析构函数" << endl;} private:char* name; }; int main(…

论文摘要翻译 ,论文摘要怎么翻译成英文?

论文摘要翻译在学术论文写作中扮演着至关重要的角色&#xff0c;它如同明灯&#xff0c;引领着读者快速理解论文的核心观点与目的。那么&#xff0c;如何才能将论文摘要翻译得恰到好处呢&#xff1f;这其中又蕴含着怎样的奥秘&#xff1f; 专家指出&#xff0c;摘要作为正式论文…

使用uniapp实现小程序获取wifi并连接

一、背景 因业务需求&#xff0c;需要在小程序实现发现wifi和连接wifi。但由于Andriod和IOS有差异&#xff0c;所以实现起来有所区别。 先看官方文档 https://developers.weixin.qq.com/miniprogram/dev/framework/device/wifi.html 把连接基础流程了解后&#xff0c;发现二者…

Jenkins的使用GIT(4)

Jenkins的使用GIT 20211002 我们使用 Jenkins 集成外部 Git 仓库&#xff0c;实现对真实代码的拉取和构建。在这里&#xff0c;我们选用 Coding/Github/Gitee 等都可以作为我们的代码源 1 生成公钥私钥 首先&#xff0c;我们先来配置公钥和私钥。这是 Jenkins 访问 Git 私有库…

springboot大学生体质测试管理系统源码和论文

大学生体质测试管理系统提供给用户一个简单方便体质测试管理信息&#xff0c;通过留言区互动更方便。本系统采用了B/S体系的结构&#xff0c;使用了java技术以及MYSQL作为后台数据库进行开发。系统主要分为系统管理员、教师和用户三个部分&#xff0c;系统管理员主要功能包括首…