servlet学习笔记(入门)

2022-11-16 09:19:15 浏览数 (1)

servlet学习笔记

  • servlet学习笔记(入门)
    • 一、使用前提
    • 二、配置
      • 1、在maven的pom文件中引入servlet
      • 2、创建servlet类
      • 3、在tomcat中的部署描述符文件:web.xml(3.x以前版本必须在web.xml中配置)中配置servlet的映射
    • 三、标准Java Web工程结构
    • 四、Servlet的生命周期
    • 五、使用注解配置Servlet(在3.x以后引入了Annotation)

servlet学习笔记(入门)

一、使用前提

代码语言:javascript复制
必须基于tomcat才能使用,单独的servlet无法启动。

二、配置

1、在maven的pom文件中引入servlet

代码语言:javascript复制
    <dependencies>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <!--对应tomcat的8.5.x版本,具体查看可以到tomcat.apache.org/whichversion.html中查看-->
            <version>3.1.0</version>
        </dependency>
    </dependencies>

2、创建servlet类

代码语言:javascript复制
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 servlet extends HttpServlet {
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    /*
    使用IDE工具可以快速重写servlet的service方法
    通过对service方法的重写可以完成http的通信过程
    */
        super.service(req, resp);
    }
}

方法

解释

req.getParameter()

获取单个参数

req.getParameterValues()

获取多个同名参数

resq.getWriter()

建立writer对象,响应请求

3、在tomcat中的部署描述符文件:web.xml(3.x以前版本必须在web.xml中配置)中配置servlet的映射

代码语言:javascript复制
    <servlet>
        <servlet-name>这里是servlet的别名</servlet-name>
        <servlet-class>这里是servlet的完整路径</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>对应的servlet的别名</servlet-name>
        <url-pattern>以根目录为准的servlet的url路径</url-pattern>
    </servlet-mapping>

三、标准Java Web工程结构

组织结构

描述

/

JavaWeb应用根目录

/index.html

默认首页

/WBB_INF

Web应用的安全目录,用于存放配置文件

/WBB_INF/web.xml

web.xml文件是“部署描述符文件”,是web项目的核心配置文件

/WEB_INF/classes

存放编译后的classes文件

/WBB_INF/lib

存放项目使用的jar包

/WBB_INF/MANIFEST.MF

包含web应用的版本信息

四、Servlet的生命周期

  • 装载 web.xml
  • 创建构造方法
  • 初始化init()方法
  • 提供服务service()
  • 销毁 destory()

五、使用注解配置Servlet(在3.x以后引入了Annotation)

  • 核心注解:@WebServlet(“映射地址”)
代码语言:javascript复制
示例:

@WebServlet("/anno")
public class AnnotationServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.getWriter().println("I'm annocation servlet !");
    }
}

0 人点赞