1.系统架构:

基础架构划分:C/S结构, B/S结构俩类。
技术选型划分:Model1模型,Model2模型,MVC模型和三层架构+MVC模型。
部署方式划分:一体化架构,垂直拆分架构,分布式架构,流动计算架构,微服务架构。

  1. c/s结构:它指的是客户端——服务器的方式。其中C代表着Client,S代表着服务器.
  2. b/s结构:它指的是浏览器——服务器的方式。其中B代表的事Brower,S代表着服务器。

    2.tomcat服务器

tomcat官网
image.png
Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个Java初学web的人来说,它是最佳的选择。

2.1 启动

文件夹作用:
image.png
启动。关闭Tomcat
image.png
访问测试:http://localhost:8080/

2.2 配置

image.png

可以配置默认的端口号

  • tomcat的默认端口号为:8080,但是可以在server.xml文件中修改标签中port属性来修改默认端口号,如下图:
    1. <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

可以配置主机的名称

  • 默认的主机名为:localhost->127.0.0.1
  • 默认网站应用存放的位置为:webapps

    1. <Host name="www.wulei.com" appBase="webapps" unpackWARs="true" autoDeploy="true">

    可以配置虚拟目录

    第一种方式:在server.xml<Host>元素中加一个<Context path="" docBase=""/>元素。path:访问资源URI。URI名称可以随便起,但是必须在前面加上一个/docBase:资源所在的磁盘物理地址。
    第二种方式:是写一个独立的xml文件,该文件名可以随便起。在文件内写一个<Context/>元素。该文件要放在Tomcat目录中的conf\Catalina\localhost\目录下。

    2.3 Tomcat各版本所需支持:

    image.png

    2.4 Tomcat目录结构详解:

    image.png

    2.5 Tomcat的基本使用

    (1)启动和停止:Tomcat服务器的启动文件在二进制文件bin目录下windows系统的启动用startup.bat,Linux系统中使用startup.sh文件启动。关闭Tomcat服务器在windows系统中使用shutdnown.bat文件,在Linux系统中使用shutdown.sh文件。
    (2)启动问题:

    1. 启动一闪而过:原因:没有配置环境变量。解决办法:配置JAVA_HOME环境变量。
    2. Address already in use: JVM_Bind:原因:端口被占用了,解决方法:找到占用该端口的应用,当进程不是很重要时,使用cmd命令: netstat -a -o 查看pid在任务管理器中结束占用端口的进程;当进程很重要时,修改自己的端口号,在Tomcat目录下的conf\server.xml中配置

image.png

3.IDEA集成Tomcat环境

创建tomcat配置
image.pngimage.png
若模块为后来导入到项目中时,idea是没有帮忙打war包的,这时,要自己手动到项目结构中创建war包,创建完成后在tomcat配置后,即可使用
https://blog.csdn.net/qq_42986107/article/details/92094960也可以参考这篇文章打war包方法

image.png

4.Tomcat发布应用-javaWeb应用

4.1 JavaWeb工程概述

Web应用开发好后,若想供外界访问,需要把Web应用所在目录交给Web服务器管理(Tomcat就是Web服务器之一),这个过程称之为虚拟目录的映射

4.2 JavaWeb应用目录结构详解

  1. myapp--------------应用名称
  2. 1.html
  3. css/css.css
  4. js/demo.js
  5. WEB-INF--------如果有web.xml或者.class文件时,该目录必须存在,且严格区分大小写。
  6. --------该目录下的资源,客户端是无法直接访问的。
  7. --------目录中内容如下:
  8. classes目录----------------web应用的class文件(加载顺序:我们的classlib目录中的jar包,tomcatlib目录中的jar包。优先级依次降低)
  9. lib目录--------------------web应用所需的jar包(tomcatlib目录下jar为所有应用共享)
  10. web.xml-------------------web应用的主配置文件

4.3 JavaWeb应用的创建与部署

创建:新建javaEnterprise模块,javaEE版本选择7,勾选Web Application,然后点击next,命名即可。
image.png
部署:
image.png

第一步:使用jar -cvf war 包的名称 当前目录中哪些资源要打入war
image.png
image.png
第二步:把打好的war拷贝到tomcat的webapps目录中
image.png

第三步:启动服务时,tomcat会自动解压。
image.png

5. Http协议

5.1 Http协议的介绍

  • Http(Hyper Text Transfer Protocol):超文本传输协议。
  • HTTP协议是给予TCP/IP协议的。
  • 超文本:比普通文本更加强大。
  • 传输协议:客户端和服务端的通信规则。

    5.2 HTTP协议的请求

  1. 请求的组成部分:
    1. 请求行:请求方式 提交路径(提交参数) HTTP/版本号
    2. 请求头

image.png

  1. 请求空行:普通换行,用于区分请求头和请求体。
  2. 请求体:只有 POST 提交方式才有请求体,用于显示提交参数。
    1. 请求的方式:
  3. GET
  4. POST
    • GET请求

image.png

  • POST请求

image.png

5.3 HTTP协议的响应

  1. 响应的组成部分
    1. 响应行:
    • 请求方式 HTTP/版本号 状态码 状态描述
    • 常见状态码:

image.png

  1. 响应头:

image.png

  1. 响应空行:普通换行。用于区分响应头和响应体。
  2. 响应体:将资源文件发送给客户端浏览器进行解析。

6. Tomcat具体应用

发布静态资源:

  1. 创建一个 JavaWEB 项目。
  2. 将静态页面所需资源导入到项目的 web 目录下。

image.png

  1. 修改 web.xml 配置文件,修改默认主页。 将项目部署到 tomcat 中。

     <!--配置默认打开页面-->
     <welcome-file-list>
         <welcome-file>/html/frame.html</welcome-file>
     </welcome-file-list>
    
  2. 启动 tomcat 服务。 打开浏览器测试查看页面。

ps:启动tomcat服务后,若发现页面没有加载css,或许是缓存问题,先关闭tomcat服务,再在idea中Bulid-> Build Artifacts中先clean,后bulid重新编译后,即可解决。
image.png

发布动态资源:

  1. 创建一个 JavaWEB 项目。
  2. 将静态页面所需资源导入到项目的 web 目录下。
  3. 修改 web.xml 配置文件,修改默认主页。 在项目的 src 路径下编写一个类,实现 Servlet 接口。
  4. 重写 service 方法,输出一句话即可。
  5. 修改 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_3_1.xsd"
          version="3.1">
     <!--配置默认打开页面-->
     <welcome-file-list>
         <welcome-file>/html/frame.html</welcome-file>
     </welcome-file-list>
    
     <!--声明Servlet-->
     <servlet>
         <servlet-name>studentServlet</servlet-name>
         <servlet-class>com.itheima.servlet.StudentServlet</servlet-class>
     </servlet>
    
     <!--servlet映射-->
     <servlet-mapping>
         <servlet-name>studentServlet</servlet-name>
         <url-pattern>/studentServlet</url-pattern>
     </servlet-mapping>
    </web-app>
    
  6. 将项目部署到 tomcat 中。

  7. 启动 tomcat 服务。
  8. 打开浏览器测试功能。