JavaWeb篇_08——Servlet技术以及第一个Servlet案例

Servlet技术

Web开发历史回顾

CGI

公共网关接口(Common Gateway Interface,CGI)是Web 服务器运行时外部程序的规范。

CGI缺点

  • 以进程方式运行,对每一个客户端的请求都要启动一个进程来运行程序,导致用户数目增加时,服务器端资源被大量占用。
  • 由于对操作系统和进程的不深刻理解,使得开发人员开发的CGI程序经常遇到莫名其妙的错误。
  • 不同的CGI之间不能共享资源

FastCGI

FastCGI是对CGI模式的一个改进,采用了Pooling技术,一定程度上改善了性能,但是由于仍然是基于进程运行的所以并没有从根本上解决问题。

Servlet简介

Servlet是Server Applet的简称,称为服务端小程序,是JavaEE平台下的技术标准,基于Java语言编写的服务端程序。 Web 容器或应用服务器实现了Servlet标准所以Servlet需要运行在Web容器或应用服务器中。Servlet主要功能在于能够在服务器中执行并生成数据。

Servlet技术特点

Servlet在应用程序中的位置

创建第一个Servlet案例

Servlet版本:Servlet4.0

创建Servlet

package com.itbaizhan.servlet;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;


public class HelloWorld extends HttpServlet{


    public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{
        
        PrintWriter pw = response.getWriter();
        pw.println("");
        pw.println("");
        pw.println("");
        pw.println("");
        pw.println("Document");
        pw.println("");
        pw.println("");
    pw.println("HelloWorld");
        pw.println("");
        pw.println("");
        pw.flush();
        pw.close();
    }
}

编译Servlet

D:\>javac -classpath "D:\apache-tomcat-9.0.55\lib\servlet-api.jar" HelloWorld.java

创建web.xml

什么是web.xml

Web项目的部署描述文件,是JavaWeb工程的配置文件,通过web.xml文件可以配置servlet、filter等技术。Tomcat启动时会先解析该配置文件获取项目的配置信息。

web.xml文件中的头信息


<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">
web-app>

在web.xml文件中配置Servlet


<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-name>HelloWorldservlet-name>
            <servlet-class>com.itbaizhan.servlet.HelloWorldservlet-class>
         servlet>


         <servlet-mapping>
            <servlet-name>HelloWorldservlet-name>
            <url-pattern>/helloworld.dourl-pattern>
         servlet-mapping>
web-app>

你可能感兴趣的:(JavaWeb篇,servlet,hive,hadoop,java,tomcat,java-ee,开发语言)