IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Servlet 的初步认识以及实战操作,一看就会了 -> 正文阅读

[Java知识库]Servlet 的初步认识以及实战操作,一看就会了

大家好,我们来分享一下Servlet 的初步认识

Servlet(Server Applet),全称Java Servlet,未有中文译文,
是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。
狭义的理解:
Servlet是指Java语言实现的一个接口
广义的理解
Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。

servlet 是sun 公司研发的 动态web技术。实现了servlet接口的Java程序就是servlet

就这样就可以了

对于servlet的理解,就是任何实现了这个Servlet接口的类

接下来就是要实现它

  1. 使用idea 创建一个新的最简单的maven 项目

  2. 我们要编写一个类 , 用来实现我们servlet 接口
    将这个

  3. 将我们自己写的这个类发布到web服务器上 (例如tomcat)

在这里插入图片描述

这里什么都不用选,因为最简单的Maven项目就是不带任何模板的maven项目

在这里插入图片描述

在这里插入图片描述

接下来还有一个页面,选择默认完成就可以
在这里插入图片描述

在这里插入图片描述

这样maven 项目新建完成,删掉src 这个目录
在这里插入图片描述

导入需要的jar包
在上面的那个文件当中
(这两个jar包是我们执行servlet 程序必需的jar包)

<dependencies>
         <!--加入servlet依赖(servlet的jar)-->
         <dependency>
             <groupId>javax.servlet</groupId>
             <artifactId>javax.servlet-api</artifactId>
             <version>4.0.1</version>

         </dependency>
         <!--jsp的依赖(jsp相关的jar加进来)-->
         <dependency>
             <groupId>javax.servlet.jsp</groupId>
             <artifactId>javax.servlet.jsp-api</artifactId>
             <version>2.2.1</version>

         </dependency>


     </dependencies>

我使用的是idea 2020 他会在右侧出现一个maven的图标(这一点是因软件版本而异的)

点一下, 就可以下载我们所需的jar 包,放到我们自己配置的本地远程仓库

看这个路径就可以了

在这里插入图片描述

有关于远程仓库的问题可以看这个

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

这就是我们建的一个子项目

在这里插入图片描述

在这里插入图片描述
注意看第一个项目中的这一行内容
他表示servlettest 包含在第一个项目当中

   <modules>
        <module>servlettest</module>
    </modules>

也就是说,servlettest 项目是第一个项目的子项目

同样,在子项目(servlettest )项目当中其实也有一个 parent

在这里插入图片描述

<parent>
        <artifactId>untitled</artifactId>
        <groupId>org.example</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>

其实他就是代表untitled项目是servlettest 这个项目的爸爸 (父亲的角色)

我们前面搞了那么多,其实就是建了一个父项目和子项目

子项目可以使用 父项目 ,反过来讲就是错的

可以把它想成继承的关系

看我这个就可以

在子项目当中的指定位置上改一个这个文件

在这里插入图片描述

<?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"
         metadata-complete="true"></web-app>




<!--我们把这个文件换一下,因为它这个太老了-->

其实这个内容是可以在tomcat 当中找到的

这就是它的具体路径

在这里插入图片描述

接着,我们再来往下

在main 文件夹新建 java resource两个文件夹

在这里插入图片描述

在这里插入图片描述

这些都是我认为关于这个类,你应该知道的东西

package ceshi;      //这是一个包 ,  当中文件夹就可以

import javax.servlet.http.HttpServlet;        //这是程序正常运行必须的包

public class FirstServlet  extends HttpServlet {           //1.FirstServlet是我们自己随便写的类(自定义)
                                                          //2.HttpServlet   是默认(程序自带的)的类
                                                        //  3.  我们做了一个继承操作
                                                         // 其实子项目servlettest 当中是使用了父项目里的jar包
                                                           //我们就是为了实现接口


}

这是截图 ,也许这样看的清晰
在这里插入图片描述

在这个类当中 按住ctrl 键 不放,然后点击HttpServlet

这就是这个类的源码

在这里插入图片描述

源码里面写着它的实现原理和过程,看的懂就看,看不懂也无所谓

重写方法

package ceshi;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class FirstServlet  extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        super.doGet(req, resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        super.doPost(req, resp);
    }
    


}

这样的话,这个类就写好了

package ceshi;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

public class FirstServlet  extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//        super.doGet(req, resp);
        PrintWriter  writer = resp.getWriter();
        writer.print("hi,servlet ");    //输出具体内容
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        super.doPost(req, resp);
    }


}

这个实例要明确一点,我们这是Java程序,浏览器要去访问它,就要连接web服务器,这个过程可以称为 注册

在web.xml 当中写

本质上,就是为了web服务器可以调用servlet 程序

<?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"
         metadata-complete="true">


<!--  这是注册servlet-->
    <servlet>
        <servlet-name>hi</servlet-name>
<!--        hi 可以随便写,是一个别名-->
        <servlet-class >ceshi.FirstServlet</servlet-class>
<!--        这里一定要指向我们自己刚才写的类,写清楚它所在的具体路径-->
    </servlet>


<!--    这是配置它的请求路径-->
    <servlet-mapping>
        <servlet-name   > hi</servlet-name>
<!--        可以随便写,就是一个别名-->
        <url-pattern >/hi</url-pattern>
        <!-- 通过别名引用一个类,给它设置一个网络访问路径(网名),它必须以/开头。 -->
    </servlet-mapping>

</web-app>




接下来,我们连接tomcat (web 服务器)

点这里

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

tomcat 配置完成

在这里插入图片描述

在这里插入图片描述

这个时候,浏览器自动弹出查看

默认会到这里

在这里插入图片描述

这是因为这个文件的原因

在这里插入图片描述

到我们自己映射的页面去

正常显示

在这里插入图片描述
好了,有关于Servlet 的初步认识以及实战操作就到这里了,谢谢大家

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-05-19 11:51:57  更:2022-05-19 11:52:56 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/31 14:03:19-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码