欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > IT业 > JavaEE - HTTP状态码

JavaEE - HTTP状态码

2025/5/11 7:01:21 来源:https://blog.csdn.net/QIAO182/article/details/140671216  浏览:    关键词:JavaEE - HTTP状态码

Web服务器

浏览器和服务器两端进行数据交互,使用的就是HTTP协议(HTTP客⼾端和 HTTP服务器之间的交互数据 的格式)。

Web服务器就是对HTTP协议进⾏封装,程序员不需要直接对协议进⾏操作(⾃⼰写代码去解析http协议 规则),让Web开发更加便捷,所以Web服务器也被称为WWW服务器,HTTP服务器,主要功能是提供网上信息浏览服务。

常⻅的Web服务器有:Apache,Nginx,IIS,Tomcat,Jboss等。

 SprootBoot内置了Tomcat服务器,无需配置即可直接运行。

Tomcat默认端口号是8080,所以程序访问时的端口号也是8080端口号。

请求响应流程

浏览器输入URL之后,发情请求,就和服务器之间建立了连接。

浏览器:

输入网址:http://127.0.0.1:8080/hello

        首先,通过IP地址127.0.0.1定位到网络上的一台计算机,127.0.0.1就是本机

        再,通过端口号8080找到计算机上对应的进程,也就是在本地计算机中找到正在运行的

                8080端口程序

再,/user/sayhi是请求资源位置

        对于计算机而言 资源就是数据。web资源 : 通过网络可以访问到的资源(通常指存放          在服务器上的数据)

        http://127.0.0.1:8080/user/sayhi,就是向本地计算机中的8080端⼝程序,获取资源位置         是/user/sayhi的数据

8080端⼝程序,在服务器找/hello位置的资源数据,发给浏览器

服务器:

接收到浏览器发送的信息 (/user/sayhi)

在服务器上找到 /user/sayhi 的资源

把资源发送给浏览器

状态码报错

4xx    客户端发生错误

5xx    服务端发生错误(第一时间去看错误日志)

 1)404错误

404表示用户访问的资源不存在。大概率是URL的路径写的不正确。

正确示例:

package com.example.demo;import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class UserController {@RequestMapping("/sayHi")public String say() {return "hello Spring Boot ~";}
}

错误示例1:url单词拼错

错误示例2:注解写错

通过fiddler观察http请求

2)500错误

500表示服务器出现内部错误。一般是服务器的代码执行过程中遇到了一些特殊情况(服务器异常崩溃)就会产生这个状态码。

错误示例:

@RestController
public class UserController {@RequestMapping("/sayHi")public String sayHi(){int res = 10/0;return "hello,Spring";}
}

重启服务重新访问:

可以观察在idea上,程序后端控制台打印了具体的异常调用栈

异常信息⾥已经提⽰了出现异常的代码是 UserController.java 的第 11 ⾏。

错误原因是算术异常: 除数为0 。按照异常提⽰,去解决对应的问题即可。

总结:

  • 4xx 状态码 表示路径不存在,往往需要检查URL是否正确,和代码中设定的contex path 以及 servlet path 是否一致
  • 5xx 状态码 表示服务器出现错误,往往需要观察页面的提示内容 和 Tomcat的日志,观察是否存在报错
  • 出现连接失败往往意味着 服务没有正常启动,也需要观察服务的自身日志是否有错误提示

观察⽇志是调试程序的重要途径.系统⽇志往往很多,需要在工作或学习过程中耐⼼阅读,经常阅读,熟练了就能更快速的找到问题了~


版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词