Servlet

Servlet简介

  • Servlet是sun公司开发动态web技术
  • Sun在这些API中提供一个接口叫做Servlet。开发Servlet需要两个小步骤:
    • 编写一个类,实现Servlet接口
    • 把开发好的Java部署到web服务器中

把实现了Servlet接口的Java程序叫做Servlet

HelloServlet(编写一个Servlet程序并发布)

  1. 构建一个普通Maven项目名为Servlet,删掉里面的src目录,以后学习在这个项目里创建Moudel;这个空的工程就是Maven主公程。

    (这里Maven没安装配置过的可以参照我的另一篇文章:Maven的安装配置并在IDEA中创建Maven项目)
    在这里插入图片描述

  2. 在Servlet项目下的pom.xml里面添加所需要的依赖,例如Servlet,JSP

        <dependencies>
            <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>javax.servlet-api</artifactId>
                <version>4.0.1</version>
                <scope>provided</scope>
            </dependency>
            <!-- https://mvnrepository.com/artifact/javax.servlet.jsp/javax.servlet.jsp-api -->
            <dependency>
                <groupId>javax.servlet.jsp</groupId>
                <artifactId>javax.servlet.jsp-api</artifactId>
                <version>2.3.3</version>
                <scope>provided</scope>
            </dependency>
        </dependencies>
    
  3. 在Servlet中创建一个Servlet_01的含有WebApplication的模块
    在这里插入图片描述

  4. 在Servlet_01的pom.xml中添加父项目
    有的可能会自动生成一个父项目,没有的话就自己手动添加一个

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

    同时在Servlet中的pom.xml会自动生成一个子项目

        <modules>
            <module>servlet_01</module>
        </modules>
    

    父项目中的java子项目可以之间使用

    son extends father
    
  5. Maven环境优化

    修改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"
             metadata-complete="true">
    </web-app>
    
  6. 编写一个Servlet程序

    1. 在servlet_01下main目录下创建一个java包和一个resources包。然后在java包下创建一个自己的包,例如com.joe.servlet

    2. 编写一个普通类。在com.joe.servlet下新建一个HelloServle类
      在这里插入图片描述

    3. 实现Servlet接口。在HelloServlet类中继承HttpServlet,并重写doGet和doPost方法

      package com.joe.servlet;
      
      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 HelloServlet extends HttpServlet {
      
          @Override
          protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
              PrintWriter writer = resp.getWriter();
              writer.print("Hello Servlet!");
          }
      
          @Override
          protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
              super.doPost(req, resp);
          }
      }
      
      
  7. 编写Servlet映射

    在web.xml添加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>hello</servlet-name>
            <servlet-class>com.joe.servlet.HelloServlet</servlet-class>
        </servlet>
        <!--Servlet的请求路径-->
        <servlet-mapping>
            <servlet-name>hello</servlet-name>
            <url-pattern>/hello</url-pattern>
        </servlet-mapping>
    </web-app>
    
  8. 配置tomcat
    在这里插入图片描述
    在这里插入图片描述

  9. 启动测试
    在这里插入图片描述

博客文章说明

本博客核心部分来自b站狂神说JavaWeb视频,本人在视频的基础上,进一步将步骤详细化来方便新手学习。本人也是一名正在学习的小白,博客中若有那些不对的地方还请各位大佬指点一二。

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐