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

简介: 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和端口号是否正确

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


目录
相关文章
|
JSON 前端开发 网络协议
前端知识点-----跨域
前端知识点-----跨域
387 0
|
10月前
|
人工智能 编解码 芯片
告别低效沟通|让技术提问不再头疼-这套高效AI提问模板来帮你
不会向ai提问,不知道怎么提问的 可以看看
21037 1
告别低效沟通|让技术提问不再头疼-这套高效AI提问模板来帮你
|
12月前
|
编解码 前端开发 开发者
React 图片组件样式自定义:常见问题与解决方案
在 React 开发中,图片组件的样式自定义常因细节问题导致布局错乱、性能损耗或交互异常。本文系统梳理常见问题及解决方案,涵盖基础样式应用、响应式设计、加载状态与性能优化等,结合代码案例帮助开发者高效实现图片组件的样式控制。重点解决图片尺寸不匹配、边框阴影不一致、移动端显示模糊、加载失败处理及懒加载等问题,并总结易错点和最佳实践,助力开发者提升开发效率和用户体验。
409 22
|
前端开发 JavaScript API
React 图片放大组件 Image Zoom
本文介绍如何使用React创建图片放大组件(Image Zoom),提升用户体验。组件通过鼠标悬停或点击触发放大效果,利用`useState`管理状态,CSS实现视觉效果。常见问题包括图片失真、性能下降和移动端支持,分别可通过高质量图片源、优化事件处理和添加触摸事件解决。易错点涉及状态管理混乱、样式冲突和过多事件绑定,建议使用上下文API、CSS模块及优化事件绑定逻辑。高级功能扩展如多张图片支持和自定义放大区域进一步丰富了组件的实用性。
524 25
|
JSON 前端开发 API
后端开发中的API设计与文档编写指南####
本文探讨了后端开发中API设计的重要性,并详细阐述了如何编写高效、可维护的API接口。通过实际案例分析,文章强调了清晰的API设计对于前后端分离项目的关键作用,以及良好的文档习惯如何促进团队协作和提升开发效率。 ####
|
存储
子网划分问题(实战超详解)_主机分配地址
本文详细介绍了子网划分的核心思想及步骤,通过实例演示如何根据所需主机数量借位生成子网,并确定每个子网的网络地址、广播地址及可用 IP 范围。以一个自治系统的具体需求为例,展示了子网划分的实际应用过程。
1127 13
idea 打不开,电脑上下了多个IDEA,新下的IDEA双击打不开,新版IDEA打不开,超实用简单解决办法
一个简单实用的方法来解决新安装的 IntelliJ IDEA 打不开的问题,通常是由于旧版本未卸载干净导致配置文件冲突,建议删除旧版的配置文件来解决这个问题。
3849 1
|
传感器 监控 物联网
认识物联网层次架构设计
物联网可以分为三个层次,底层是用来感知数据的感知层,即利用传感器、二维码、RFID等设备随时随地获取物体的信息。第二层是数据传输处理的网络层,即通过各种传感网络与互联网的融合,将对象当前的信息实时准确地传递出去。第三层则是与行业需求结合的应用层,即通过智能计算、云计算等将对象进行智能化控制。
2370 3
|
Java Linux 网络安全
Halo
【6月更文挑战第20天】
393 3
|
机器学习/深度学习 计算机视觉 Python
深度学习实战】行人检测追踪与双向流量计数系统【python源码+Pyqt5界面+数据集+训练代码】YOLOv8、ByteTrack、目标追踪、双向计数、行人检测追踪、过线计数(3)
深度学习实战】行人检测追踪与双向流量计数系统【python源码+Pyqt5界面+数据集+训练代码】YOLOv8、ByteTrack、目标追踪、双向计数、行人检测追踪、过线计数

热门文章

最新文章