servlet

servlet概述:

1.1 什么是servlet?

Servlet是sun公司提供的一门用于开发动态web资源的技术。

按照这套规范写出来的Servlet可以放置到web应用中在Servlet容器中运行。

开发servlet步骤

想要开发一个Servlet只需要两个步骤:

(1)写一个类实现javax.servlet接口。

(2)在web.xml中为servlet配置对外访问路径。

2、开发一个servlet

2.1开发一个类实现servlet接口

实现servlet接口,先看一下api

#yyds干货盘点#_web应用

重要方法介绍:

init(ServletConfig config)

初始化方法,会在Servlet被创建出来后立即执行,做一些初始化的工作

destroy()

销毁方法,会在Servlet被销毁之前执行,做一些善后工作

service(ServletRequest req, ServletResponse res)

服务方法,每当有请求访问Servlet时,此方法执行,处理请求的代码要写到这个方法里。

在这里我们发现,如果每次都要重写这5个方法过于繁琐,那么我们下面介绍下GenericServlet

GenericServlet介绍

GenericServlet是一个抽象类,直接继承了servlet接口

#yyds干货盘点#_web应用_02

通过api我们发现,使用GenericServlet开发一个普通的servlet非常的方便,只需要重写service方法即可(因为GenericServlet实现了servlet接口大部分方法,但是唯独没有实现service方法,在这里我们只需要实现servlet方法即可)

#yyds干货盘点#_java_03


2.3开发第一个FirstServlet

2.3.1 写一个类FirstServlet继承GenericServlet抽象类,并实现service方法

package com.biem;

import java.io.*;

import java.util.*;

import javax.servlet.*;

public class FirstServlet extends GenericServlet{

public void service(ServletRequest req,ServletResponse resp)

throws IOException,ServletException{

String dateStr = new Date().toLocaleString();

resp.getWriter().write("time="+dateStr);

}

}

2.3.2 编译FirstServlet.java文件

注意:在编译过程中,如果出现未发现javax.servlet包错误,说明我们没有导入相关jar包,此时需要导入jar包-->tomcat8/lib/servlet-api.jar

#yyds干货盘点#_java_04

命令:set classpath=D:/tomcat8/lib/servlet-api.jar

之后会通过编译生成.class文件

我们需要的是带包编译,命令:javac -d . FirstServlet.java

#yyds干货盘点#_web应用_05

2.3.3 web应用目录结构

一个web应用当中,有WEB-INF文件夹

#yyds干货盘点#_java_06

在WEB-INF文件夹下面,有lib与classes文件夹与web.xml配置文件

#yyds干货盘点#_web应用_07

classes文件件存放的是.class文件

lib文件夹存放的是jar包

此时把编译好的FirstServlet.class带包文件放入classes文件夹下

2.3.4 配置web.xml文件

<servlet>

<servlet-name>FirstServlet</servlet-name>

<servlet-class>com.biem.FirstServlet</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>FirstServlet</servlet-name>

<url-pattern>/FirstServlet</url-pattern>

</servlet-mapping>

其中,<servlet>标签是声明一个servlet,<servlet-mapping>为这个servlet声明一个对方访问路径

servlet-class中为配置的Servlet类的全路径名。

servlet-name是为该servlet配置的名称,此名称没有特殊要求,为了便于识别此处取名和类名相同。

url-pattern是为该名称的servlet配置对外访问路径,浏览器可以通过该路径访问此servlet。

2.3.5 启动

启动服务器访问

#yyds干货盘点#_web应用_08

注意:访问路径不要写错,否则会报错404