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("<!DOCTYPE html>");
        pw.println("<html lang=en>");
        pw.println("<head>");
        pw.println("<meta charset=UTF-8>");
        pw.println("<title>Document</title>");
        pw.println("</head>");
        pw.println("<body>");
    pw.println("<font color=blue>HelloWorld</font>");
        pw.println("</body>");
        pw.println("</html>");
        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文件中的头信息

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

在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-name>HelloWorld</servlet-name>
            <servlet-class>com.itbaizhan.servlet.HelloWorld</servlet-class>
         </servlet>


         <servlet-mapping>
            <servlet-name>HelloWorld</servlet-name>
            <url-pattern>/helloworld.do</url-pattern>
         </servlet-mapping>
</web-app>

posted @ 2023-11-09 12:57  Gjq-  阅读(8)  评论(0编辑  收藏  举报  来源