乐趣区

关于人工智能:83-Web服务器与容器

在学习 Java Web 开发之前,咱们须要理解 Web 服务器和容器的概念。它们是 Java Web 应用程序的基础设施,为咱们提供了开发、部署和运行动静 Web 利用的环境。

8.3.1. Web 服务器

Web 服务器是一种可能解决和响应客户端 HTTP 申请的软件。它负责解决动态内容(如 HTML、CSS、JavaScript、图片等)和动静内容(如 Servlet、JSP 等)。常见的 Web 服务器有 Apache HTTP Server、Nginx 和 Microsoft IIS。

8.3.2. 容器

在 Java Web 开发中,咱们通常应用 Servlet 容器(也称为 Web 容器)来解决动静内容。Servlet 容器是一个运行 Servlet 和 JSP 的应用服务器,它遵循 Java Servlet 标准,并提供了 Web 应用程序的运行环境。常见的 Servlet 容器有 Tomcat、Jetty 和 GlassFish。

8.3.3. Web 服务器与容器的关系

Web 服务器和容器能够独立工作,也能够协同工作。在许多状况下,咱们应用 Web 服务器解决动态内容,而应用容器解决动静内容。一种常见的配置是将 Web 服务器和容器连贯在一起,使它们独特解决来自客户端的 HTTP 申请。例如,咱们能够应用 Apache HTTP Server 和 Tomcat 一起工作,其中 Apache 解决动态内容,而 Tomcat 解决动静内容。

8.3.4. 部署 Java Web 应用程序

要部署 Java Web 应用程序,请遵循以下步骤:

  1. 编译 Java 源代码并将其打包成 WAR(Web Application Archive,Web 应用程序归档)文件。WAR 文件蕴含 Web 应用程序的所有组件,如 Servlet、JSP、HTML、CSS、JavaScript、图片等。
  2. 将 WAR 文件部署到 Servlet 容器(如 Tomcat)中。部署办法有多种,如将 WAR 文件复制到容器的 webapps 目录下,或应用容器的治理界面进行部署。
  3. 启动容器,拜访 Web 应用程序。例如,如果部署到本地 Tomcat 服务器,URL 可能相似于http://localhost:8080/your-webapp/

8.3.5. 示例:应用 Tomcat 部署 Java Web 应用程序

以下是一个简略的 Java Web 应用程序示例,它蕴含一个 Servlet 和一个 JSP 页面。咱们将应用 Tomcat 来部署这个应用程序。

  1. 创立一个名为 HelloWorld 的 Web 应用程序目录构造:
HelloWorld/
|-- WEB-INF/
|   |-- classes/
|   |   |-- HelloWorldServlet.class
|   |-- lib/
|   |-- web.xml
|-- index.jsp
  1. 编写 HelloWorldServlet 类:
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class HelloWorldServlet extends HttpServlet {protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.println("<html><head><title>Hello World</title></head><body>");
        out.println("<h1>Hello World from Servlet!</h1>");
        out.println("</body></html>");
        out.close();}
}
  1. 编译 HelloWorldServlet 类,并将生成的 .class 文件放入 WEB-INF/classes/ 目录下。
  2. 编写 index.jsp 文件:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Hello World</title>
</head>
<body>
    <h1>Hello World from JSP!</h1>
</body>
</html>
  1. 编写 WEB-INF/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_3_1.xsd"version="3.1">
    <servlet>
        <servlet-name>HelloWorldServlet</servlet-name>
        <servlet-class>HelloWorldServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>HelloWorldServlet</servlet-name>
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>
</web-app>
  1. 将整个 HelloWorld 目录打包成 WAR 文件。你能够应用命令行或 IDE 实现此操作。例如,在命令行中,能够进入 HelloWorld 目录并运行以下命令:
jar cvf HelloWorld.war *
  1. 将生成的 HelloWorld.war 文件部署到 Tomcat 的 webapps 目录下。
  2. 启动 Tomcat 服务器。
  3. 在浏览器中拜访http://localhost:8080/HelloWorld/,你将看到Hello World from JSP!。拜访http://localhost:8080/HelloWorld/hello,你将看到Hello World from Servlet!

至此,咱们曾经胜利部署了一个简略的 Java Web 应用程序。在接下来的章节中,咱们将学习更多对于 Java Web 开发的常识,如如何解决表单数据、如何治理会话和如何连贯数据库等。
举荐浏览:

https://mp.weixin.qq.com/s/dV2JzXfgjDdCmWRmE0glDA

https://mp.weixin.qq.com/s/an83QZOWXHqll3SGPYTL5g

退出移动版