JavaWeb_15_Servlet基础

本文介绍了Servlet的基本概念,作为服务器端程序用于生成动态Web内容。讲解了HTTP协议的作用及状态码分类。详细阐述了如何在项目中导入Tomcat库,并展示了Servlet的开发过程,包括HttpServlet的使用、@WebServlet注解、service方法以及请求和响应对象的处理。最后,讨论了Servlet的生命周期,包括init()、service()和destroy()方法。
摘要由CSDN通过智能技术生成

《Servlet基础》

目录

  • Servlet相关概念(了解)
  • HTTP协议(熟练)
  • Tomcat库导入(精通)
  • Servlet开发(熟练)
  • Servlet生命周期(掌握)

一、Servlet相关概念

Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容。

请添加图片描述

二、Http协议

HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web)服务器传输超文本到本地浏览器的传送协议,其基于TCP/IP通信协议来传递数据(HTML文件,图片, 结果数据等)。

请添加图片描述

HTTP 状态码分类:

分类分类描述
1**信息,服务器收到请求,需要请求者继续执行操作
2**成功,操作被成功接收并处理
3**重定向,需要进一步的操作以完成请求
4**客户端错误,请求包含语法错误或无法完成请求
5**服务器错误,服务器在处理请求的过程中发生了错误

三、Tomcat库导入

​ 在pom.xml中导入tomcat相关依赖(注意:此处依赖包版本尽量与本地tomcat版本一致)。

<!-- tomcat相关jar包 -->
<dependency>
    <groupId>org.apache.tomcat</groupId>
    <artifactId>tomcat-servlet-api</artifactId>
    <version>9.0.14</version>
</dependency>
<dependency>
    <groupId>org.apache.tomcat</groupId>
    <artifactId>tomcat-jsp-api</artifactId>
    <version>9.0.14</version>
</dependency>

四、Servlet开发

核心知识点

  • HttpServlet类:Servlet父类;
  • @WebServlet注解:指定访问路径;
  • service方法:接受请求后的处理方法;
  • request:http请求对象;
  • response:http响应对象。

案例一

  1. 创建com.hpr.servlet包;
  2. 创建HelloServlet类;
  3. 继承HttpServlet类,并重写service方法;
  4. 当请求到该servlet后,响应一段文字。
package com.hpr.servlet;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

//指定请求路径
@WebServlet("/hello.do")
public class HelloServlet extends HttpServlet {

    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //乱码问题处理
        request.setCharacterEncoding("utf-8");
        response.setContentType("text/html;charset=UTF-8");

        //参数获取
        String userName = request.getParameter("userName");
        String password = request.getParameter("password");

        //响应文字
        response.getWriter().println("<h1>servlet响应成功!</h1>");
        response.getWriter().println("<h3>" + userName + "——" + password + "</h3>");
    }
}
  1. index.jsp添加超链接。
<h2>
    <%-- get请求访问hello.do路径,传递userName、password两个参数 --%>
    <a href="/hello.do?userName=Alice&password=123456">测试servlet</a>
</h2>
  1. 启动Tomcat服务器,进入首页后点击超链接查看结果。

请添加图片描述

执行结果

请添加图片描述

五、Servlet生命周期

核心方法

  • init():Servlet第一次被访问时将被服务器加载并创建实例,同时调用该方法进行初始化;
  • service():每次请求[doGet/doPost]的主要处理方法;
  • destory():服务器停止服务,卸载每一个Servlet前会先调用该方法。

案例二

  • HelloServlet
@WebServlet("/hello.do")
public class HelloServlet extends HttpServlet {

    @Override
    public void init() throws ServletException {
        super.init();
        System.out.println("servlet初始化完成!");
    }

    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        ...
    }

    @Override
    public void destroy() {
        super.destroy();
        System.out.println("servlet卸载完成!");
    }
}

启动服务器,点击超链接访问Servlet,关掉服务器后查看运行日志。

请添加图片描述

执行结果

请添加图片描述

总结

重点

  1. Servlet书写方式;
  2. Servlet生命周期;
  3. http协议特点。

难点

  1. Servlet生命周期。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值