HttpServlet

HttpServlet

http包下都有的接口:

javax.servlet.http.HttpServlet (HTTP协议专用的Servlet类,抽象类)

javax.servlet.http.HttpServletRequest (HTTP协议专用的请求对象)

javax.servlet.http.HttpServletResponse (HTTP协议专用的响应对象)

HttpServletRequest接口

HttpServletRequest接口的父接口:ServletRequest

HttpServletRequest接口是Servlet规范中的一员。

Tomcat服务器(WEB服务器、WEB容器)实现了HttpServletRequest接口,还是说明了Tomcat服务器实现了Servlet规范

public interface HttpServletRequest extends ServletRequest {}

HttpServletRequest接口中有哪些常用的方法

复制代码
Map<String,String[]> getParameterMap() 
这个是获取Map,前面的String是一个key,后面的String[]是一个数组;因为在Map集合中key重复,valaue会被覆盖,所以使用数组解决这个问题
Enumeration
<String> getParameterNames() 这个是获取Map集合中所有的key String[] getParameterValues(String name) 根据key获取Map集合的value String getParameter(String name) 获取value这个一维数组当中的第一个元素。这个方法最常用。 // 以上的4个方法,和获取用户提交的数据有关系。
复制代码

转发(一次请求)

复制代码
// 第一步:获取请求转发器对象
RequestDispatcher dispatcher = request.getRequestDispatcher("/b");
// 第二步:调用转发器的forward方法完成跳转/转发
dispatcher.forward(request,response);

// 第一步和第二步代码可以联合在一起。
request.getRequestDispatcher("/b").forward(request,response);
复制代码

重定向

// 注意:路径上要加一个项目名。 浏览器发送请求,请求路径上是需要添加项目名的。
response.sendRedirect("/oa/dept/list");

转发和重定向的本质区别?

转发:是由WEB服务器来控制的。A资源跳转到B资源,这个跳转动作是Tomcat服务器内部完成的。

重定向:是浏览器完成的。具体跳转到哪个资源,是浏览器说了算。

B/S结构的系统

这种系统是基于HTTP超文本传输协议的,在Servlet规范当中,提供了一个类叫做HttpServlet,

它是专门为HTTP协议准备的一个Servlet类。我们编写的Servlet类要继承HttpServlet。

(HttpServlet是HTTP协议专用的。)使用HttpServlet处理HTTP协议更便捷。它的继承结构:

jakarta.servlet.Servlet(接口)适配器模式
jakarta.servlet.GenericServlet implements Servlet(抽象类)
jakarta.servlet.http.HttpServlet extends GenericServlet(抽象类)
编写的Servlet要继承HttpServlet类。

HTTP协议

HTTP协议:是W3C制定的一种超文本传输协议。

超文本: HTTP协议可以传送普通字符串,也支持传递声音、视频、图片等流媒体信息。

浏览器 向 WEB服务器发送数据,叫做:请求(request):HTTP的请求协议包括4部分:请求行、请求头、空白行、请求体

WEB服务器 向 浏览器发送数据,叫做:响应(response):HTTP的响应协议包括4部分:状态行、响应头、空白行、响应体

200 表示请求响应成功,正常结束。

404表示访问的资源不存在,通常是因为要么是你路径写错了,要么是路径写对了,但是服务器中对应的资源并没有启动成功。总之404错误是前端错误

405表示前端发送的请求方式与后端请求的处理方式不一致时发生:

前端是POST请求,后端的处理方式按照get方式进行处理时,发生405

前端是GET请求,后端的处理方式按照post方式进行处理时,发生405

500表示服务器端的程序出现了异常。一般会认为是服务器端的错误导致的。

 

posted @   280887072  阅读(56)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示