一、Servlet是什么
1.1 Servlet
Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,泛指用 Java编写的服务器端程序。在编程过程中也指一切 实现了Servlet接口的类(约定以Servlet结尾命名)。
1.2 Servlet API
JAVA Servlet 作为JAVA EE中Web开发的重要技术之一,也是理解各种Java Web开发框架的重要基础,接下来看一下Servlet-api中主要包含哪些结构:
- javax.servlet
-作为servlet API的基础,包含Servlet类基类和Servlet与Servlet容器的契约 - javax.servlet.annotation
-包含标注信息,提供简单部署的方式 - javax.servlet.descrptor
-包含提供程序化登录Web应用程序的配置信息的类型 - javax.servlet.http
-包含HttpServlet,Servlet对Http协议的变体
二、Servlet的主要功能
2.1 Servlet的简单运用流程展示
Servlet 的主要功能在于交互式地浏览和修改数据,生成动态 Web 内容。这个过程为:
1. 客户端发送请求至服务器端
2. 服务器将请求信息发送至 Servlet
3. Servlet 生成响应内容并将其传给服务器,响应内容动态生成
4. 服务器将响应返回给客户端
Servlet 看起来像是通常的 Java 程序。Servlet 导入特定的属于 Java Servlet API 的包。
一个 Servlet 就是 Java 编程语言中的一个类,它被用来扩展服务器的性能,服务器上驻留着可以通过“请求-响应”编程模型来访问的应用程序。虽然 Servlet 可以对任何类型的请求产生响应,但通常只用来扩展 Web 服务器的应用程序。
下面是一个简单实现的代码:
import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import java.io.IOException;
import java.io.PrintWriter;
@WebServlet(urlPatterns = "/myservlet")//注解部署-javax.servlet.annotation部分
public class MyServlet implements Servlet {
//Servlet属于javax.servlet核心部分
@Override
public void init(ServletConfig servletConfig) throws ServletException {
}
@Override
public ServletConfig getServletConfig() {
return null;
}
//主要的功能函数-实现Request请求解析,以及进行处理和响应请求
@Override
public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
String message=req.getParameter("message");
res.setContentType("text/html");
PrintWriter out=res.getWriter();
out.print("<html><head>MyServlet Return Page</head>");
out.print("<body><p style='background-color: "+message+"'>"+message+"</p></body></html>");
}
@Override
public String getServletInfo() {
return null;
}
@Override
public void destroy() {
}
}
2.2 Servlet API常用功能概览
简单的类接口和功能概括如下图:(其中HttpServlet在javax.servlet.http中,其余在javax.servlet中)
2.2.1 Servlet
接口定义了如下5种方法:
//初始化,传入Tomcat实例化的一个ServletConfig进行配置
void init(ServletConfig config) throws ServletException
//主要功能函数-传入Tomcat转发封装好的一个ServletRequest实例,
//和封装好的出口ServletResponse输出即可
void service