java http请求 转发_javaweb之Servlet,http协议以及请求转发和重定向

本文详细介绍了Servlet的主要知识点,包括Servlet的定义、生命周期、实现方式,以及通过HttpServlet进行Servlet程序的创建。文章还涵盖了ServletConfig和ServletContext的作用,HTTP协议的GET和POST请求,以及HttpServletRequest和HttpServletResponse的使用。最后讨论了请求转发和重定向的概念及其应用示例。
摘要由CSDN通过智能技术生成

本文是作者原创,版权归作者所有.若要转载,请注明出处.

一直用的框架开发,快连Servlet都忘了,此文旨在帮自己和大家回忆一下Servlet主要知识点.话不多说开始吧

用idea构建Servlet项目

ee5181db66e9b139f9ae75bbf5909562.png

项目结构如下

70ffbd962c006b0b7ad21e74d8b5d7eb.png

什么是 Servlet

1、Servlet 是 JavaEE 规范之一。规范就是接口

2、Servlet 就 JavaWeb 三大组件之一。三大组件分别是:Servlet 程序、Filter 过滤器、Listener 监听器。

3、Servlet 是运行在服务器上的一个 java 小程序,它可以接收客户端发送过来的请求,并响应数据给客户端。

实现第一个Servlet 程序(xml方式)

public class HelloServlet implementsServlet {

@Overridepublic void service(ServletRequest servletRequest, ServletResponse servletResponse) throwsServletException, IOException {

System.out.println("service 方法");

}

@OverridepublicString getServletInfo() {

System.out.println("getServletInfo 方法");return null;

}

@Overridepublic voiddestroy() {

System.out.println("destroy 方法");

}

@Overridepublic void init(ServletConfig servletConfig) throwsServletException {

System.out.println("init 初始化方法");

}

@OverridepublicServletConfig getServletConfig() {

System.out.println("getServletConfig 方法");return null;

}

}

web.xml 中的配置:

HelloServlet02

com.lusai.HelloServlet

HelloServlet02

/test01

配置Tomcat项目路径

d28a061bbfbbdc23afa5dea68c9d95e5.png

端口号

5f2c9239628515a2d62c5612491e7eb9.png

访问url测试

http://localhost:8080/servlet/test01

看结果

30fe85e12c60aae819b64387fac0325a.png

Servlet 的生命周期

1、执行 Servlet 构造器方法

2、执行 init 初始化方法 第一、二步,是在第一次访问的时候创建 Servlet 程序会调用。只调用一次

3、执行 service 方法 第三步,每次访问都会调用。

4、执行 destroy 销毁方法 第四步,在 web 工程停止的时候调用

通过继承 HttpServlet 实现 Servlet 程序

一般在实际项目开发中,都是使用继承 HttpServlet 类的方式去实现 Servlet 程序。

这里,我们使用Servlet 3.0 新增的注解@WebServlet以避免配置太多的xml

@WebServlet 用于将一个类声明为 Servlet,该注解将会在部署时被容器处理,容器将根据具体的属性配置将相应的类部署为 Servlet。

如此配置之后,就可以不必在 web.xml 中配置相应的 和 元素了,容器会在部署时根据指定的属性将该类发布为 Servlet

@WebServlet("/hello2")public class HelloServlet2 extendsHttpServlet {/*** doGet()在 get 请求的时候调用*/@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throwsServletException, IOException {

System.out.println("HelloServlet2 的 doGet 方法");

}/*** doPost()在 post 请求的时候

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值