Servlet基础

快速入门

创建maven web项目,导入Servlet依赖坐标:

   <dependencies>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>4.0.1</version>
            <scope>provided</scope>

        </dependency>
    </dependencies>

同时在pom.xml文件里配置tomcat插件:
 

 <build>
        <plugins>
            <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <version>2.2</version>
                <configuration>
                    <!--                    端口号-->
                    <port>9090</port>
                    <!--                    访问路径-->
                    <path>/</path>
                </configuration>
            </plugin>
        </plugins>
    </build>

创建一个类,实现Servlet接口,重写方法(service),添加访问路径:

package org.example;

import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import java.io.IOException;
@WebServlet(value = "/demo1")//访问路径
public class demo1 implements Servlet {
    @Override
    public void init(ServletConfig servletConfig) throws ServletException {

    }

    @Override
    public ServletConfig getServletConfig() {
        return null;
    }

    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        System.out.println("Servlet成功访问..");
    }

    @Override
    public String getServletInfo() {
        return null;
    }

    @Override
    public void destroy() {

    }
}

如果成功访问Servlet,控制台输出service方法下的信息。

运行并访问路径:

 此时控制台输出:

 

   Servlet由Web服务器创建,由Web服务器调用。

生命周期

加载和实例化:默认情况,Servlet第一次被访问,有容器创建Servlet对象;

初始化:实例化之后,容器调用init初始化对象,完成一些配置工作,该方法只使用一次;

请求处理:每次请求Servlet,容器都会调用service方法对请求进行处理;

服务终止:当需要释放内存或容器关闭时,容器会调用service方法完成资源释放。

新建一个类,完成下列方法:

package org.example;

import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import java.io.IOException;

@WebServlet(value = "/demo2")//访问路径
public class demo2 implements Servlet {
    /**
     * 初始化方法 默认情况下第一次被访问调用 只调用一次
     * @param servletConfig
     * @throws ServletException
     */
    @Override
    public void init(ServletConfig servletConfig) throws ServletException {
        System.out.println("初始化..");


    }

    @Override
    public ServletConfig getServletConfig() {
        return null;
    }

    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        System.out.println("Servlet成功访问..");
    }

    @Override
    public String getServletInfo() {
        return null;
    }

    @Override
    public void destroy() {
        System.out.println("销毁中..");

    }
}

运行服务器..

第一次访问,控制台输出,同时调用service方法:

第二次访问,控制台输出:

 

这里init方法只调用一次,可以使用

* loadOnStartup:控制次此方法调用的时机

 重新启动服务器,控制台输出:

 关闭服务器,控制台输出:

XML配置Servlet

Servlet从3.0以后开始支持注解配置,3.0版本只支持XML配置文件的配置方式

编写Servlet类:

package org.example;

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 demo0 extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("get..");
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("post..");
    }
}

在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">


    <!--    Servlet全类名-->
    <servlet>
        <servlet-name>demo0</servlet-name>
        <servlet-class>org.example.demo0</servlet-class>
    </servlet>


    <!--    Servlet访问路径-->
    <servlet-mapping>
        <servlet-name>demo0</servlet-name>
        <url-pattern>/demo0</url-pattern>
    </servlet-mapping>
</web-app>

启动tomcat服务器,开启访问:

控制台输出:

 

 部分代码:

部分代码icon-default.png?t=N2N8https://gitee.com/Rkun18/javaweb-demo/tree/master/web-demo

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值