运行在服务器端口的小程序 Servlet

详细内容请点击菜鸟教程-Servlet:https://www.runoob.com/servlet/servlet-tutorial.html

一、Servlet 简述

Servlet就是一个接口,它定义了Java类被浏览器访问到(Tomcat识别)的规则。

我们需要自定义一个类,实现Servlet接口,复写方法。

Servlet 在 Web 应用程序中的位置:

Servlet 在 Web 应用程序中的位置

Servlet 环境设置:https://www.runoob.com/servlet/servlet-environment-setup.html

Servlet的体系结构:

Servlet -- 接口
		|  继承
	GenericServlet -- 抽象类
			|
		HttpServlet -- 抽象类

二、Servlet中的生命周期

2.1 被创建

执行 init() 方法,只执行一次;一个 Servlet 在内存中只存在一个对象,Servlet 是单例的;所以当多个用户同时访问时,可能存在线程安全问题;如何解决:尽量不要在Servlet中定义成员变量。即使定义了成员变量,也不要修改其值。

Servlet 创建于用户第一次调用对应于该 Servlet 的 URL 时,但也可以指定 Servlet 在服务器第一次启动时被加载。

2.2 提供服务

执行 service() 方法,执行多次。每次访问 Servlet 时,service() 方法都会被调用一次。

Servlet 容器(即 Web 服务器)调用 service() 方法来处理来自客户端(浏览器)的请求,并把格式化的响应写回给客户端。

每次服务器接收到一个 Servlet 请求时,服务器会产生一个新的线程并调用服务。service() 方法检查 HTTP 请求类型(GET、POST、PUT、DELETE 等),并在适当的时候调用 doGet()doPost()doPut()doDelete() 等方法。

常用的是 doGet()doPost() 方法。

2.3 被销毁

执行 destroy() 方法,只执行一次,在 Servlet 被销毁时执行。destroy() 方法可以让 Servlet 关闭数据库连接、停止后台线程、把 Cookie 列表或点击计数器写入到磁盘,并执行其他类似的清理活动。

三、用 Servlet 输出 Hello World (使用IDEA、Servlet 3.0)

如何创建一个 Java EE 项目,并实现 Servlet 接口?参考步骤如下:

  1. 创建Java EE项目。
    创建JavaEE项目步骤二

  2. 定义一个类,实现 HttpServlet 接口(public class HelloWorld implements HttpServlet

  3. 修改注解配置,如:@WebServlet("/hello")

  4. 实现接口中的抽象方法

// 导入必需的 java 库
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

// 扩展 HttpServlet 类
//访问该HelloWorld类的url路径:项目虚拟路径/hello,如 http://localhost:8080/loginCase_war_exploded/hello
@WebServlet("/hello")
public class HelloWorld extends HttpServlet {
    
    
 
  private String message;

  public void init() throws ServletException
  {
    
    
      // 执行必需的初始化
      message = "Hello World";
  }

  public void doGet(HttpServletRequest request,
                    HttpServletResponse response)
            throws ServletException, IOException
  {
    
    
      // 设置响应内容类型
      response.setContentType("text/html");
      // 设置响应内容:打印在浏览器
      PrintWriter out = response.getWriter();
      out.println("<h1>" + message + "</h1>");
      // 打印在 IDEA 控制台
      System.out.println(message);
  }
  
  public void destroy()
  {
    
    
      // 什么也不做
  }
}
  1. Tomcat 配置的部分参考:
    创建JavaEE项目步骤八

四、更多:Web 服务器软件相关

4.1 概念

服务器:指安装了服务器软件的计算机。

服务器软件:可以接收用户的请求,处理请求,并作出响应。

Web 服务器软件:可以部署Web项目,让用户通过浏览器来访问这些项目,接收用户的请求,处理请求,做出响应。

Java EE:Java 语言在企业级开发中使用的技术规范的总和,一共规定了13项大的规范。

4.2 Tomcat

常见的与 Java 相关的 Web 服务器软件:webLogic、webSphere、JBOSS、Tomcat。

(前三个支持所有的Java EE规范,是收费的;Tomcat 仅支持少量的Java EE规范,但开源免费)

Tomcat的下载、安装、启动、关闭、卸载,及配置

  1. 下载:官网网址 http://tomcat.apache.org/ 。

  2. 安装:解压压缩包到某目录下即可(注意安装目录中不能有中文和空格)。
    Tomcat目录说明

  3. 启动:找到 bin/startup.bat 该文件,双击运行即可。

    访问自己:在浏览器地址栏输入 http://localhost:8080 然后回车;

    访问别人:在浏览器输入 http://别人的ip:8080 然后回车。

    启动时可能遇到的问题:一是双击文件后出现黑窗口一闪而过,这是因为没有正确配置 JAVA_HOME 环境变量;二是出现启动报错,报错原因是端口被占,找到被占用的端口号,并在任务管理器中结束其对应进程即可,或者修改自身端口(不建议修改)。

  4. 关闭:运行进程 bin/shutdown.bat,或同时按住 Ctrl+c 都可,如果点击窗口的 × 可能会造成日志信息遗漏等问题。

  5. 卸载:删除目录即可。

  6. 配置:部署项目的三种方式

    一可直接将项目放在web apps目录下,或将项目打成一个 war 包,再将 war 包放置到 web apps 目录下(war包会自动解压缩)。

    二就是配置 conf/server.xml 文件,在 <Host> 标签体中配置 <Context docBase="D:\hello" path="/hehe" /> (docBase项目存放的路径,path虚拟目录)。

    三是在 conf\Catalina\localhost 创建任意文件名称的 xml 文件(如 bbb.xml),再在文件中编写 <Context docBase="D:\hello" />

猜你喜欢

转载自blog.csdn.net/weixin_60808029/article/details/123829138