【JavaWeb】一文Servlet全解:继承关系、生命周期、容器和请求转发与重定向等

2023-10-30

文章目录



一、Servlet 概述


1、Servlet名字

Servlet = Server + applet

Server:服务器
applet:小程序
Servlet:服务器端的小程序


2、Servlet在Web应用中的作用

①生活中的例子

在这里插入图片描述

②对应Web应用

在这里插入图片描述

③具体细节

在这里插入图片描述

④Servlet扮演角色
在整个Web应用中,Servlet主要负责处理请求、协调调度功能。我们可以把Servlet称为Web应用中的『控制器』



二、Servlet HelloWorld


1、HelloWorld分析

①目标
在页面上点击超链接,由Servlet处理这个请求,并返回一个响应字符串:Hello,I am Servlet! 。

②思路

在这里插入图片描述


2、具体操作

①创建动态Web Module
《踩坑+排雷新版IDEA2021.1创建配置Javaweb项目并部署在Tomcat容器》

②创建前端页面超链接
begin.html 的代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
  <a href="hello">请点击我</a>
</body>
</html>

③创建HelloServlet的Java类

package com.yeman.Servlets;

import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServlet;
import java.io.IOException;
import java.io.PrintWriter;

/**
 * @Author: Yeman
 * @Date: 2022-02-11-18:15
 * @Description:
 */
public class Hello extends HttpServlet {
    @Override
    public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
        System.out.println("执行了Hello这个Servlet!");
        
        // 返回响应字符串
        // 1、获取能够返回响应数据的字符流对象
        PrintWriter writer = res.getWriter();

        // 2、向字符流对象写入数据
        writer.write("Hello,I am Servlet!");
        
    }
}

④配置Hello Servlet
配置文件位置:WEB-INF/web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
    <!-- 配置Servlet本身 -->
    <servlet>
    	 <!-- 给Servlet设置一个简短名称 -->
        <servlet-name>Hello</servlet-name>
        <!-- 配置Servlet的全类名 -->
        <servlet-class>com.yeman.Servlets.Hello</servlet-class>
    </servlet>
    <!-- 将Servlet和访问地址关联起来 -->
    <servlet-mapping>
        <servlet-name>Hello</servlet-name>
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>
</web-app>

⑤测试

在这里插入图片描述

⑥小结
需求:在浏览器上点超链接能够访问Java程序。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【JavaWeb】一文Servlet全解:继承关系、生命周期、容器和请求转发与重定向等 的相关文章