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

本文总结了Servlet开发中遇到的常见问题,如乱码解决、404/405错误分析、500服务器错误处理和空白界面原因,帮助初学者理解并解决这些问题。

💕"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和端口号是否正确

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值