• 69期-Java SE-042_Tomcat-1


    ### Web 应用服务器
    
    安装在服务端上的一个服务产品,我们开业在 Web 应用服务器上放置一些允许客户端直接访问的资源,然后启动该服务,这样客户端就可以通过 IP+端口 的方式来访问 Web 应用服务器上的资源。
    
    Web 应用服务器:Tomcat、Jboss、webloic、Jetty
    
    Tomcat
    
    bin:存放各种平台下启动和停止 Tomcat 服务的脚本文件
    
    conf:存放 Tomcat 服务器配置文件
    
    lib:存放 Tomcat 服务需要的 jar 文件
    
    logs:存放 Tomcat 运行的日志文件
    
    temp:存放 Tomcat 运行时的临时文件
    
    webapps:存放允许客户端访问的资源
    
    work:存放 JSP 生成的 Servlet
    
    
    
    ### Java Web
    
    Servlet + JSP
    
    Servlet 接收客户端请求,进行业务逻辑处理,通过 JDBC 完成持久层的操作。
    
    JSP 负责与用户进行交互,将 Servlet 处理好的结果展示给用户。
    
    Servlet 时 Java Web 开发的基石,与平台无关的服务器组件,它是运行在 Servlet 容器中(Tomcat),负责与客户端进行通信,完成数据交互。
    
    Servlet 可以完成以下功能:
    
    - 创建并返回基于客户端请求的动态 HTML 页面。
    - 与数据库进行通信。
    
    Servlet 就是一个 Java 类,一个普通的 Java 类,实现 Servlet 接口就可以接收客户端请求,成为一个服务端组件。
    
    实际开发中,我们不需要直接实现 Servlet 接口,只需要继承 HttpServlet 类即可。

    MyServlet.java

    package com.southwind.test;
    
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.IOException;
    import java.io.PrintWriter;
    
    @WebServlet("/test.do")
    public class MyServlet extends HttpServlet {
    
        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            this.doPost(req, resp);
        }
    
        @Override
        protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    //        System.out.println("进入了Servlet");
            String value = req.getParameter("name");
            System.out.println("客户端传来的参数是"+value);
            resp.setContentType("text/html;charset=UTF-8");
            PrintWriter out = resp.getWriter();
            out.print("进入了Servlet");
        }
    
    }

    index.jsp

    <%--
      Created by IntelliJ IDEA.
      User: southwind
      Date: 2019-06-30
      Time: 20:49
      To change this template use File | Settings | File Templates.
    --%>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
      <head>
        <title>$Title$</title>
      </head>
      <body>
      $END$
      </body>
    </html>

    test.jsp

    <%--
      Created by IntelliJ IDEA.
      User: southwind
      Date: 2019-06-30
      Time: 21:23
      To change this template use File | Settings | File Templates.
    --%>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>Title</title>
    </head>
    <body>
        <h1>Hello World</h1>
    </body>
    </html>

    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">
    
    <!--    <servlet>-->
    <!--        <servlet-name>test</servlet-name>-->
    <!--        <servlet-class>com.southwind.test.MyServlet</servlet-class>-->
    <!--    </servlet>-->
    
    <!--    <servlet-mapping>-->
    <!--        <servlet-name>test</servlet-name>-->
    <!--        <url-pattern>/test.do</url-pattern>-->
    <!--    </servlet-mapping>-->
    
    </web-app>
  • 相关阅读:
    金融法规
    大型网站架构演化
    用一张决策图来重新思考你的网站
    互联网产品的一般商业模式
    怎样开始冥想
    创造安宁舒适工作日的17个办法
    人生规划和GTD——"知"、"得"与"合"
    立即行动的七个方法
    文件归档的学问
    入门GTD时间管理系统必读
  • 原文地址:https://www.cnblogs.com/HiJackykun/p/11182645.html
Copyright © 2020-2023  润新知