【黑马Android】(17)web开发/tomcat/HTTP协议

本文介绍了Web开发的基础概念,包括静态与动态Web资源的区别,以及常见开发技术如ASP、PHP、JSP/Servlet等。此外,还详细讲解了Tomcat服务器的安装配置过程,涉及环境变量设置、端口管理、虚拟主机配置等方面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

web开发概述


静态web资源:内容是静态的,不同的人在不同的时间来访问时都是相同的内容。HTMLCSSJS

动态web资源:内容是由程序生成的,不同的人在不同的时间访问的内容很可能是不同的。

常见的动态web资源开发技术:

ASPPHPJSP/Servlet

C/S B/S之争

云、移动互联网、html5、物联网

tomcat的安装配置

下载地址:http://tomcat.apache.org/

安装目录不能包含中文和空格

JAVA_HOME环境变量指定Tomcat运行时所要用的jdk所在的位置,注意,配到目录就行了,不用指定到bin

端口占用问题:netstat -ano命令查看端口占用信息

Catalina_Home环境变量:startup.bat启动哪个tomcat由此环境变量指定,如果不配置则启动当前tomcat,推荐不要配置此环境变量

 

tomcat5要求jdk1.4以上

tomcat6要求jdk1.5以上

tomcat7要求jdk1.6以上

JAVA_HOME环境变量:指定tomcat启动时使用的jdk所在的位置

Catalina_Home环境变量:指定tomcat在启动时启动哪个tomcat,一般不推荐配置

tomcat目录结构_虚拟主机配置

bin ---- 启动和关闭需要的bat文件所在的目录

conf --- 配置目录

lib ---  tomcat运行时需要的jar包所在的目录

logs --- 日志文件所在的目录

temp --- tomcat运行时产生的临时文件存放的目录,不需要我们管理

webapps --- 开发中最常用的目录,web应用放置到此目录下浏览器可以直接访问

work --- 工作目录,tomcat运行时产生的工作文件存放在这个目录中

虚拟主机:

一个tomcat可以认为是一台真实主机.在一台真实主机中可以配置多个站点,这些站点在访问者看来访问他们就像在访问各自独立的主机一样,所以我们可以认为这些站点都运行在tomcat这台真实主机当中的各自的虚拟主机当中.一个网站就可以认为是一个虚拟主机.

web应用:

一个虚拟主机中会有很多的web资源,但是web资源不能直接交给虚拟主机管理,需要按照一定方式组织成web应用虚拟主机才能使用.一般来说我们会按照功能将某一功能相关的所有的web资源组织成一个web应用后再交给虚拟主机.

为虚拟主机配置web应用:

(1)Server.xml<Host>标签中,配置<Context>标签,就可以为该虚拟主机配置一个web应用了, 如果将path设置为空则这个web应用为缺省web应用 这种配置方式需要重启服务器不推荐

(2)tomcat/conf/[Engin]/[Host]/在这个目录下写一个xml文件,其中xml文件的名字就是虚拟路径,在这个xml中可以配置<Context>标签,其中配置真实路径.如果所配置的虚拟路径中有/由于文件名中不允许包含/需要用#替代.只要将文件名设置为ROOT.xml则这个xml描述的web应用就成为了缺省web应用这种配置方式不需要重启服务器,推荐

(3)直接将web应用放置到虚拟主机管理的目录下,虚拟主机就可以找到这个web应用,从而管理这个web应用,只要将web应用文件夹的名称改为ROOT,这个web应用就是缺省web应用

 

*web应用的虚拟路径映射 --就是为web应用的真实存在的路径配置一个浏览器访问的虚拟路径

*配置缺省web应用-- 默认的web应用,当不写web应用名时就访问这个web应用

 

web应用目录结构

web应用目录结构:如果目录结构不合法可能会出现各种奇葩的问题.

news

|

|--静态资源和JSP文件都可以直接放置在web应用的目录下,直接放在web应用下的内容,浏览器可以直接访问到

|

|--WEB-INF -- 可以没有,但是最好有,如果有则一定要保证他的目录结构是完整的.放置在WEB-INF目录下的所有资源浏览器没有办法直接进行访问

|--classes -- 动态web资源运行时的class文件要放在这个目录下

|--lib -- 动态web资源运行时所依赖的jar包要放在这个目录下

|--web.xml -- 整个web应用的配置文件,配置主页/Servlet的映射/过滤器监听器的配置都需要依赖这个文件进行

tomcatweb应用配置_综合演练


conf/server.xml<Engin>标签下配置<Host>标签就可以为tomcat增加一台虚拟主机了

name -- 指定虚拟主机的名称,浏览器通过这个名称访问虚拟主机

appBase -- 虚拟主机管理的目录,放置在这个目录下的web应用当前虚拟主机可以自动加载

*由于浏览器访问地址时,需要将地址翻译成对应的ip才能找到服务器,这其中翻译的过程是由dns服务器来实现的.我们在做实验的时候没有办法去修改dns服务器,此时可以使用hosts文件模拟dns的功能,从而完成实验.

*缺省虚拟主机:如果来访者是通过ip来访问,这个时候服务器无法辨别当前要访问的是哪台虚拟主机中的资源,此时访问缺省虚拟主机.缺省虚拟主机可以在server.xmlengin标签上通过defaultHost属性进行配置.


零散知识

war,减少web应用的体积方便传输,并且在虚拟主机管理的目录下,war默认可以自动解压

Jar -xvf test.war *

或者压缩为zip文件后,改名为war.

 

通用Context配置、通用web.xml配置

 

Tomcat服务器的管理平台

(1)war包:方式一:jar -cvf news.war *方式二:直接用压缩工具压缩为zip包,该后缀为.war

(2)通用context和通用web.xml,所有的<Context>都继承子conf/context.xml,所有的web.xml都继承自conf/web.xml

(3)reloadabletomcat自动加载更新后的web应用,当java程序修改后不用重启,服务器自动从新加载,开发时设为true方便开发,发布时设为false,提高性能

(4)Tomcat管理平台,可以在conf/tomcat-users.xml下配置用户名密码及权限

HTTP协议概述

规定客户端和服务器如何进行交互

    基于TCP/IP协议的应用层协议

    

    HTTP协议基于请求响应模型

    一次请求对应一次响应

    请求只能由客户端发出,服务器只能被动的等待请求做出响应

    

    1.01.1的区别

    

    telnet/httpwatche

HTTP协议详解

HTTP请求

    请求行

        GET /books/java.html HTTP/1.1

        请求方式

           七种请求方式: POSTGETHEADOPTIONSDELETETRACEPUT

           真正使用的时候:POST/GET

           GET请求方式和POST请求区别在于请求参数在传递的过程中方式不同

           如果是GET提交,请求参数将会附加在请求的URL后面作为请求地址的一部分带到服务器端,可以传输的数据大小有限制一般不允许超过1K.

           如果是POST提交,请求参数将会在http请求的实体内容中进行传输,这种方式传输的数据没有大小限制.

           

           利用form表单提交数据时,form表明明确的声明要用POST提交,这是请求参数就是POST提交

           除此以外所有方式的请求参数都是GET提交

           

 

        请求的资源部分的名称

        所遵循的协议版本

    若干请求头

        Accept: text/html,image/*    客户端可以接受的数据类型

Accept-Charset: ISO-8859-1 客户端接受数据需要使用的字符集编码

Accept-Encoding: gzip,compress 客户端可以接受的数据压缩格式

Accept-Language: en-us,zh-cn  可接受的语言环境

Host: www.it315.org:80 想要访问的虚拟主机名

If-Modified-Since: Tue, 11 Jul 2000 18:23:51 GMT 这是和缓存相关的一个头,带着缓存资源的最后获取时间

Referer: http://www.it315.org/index.jsp 这个头表示当前的请求来自哪个链接,这个头和防盗链的功能相关

User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0) 客户端的一些基本信息

Cookie 会在后面讲会话技术的时候单讲

Connection: close/Keep-Alive 指定是否继续保持连接

Date: Tue, 11 Jul 2000 18:23:51 GMT 当前时间

    

实体内容

 

HTTP响应

    状态行

HTTP/1.1 200 OK

格式: HTTP版本号 状态码 原因叙述<CRLF>

状态码:

200:请求处理成功

302:请求重定向

304307:服务器通知浏览器使用缓存

404:资源未找到

500:服务器端错误

 

    若干响应头

        Location: http://www.it315.org/index.jsp  配合302实现请求重定向

Server:apache tomcat 服务器的基本信息

Content-Encoding: gzip 服务器发送数据时使用的压缩格式

Content-Length: 80 发送数据的大小

Content-Language: zh-cn 发送的数据使用的语言环境

Content-Type: text/html; charset=GB2312 当前所发送的数据的基本信息,(数据的类型,所使用的编码)

Last-Modified: Tue, 11 Jul 2000 18:23:51 GMT 缓存相关的头

Refresh: 1;url=http://www.it315.org 通知浏览器进行定时刷新,此值可以是一个数字指定多长时间以后刷新当前页面,这个数字之后也可以接一个分号后跟一个URL地址指定多长时间后刷新到哪个URL

Content-Disposition: attachment;filename=aaa.zip 与下载相关的头

Transfer-Encoding: chunked 传输类型,如果是此值是一个chunked说明当前的数据是一块一块传输的

Set-Cookie:SS=Q0=5Lb_nQ; path=/search cookie相关的头,后面课程单讲

ETag: W/"83794-1208174400000" 和缓存机制相关的头

Expires: -1 指定资源缓存的时间,如果取值为0-1浏览就不缓存资源

Cache-Control: no-cache  缓存相关的头,如果为no-cache则通知浏览器不缓存

Pragma: no-cache   缓存相关的头,如果为no-cache则不缓存

以上三个头都是用来控制缓存的,是因为历史原因造成的,不同的浏览器认识不同的头,我们通常三个一起使用保证通用性。

Connection: close/Keep-Alive   是否保持连接

Date: Tue, 11 Jul 2000 18:23:51 GMT 当前时间




/Users/syd/Library/Java/JavaVirtualMachines/ms-17.0.14/Contents/Home/bin/java -XX:TieredStopAtLevel=1 -Dspring.profiles.active=local -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true -Dmanagement.endpoints.jmx.exposure.include=* -javaagent:/Applications/IntelliJ IDEA.app/Contents/lib/idea_rt.jar=54141 -Dfile.encoding=UTF-8 -classpath /Users/syd/Desktop/Project/SpringCloud/黑马商城/hmall/cart-service/target/classes:/Users/syd/.m2/repository/com/alibaba/cloud/spring-cloud-starter-alibaba-nacos-config/2021.0.4.0/spring-cloud-starter-alibaba-nacos-config-2021.0.4.0.jar:/Users/syd/.m2/repository/com/alibaba/cloud/spring-cloud-alibaba-commons/2021.0.4.0/spring-cloud-alibaba-commons-2021.0.4.0.jar:/Users/syd/.m2/repository/com/alibaba/spring/spring-context-support/1.0.11/spring-context-support-1.0.11.jar:/Users/syd/.m2/repository/com/alibaba/nacos/nacos-client/2.0.4/nacos-client-2.0.4.jar:/Users/syd/.m2/repository/commons-codec/commons-codec/1.15/commons-codec-1.15.jar:/Users/syd/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.13.5/jackson-core-2.13.5.jar:/Users/syd/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.13.5/jackson-databind-2.13.5.jar:/Users/syd/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.13.5/jackson-annotations-2.13.5.jar:/Users/syd/.m2/repository/org/apache/httpcomponents/httpasyncclient/4.1.5/httpasyncclient-4.1.5.jar:/Users/syd/.m2/repository/org/apache/httpcomponents/httpcore/4.4.16/httpcore-4.4.16.jar:/Users/syd/.m2/repository/org/apache/httpcomponents/httpcore-nio/4.4.16/httpcore-nio-4.4.16.jar:/Users/syd/.m2/repository/org/apache/httpcomponents/httpclient/4.5.14/httpclient-4.5.14.jar:/Users/syd/.m2/repository/org/reflections/reflections/0.9.11/reflections-0.9.11.jar:/Users/syd/.m2/repository/com/google/guava/guava/20.0/guava-20.0.jar:/Users/syd/.m2/repository/io/prometheus/simpleclient/0.15.0/simpleclient-0.15.0.jar:/Users/syd/.m2/repository/io/prometheus/simpleclient_tracer_otel/0.15.0/simpleclient_tracer_otel-0.15.0.jar:/Users/syd/.m2/repository/io/prometheus/simpleclient_tracer_common/0.15.0/simpleclient_tracer_common-0.15.0.jar:/Users/syd/.m2/repository/io/prometheus/simpleclient_tracer_otel_agent/0.15.0/simpleclient_tracer_otel_agent-0.15.0.jar:/Users/syd/.m2/repository/org/yaml/snakeyaml/1.30/snakeyaml-1.30.jar:/Users/syd/.m2/repository/org/springframework/cloud/spring-cloud-commons/3.1.3/spring-cloud-commons-3.1.3.jar:/Users/syd/.m2/repository/org/springframework/security/spring-security-crypto/5.7.8/spring-security-crypto-5.7.8.jar:/Users/syd/.m2/repository/org/springframework/cloud/spring-cloud-context/3.1.3/spring-cloud-context-3.1.3.jar:/Users/syd/.m2/repository/org/slf4j/slf4j-api/1.7.36/slf4j-api-1.7.36.jar:/Users/syd/.m2/repository/org/springframework/cloud/spring-cloud-starter-bootstrap/3.1.3/spring-cloud-starter-bootstrap-3.1.3.jar:/Users/syd/.m2/repository/org/springframework/cloud/spring-cloud-starter/3.1.3/spring-cloud-starter-3.1.3.jar:/Users/syd/.m2/repository/org/springframework/security/spring-security-rsa/1.0.10.RELEASE/spring-security-rsa-1.0.10.RELEASE.jar:/Users/syd/.m2/repository/org/bouncycastle/bcpkix-jdk15on/1.68/bcpkix-jdk15on-1.68.jar:/Users/syd/.m2/repository/org/bouncycastle/bcprov-jdk15on/1.68/bcprov-jdk15on-1.68.jar:/Users/syd/Desktop/Project/SpringCloud/黑马商城/hmall/hm-api/target/classes:/Users/syd/.m2/repository/io/github/openfeign/feign-okhttp/11.8/feign-okhttp-11.8.jar:/Users/syd/.m2/repository/io/github/openfeign/feign-core/11.8/feign-core-11.8.jar:/Users/syd/.m2/repository/com/squareup/okhttp3/okhttp/4.9.3/okhttp-4.9.3.jar:/Users/syd/.m2/repository/com/squareup/okio/okio/2.8.0/okio-2.8.0.jar:/Users/syd/.m2/repository/org/jetbrains/kotlin/kotlin-stdlib-common/1.6.21/kotlin-stdlib-common-1.6.21.jar:/Users/syd/.m2/repository/org/jetbrains/kotlin/kotlin-stdlib/1.6.21/kotlin-stdlib-1.6.21.jar:/Users/syd/.m2/repository/org/jetbrains/annotations/13.0/annotations-13.0.jar:/Users/syd/.m2/repository/org/springframework/cloud/spring-cloud-starter-openfeign/3.1.3/spring-cloud-starter-openfeign-3.1.3.jar:/Users/syd/.m2/repository/org/springframework/cloud/spring-cloud-openfeign-core/3.1.3/spring-cloud-openfeign-core-3.1.3.jar:/Users/syd/.m2/repository/org/springframework/boot/spring-boot-starter-aop/2.7.12/spring-boot-starter-aop-2.7.12.jar:/Users/syd/.m2/repository/org/aspectj/aspectjweaver/1.9.7/aspectjweaver-1.9.7.jar:/Users/syd/.m2/repository/io/github/openfeign/form/feign-form-spring/3.8.0/feign-form-spring-3.8.0.jar:/Users/syd/.m2/repository/io/github/openfeign/form/feign-form/3.8.0/feign-form-3.8.0.jar:/Users/syd/.m2/repository/commons-fileupload/commons-fileupload/1.4/commons-fileupload-1.4.jar:/Users/syd/.m2/repository/commons-io/commons-io/2.2/commons-io-2.2.jar:/Users/syd/.m2/repository/org/springframework/spring-web/5.3.27/spring-web-5.3.27.jar:/Users/syd/.m2/repository/org/springframework/spring-beans/5.3.27/spring-beans-5.3.27.jar:/Users/syd/.m2/repository/io/github/openfeign/feign-slf4j/11.8/feign-slf4j-11.8.jar:/Users/syd/.m2/repository/com/alibaba/cloud/spring-cloud-starter-alibaba-nacos-discovery/2021.0.4.0/spring-cloud-starter-alibaba-nacos-discovery-2021.0.4.0.jar:/Users/syd/.m2/repository/org/springframework/cloud/spring-cloud-starter-loadbalancer/3.1.3/spring-cloud-starter-loadbalancer-3.1.3.jar:/Users/syd/.m2/repository/org/springframework/cloud/spring-cloud-loadbalancer/3.1.3/spring-cloud-loadbalancer-3.1.3.jar:/Users/syd/.m2/repository/io/projectreactor/reactor-core/3.4.29/reactor-core-3.4.29.jar:/Users/syd/.m2/repository/org/reactivestreams/reactive-streams/1.0.4/reactive-streams-1.0.4.jar:/Users/syd/.m2/repository/io/projectreactor/addons/reactor-extra/3.4.10/reactor-extra-3.4.10.jar:/Users/syd/.m2/repository/org/springframework/boot/spring-boot-starter-cache/2.7.12/spring-boot-starter-cache-2.7.12.jar:/Users/syd/.m2/repository/org/springframework/spring-context-support/5.3.27/spring-context-support-5.3.27.jar:/Users/syd/.m2/repository/com/stoyanr/evictor/1.0.0/evictor-1.0.0.jar:/Users/syd/Desktop/Project/SpringCloud/黑马商城/hmall/hm-common/target/classes:/Users/syd/.m2/repository/org/apache/commons/commons-pool2/2.11.1/commons-pool2-2.11.1.jar:/Users/syd/.m2/repository/cn/hutool/hutool-all/5.8.11/hutool-all-5.8.11.jar:/Users/syd/.m2/repository/org/springframework/boot/spring-boot-starter-logging/2.7.12/spring-boot-starter-logging-2.7.12.jar:/Users/syd/.m2/repository/ch/qos/logback/logback-classic/1.2.12/logback-classic-1.2.12.jar:/Users/syd/.m2/repository/ch/qos/logback/logback-core/1.2.12/logback-core-1.2.12.jar:/Users/syd/.m2/repository/org/apache/logging/log4j/log4j-to-slf4j/2.17.2/log4j-to-slf4j-2.17.2.jar:/Users/syd/.m2/repository/org/apache/logging/log4j/log4j-api/2.17.2/log4j-api-2.17.2.jar:/Users/syd/.m2/repository/org/slf4j/jul-to-slf4j/1.7.36/jul-to-slf4j-1.7.36.jar:/Users/syd/.m2/repository/org/hibernate/validator/hibernate-validator/6.2.5.Final/hibernate-validator-6.2.5.Final.jar:/Users/syd/.m2/repository/jakarta/validation/jakarta.validation-api/2.0.2/jakarta.validation-api-2.0.2.jar:/Users/syd/.m2/repository/org/jboss/logging/jboss-logging/3.4.3.Final/jboss-logging-3.4.3.Final.jar:/Users/syd/.m2/repository/com/fasterxml/classmate/1.5.1/classmate-1.5.1.jar:/Users/syd/.m2/repository/org/springframework/boot/spring-boot-autoconfigure/2.7.12/spring-boot-autoconfigure-2.7.12.jar:/Users/syd/.m2/repository/org/springframework/boot/spring-boot/2.7.12/spring-boot-2.7.12.jar:/Users/syd/.m2/repository/com/github/xiaoymin/knife4j-openapi2-spring-boot-starter/4.1.0/knife4j-openapi2-spring-boot-starter-4.1.0.jar:/Users/syd/.m2/repository/com/github/xiaoymin/knife4j-core/4.1.0/knife4j-core-4.1.0.jar:/Users/syd/.m2/repository/com/github/xiaoymin/knife4j-openapi2-ui/4.1.0/knife4j-openapi2-ui-4.1.0.jar:/Users/syd/.m2/repository/org/javassist/javassist/3.25.0-GA/javassist-3.25.0-GA.jar:/Users/syd/.m2/repository/io/springfox/springfox-swagger2/2.10.5/springfox-swagger2-2.10.5.jar:/Users/syd/.m2/repository/io/springfox/springfox-spi/2.10.5/springfox-spi-2.10.5.jar:/Users/syd/.m2/repository/io/springfox/springfox-core/2.10.5/springfox-core-2.10.5.jar:/Users/syd/.m2/repository/io/springfox/springfox-schema/2.10.5/springfox-schema-2.10.5.jar:/Users/syd/.m2/repository/io/springfox/springfox-swagger-common/2.10.5/springfox-swagger-common-2.10.5.jar:/Users/syd/.m2/repository/io/springfox/springfox-spring-web/2.10.5/springfox-spring-web-2.10.5.jar:/Users/syd/.m2/repository/io/github/classgraph/classgraph/4.1.7/classgraph-4.1.7.jar:/Users/syd/.m2/repository/org/springframework/plugin/spring-plugin-core/2.0.0.RELEASE/spring-plugin-core-2.0.0.RELEASE.jar:/Users/syd/.m2/repository/org/springframework/plugin/spring-plugin-metadata/2.0.0.RELEASE/spring-plugin-metadata-2.0.0.RELEASE.jar:/Users/syd/.m2/repository/org/mapstruct/mapstruct/1.3.1.Final/mapstruct-1.3.1.Final.jar:/Users/syd/.m2/repository/io/swagger/swagger-models/1.6.6/swagger-models-1.6.6.jar:/Users/syd/.m2/repository/io/swagger/swagger-annotations/1.6.6/swagger-annotations-1.6.6.jar:/Users/syd/.m2/repository/io/springfox/springfox-bean-validators/2.10.5/springfox-bean-validators-2.10.5.jar:/Users/syd/.m2/repository/io/springfox/springfox-spring-webmvc/2.10.5/springfox-spring-webmvc-2.10.5.jar:/Users/syd/.m2/repository/com/github/ben-manes/caffeine/caffeine/2.9.3/caffeine-2.9.3.jar:/Users/syd/.m2/repository/org/checkerframework/checker-qual/3.19.0/checker-qual-3.19.0.jar:/Users/syd/.m2/repository/com/google/errorprone/error_prone_annotations/2.10.0/error_prone_annotations-2.10.0.jar:/Users/syd/.m2/repository/org/springframework/boot/spring-boot-starter-web/2.7.12/spring-boot-starter-web-2.7.12.jar:/Users/syd/.m2/repository/org/springframework/boot/spring-boot-starter/2.7.12/spring-boot-starter-2.7.12.jar:/Users/syd/.m2/repository/jakarta/annotation/jakarta.annotation-api/1.3.5/jakarta.annotation-api-1.3.5.jar:/Users/syd/.m2/repository/org/springframework/boot/spring-boot-starter-json/2.7.12/spring-boot-starter-json-2.7.12.jar:/Users/syd/.m2/repository/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.13.5/jackson-datatype-jdk8-2.13.5.jar:/Users/syd/.m2/repository/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.13.5/jackson-datatype-jsr310-2.13.5.jar:/Users/syd/.m2/repository/com/fasterxml/jackson/module/jackson-module-parameter-names/2.13.5/jackson-module-parameter-names-2.13.5.jar:/Users/syd/.m2/repository/org/springframework/boot/spring-boot-starter-tomcat/2.7.12/spring-boot-starter-tomcat-2.7.12.jar:/Users/syd/.m2/repository/org/apache/tomcat/embed/tomcat-embed-core/9.0.75/tomcat-embed-core-9.0.75.jar:/Users/syd/.m2/repository/org/apache/tomcat/embed/tomcat-embed-el/9.0.75/tomcat-embed-el-9.0.75.jar:/Users/syd/.m2/repository/org/apache/tomcat/embed/tomcat-embed-websocket/9.0.75/tomcat-embed-websocket-9.0.75.jar:/Users/syd/.m2/repository/org/springframework/spring-webmvc/5.3.27/spring-webmvc-5.3.27.jar:/Users/syd/.m2/repository/org/springframework/spring-aop/5.3.27/spring-aop-5.3.27.jar:/Users/syd/.m2/repository/org/springframework/spring-context/5.3.27/spring-context-5.3.27.jar:/Users/syd/.m2/repository/org/springframework/spring-expression/5.3.27/spring-expression-5.3.27.jar:/Users/syd/.m2/repository/mysql/mysql-connector-java/8.0.23/mysql-connector-java-8.0.23.jar:/Users/syd/.m2/repository/com/google/protobuf/protobuf-java/3.11.4/protobuf-java-3.11.4.jar:/Users/syd/.m2/repository/com/baomidou/mybatis-plus-boot-starter/3.4.3/mybatis-plus-boot-starter-3.4.3.jar:/Users/syd/.m2/repository/com/baomidou/mybatis-plus/3.4.3/mybatis-plus-3.4.3.jar:/Users/syd/.m2/repository/com/baomidou/mybatis-plus-extension/3.4.3/mybatis-plus-extension-3.4.3.jar:/Users/syd/.m2/repository/com/baomidou/mybatis-plus-core/3.4.3/mybatis-plus-core-3.4.3.jar:/Users/syd/.m2/repository/com/baomidou/mybatis-plus-annotation/3.4.3/mybatis-plus-annotation-3.4.3.jar:/Users/syd/.m2/repository/com/github/jsqlparser/jsqlparser/4.0/jsqlparser-4.0.jar:/Users/syd/.m2/repository/org/mybatis/mybatis/3.5.7/mybatis-3.5.7.jar:/Users/syd/.m2/repository/org/mybatis/mybatis-spring/2.0.6/mybatis-spring-2.0.6.jar:/Users/syd/.m2/repository/org/springframework/boot/spring-boot-starter-jdbc/2.7.12/spring-boot-starter-jdbc-2.7.12.jar:/Users/syd/.m2/repository/com/zaxxer/HikariCP/4.0.3/HikariCP-4.0.3.jar:/Users/syd/.m2/repository/org/springframework/spring-jdbc/5.3.27/spring-jdbc-5.3.27.jar:/Users/syd/.m2/repository/org/springframework/boot/spring-boot-starter-test/2.7.12/spring-boot-starter-test-2.7.12.jar:/Users/syd/.m2/repository/org/springframework/boot/spring-boot-test/2.7.12/spring-boot-test-2.7.12.jar:/Users/syd/.m2/repository/org/springframework/boot/spring-boot-test-autoconfigure/2.7.12/spring-boot-test-autoconfigure-2.7.12.jar:/Users/syd/.m2/repository/com/jayway/jsonpath/json-path/2.7.0/json-path-2.7.0.jar:/Users/syd/.m2/repository/net/minidev/json-smart/2.4.11/json-smart-2.4.11.jar:/Users/syd/.m2/repository/net/minidev/accessors-smart/2.4.11/accessors-smart-2.4.11.jar:/Users/syd/.m2/repository/org/ow2/asm/asm/9.3/asm-9.3.jar:/Users/syd/.m2/repository/jakarta/xml/bind/jakarta.xml.bind-api/2.3.3/jakarta.xml.bind-api-2.3.3.jar:/Users/syd/.m2/repository/jakarta/activation/jakarta.activation-api/1.2.2/jakarta.activation-api-1.2.2.jar:/Users/syd/.m2/repository/org/assertj/assertj-core/3.22.0/assertj-core-3.22.0.jar:/Users/syd/.m2/repository/org/hamcrest/hamcrest/2.2/hamcrest-2.2.jar:/Users/syd/.m2/repository/org/junit/jupiter/junit-jupiter/5.8.2/junit-jupiter-5.8.2.jar:/Users/syd/.m2/repository/org/junit/jupiter/junit-jupiter-api/5.8.2/junit-jupiter-api-5.8.2.jar:/Users/syd/.m2/repository/org/opentest4j/opentest4j/1.2.0/opentest4j-1.2.0.jar:/Users/syd/.m2/repository/org/junit/platform/junit-platform-commons/1.8.2/junit-platform-commons-1.8.2.jar:/Users/syd/.m2/repository/org/apiguardian/apiguardian-api/1.1.2/apiguardian-api-1.1.2.jar:/Users/syd/.m2/repository/org/junit/jupiter/junit-jupiter-params/5.8.2/junit-jupiter-params-5.8.2.jar:/Users/syd/.m2/repository/org/junit/jupiter/junit-jupiter-engine/5.8.2/junit-jupiter-engine-5.8.2.jar:/Users/syd/.m2/repository/org/junit/platform/junit-platform-engine/1.8.2/junit-platform-engine-1.8.2.jar:/Users/syd/.m2/repository/org/mockito/mockito-core/4.5.1/mockito-core-4.5.1.jar:/Users/syd/.m2/repository/net/bytebuddy/byte-buddy/1.12.23/byte-buddy-1.12.23.jar:/Users/syd/.m2/repository/net/bytebuddy/byte-buddy-agent/1.12.23/byte-buddy-agent-1.12.23.jar:/Users/syd/.m2/repository/org/objenesis/objenesis/3.2/objenesis-3.2.jar:/Users/syd/.m2/repository/org/mockito/mockito-junit-jupiter/4.5.1/mockito-junit-jupiter-4.5.1.jar:/Users/syd/.m2/repository/org/skyscreamer/jsonassert/1.5.1/jsonassert-1.5.1.jar:/Users/syd/.m2/repository/com/vaadin/external/google/android-json/0.0.20131108.vaadin1/android-json-0.0.20131108.vaadin1.jar:/Users/syd/.m2/repository/org/springframework/spring-core/5.3.27/spring-core-5.3.27.jar:/Users/syd/.m2/repository/org/springframework/spring-jcl/5.3.27/spring-jcl-5.3.27.jar:/Users/syd/.m2/repository/org/springframework/spring-test/5.3.27/spring-test-5.3.27.jar:/Users/syd/.m2/repository/org/xmlunit/xmlunit-core/2.9.1/xmlunit-core-2.9.1.jar:/Users/syd/.m2/repository/org/springframework/boot/spring-boot-starter-data-redis/2.7.12/spring-boot-starter-data-redis-2.7.12.jar:/Users/syd/.m2/repository/org/springframework/data/spring-data-redis/2.7.12/spring-data-redis-2.7.12.jar:/Users/syd/.m2/repository/org/springframework/data/spring-data-keyvalue/2.7.12/spring-data-keyvalue-2.7.12.jar:/Users/syd/.m2/repository/org/springframework/data/spring-data-commons/2.7.12/spring-data-commons-2.7.12.jar:/Users/syd/.m2/repository/org/springframework/spring-tx/5.3.27/spring-tx-5.3.27.jar:/Users/syd/.m2/repository/org/springframework/spring-oxm/5.3.27/spring-oxm-5.3.27.jar:/Users/syd/.m2/repository/io/lettuce/lettuce-core/6.1.10.RELEASE/lettuce-core-6.1.10.RELEASE.jar:/Users/syd/.m2/repository/io/netty/netty-common/4.1.92.Final/netty-common-4.1.92.Final.jar:/Users/syd/.m2/repository/io/netty/netty-handler/4.1.92.Final/netty-handler-4.1.92.Final.jar:/Users/syd/.m2/repository/io/netty/netty-resolver/4.1.92.Final/netty-resolver-4.1.92.Final.jar:/Users/syd/.m2/repository/io/netty/netty-buffer/4.1.92.Final/netty-buffer-4.1.92.Final.jar:/Users/syd/.m2/repository/io/netty/netty-transport-native-unix-common/4.1.92.Final/netty-transport-native-unix-common-4.1.92.Final.jar:/Users/syd/.m2/repository/io/netty/netty-codec/4.1.92.Final/netty-codec-4.1.92.Final.jar:/Users/syd/.m2/repository/io/netty/netty-transport/4.1.92.Final/netty-transport-4.1.92.Final.jar:/Users/syd/.m2/repository/org/projectlombok/lombok/1.18.20/lombok-1.18.20.jar com.hmall.cart.CartApplication . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.7.12) 2025-07-23 00:46:10.823 INFO 94996 --- [ main] com.alibaba.nacos.common.remote.client : [RpcClientFactory] create a new rpc client of 02474581-6045-4ae2-bf28-5abda8e7177f_config-0 2025-07-23 00:46:10.851 INFO 94996 --- [ main] org.reflections.Reflections : Reflections took 13 ms to scan 1 urls, producing 3 keys and 6 values 2025-07-23 00:46:10.863 INFO 94996 --- [ main] org.reflections.Reflections : Reflections took 6 ms to scan 1 urls, producing 4 keys and 9 values 2025-07-23 00:46:10.868 INFO 94996 --- [ main] org.reflections.Reflections : Reflections took 4 ms to scan 1 urls, producing 3 keys and 10 values 2025-07-23 00:46:10.869 WARN 94996 --- [ main] org.reflections.Reflections : given scan urls are empty. set urls in the configuration 2025-07-23 00:46:10.873 INFO 94996 --- [ main] org.reflections.Reflections : Reflections took 4 ms to scan 1 urls, producing 1 keys and 5 values 2025-07-23 00:46:10.882 INFO 94996 --- [ main] org.reflections.Reflections : Reflections took 8 ms to scan 1 urls, producing 1 keys and 7 values 2025-07-23 00:46:10.887 INFO 94996 --- [ main] org.reflections.Reflections : Reflections took 4 ms to scan 1 urls, producing 2 keys and 8 values 2025-07-23 00:46:10.888 WARN 94996 --- [ main] org.reflections.Reflections : given scan urls are empty. set urls in the configuration 2025-07-23 00:46:10.888 INFO 94996 --- [ main] com.alibaba.nacos.common.remote.client : [02474581-6045-4ae2-bf28-5abda8e7177f_config-0] RpcClient init label, labels = {module=config, Vipserver-Tag=null, source=sdk, Amory-Tag=null, Location-Tag=null, taskId=0, AppName=unknown} 2025-07-23 00:46:10.888 INFO 94996 --- [ main] com.alibaba.nacos.common.remote.client : [02474581-6045-4ae2-bf28-5abda8e7177f_config-0] Register server push request handler:com.alibaba.nacos.client.config.impl.ClientWorker$ConfigRpcTransportClient$$Lambda$469/0x000000800139e810 2025-07-23 00:46:10.888 INFO 94996 --- [ main] com.alibaba.nacos.common.remote.client : [02474581-6045-4ae2-bf28-5abda8e7177f_config-0] Register server push request handler:com.alibaba.nacos.client.config.impl.ClientWorker$ConfigRpcTransportClient$$Lambda$470/0x000000800139ea38 2025-07-23 00:46:10.889 INFO 94996 --- [ main] com.alibaba.nacos.common.remote.client : [02474581-6045-4ae2-bf28-5abda8e7177f_config-0] Registry connection listener to current client:com.alibaba.nacos.client.config.impl.ClientWorker$ConfigRpcTransportClient$1 2025-07-23 00:46:10.889 INFO 94996 --- [ main] com.alibaba.nacos.common.remote.client : [02474581-6045-4ae2-bf28-5abda8e7177f_config-0] RpcClient init, ServerListFactory = com.alibaba.nacos.client.config.impl.ClientWorker$ConfigRpcTransportClient$2 2025-07-23 00:46:10.892 INFO 94996 --- [ main] com.alibaba.nacos.common.remote.client : [02474581-6045-4ae2-bf28-5abda8e7177f_config-0] Try to connect to server on start up, server: {serverIp = '127.0.0.1', server main port = 8848} 2025-07-23 00:46:11.264 INFO 94996 --- [ main] com.alibaba.nacos.common.remote.client : [02474581-6045-4ae2-bf28-5abda8e7177f_config-0] Success to connect to server [127.0.0.1:8848] on start up, connectionId = 1753202771127_192.168.65.1_22625 2025-07-23 00:46:11.264 INFO 94996 --- [ main] com.alibaba.nacos.common.remote.client : [02474581-6045-4ae2-bf28-5abda8e7177f_config-0] Register server push request handler:com.alibaba.nacos.common.remote.client.RpcClient$ConnectResetRequestHandler 2025-07-23 00:46:11.264 INFO 94996 --- [t.remote.worker] com.alibaba.nacos.common.remote.client : [02474581-6045-4ae2-bf28-5abda8e7177f_config-0] Notify connected event to listeners. 2025-07-23 00:46:11.265 INFO 94996 --- [ main] com.alibaba.nacos.common.remote.client : [02474581-6045-4ae2-bf28-5abda8e7177f_config-0] Register server push request handler:com.alibaba.nacos.common.remote.client.RpcClient$$Lambda$481/0x00000080015077c0 2025-07-23 00:46:11.296 WARN 94996 --- [ main] c.a.c.n.c.NacosPropertySourceBuilder : Ignore the empty nacos configuration and get it based on dataId[cart-service] & group[DEFAULT_GROUP] 2025-07-23 00:46:11.301 WARN 94996 --- [ main] c.a.c.n.c.NacosPropertySourceBuilder : Ignore the empty nacos configuration and get it based on dataId[cart-service.yaml] & group[DEFAULT_GROUP] 2025-07-23 00:46:11.304 WARN 94996 --- [ main] c.a.c.n.c.NacosPropertySourceBuilder : Ignore the empty nacos configuration and get it based on dataId[cart-service-local.yaml] & group[DEFAULT_GROUP] 2025-07-23 00:46:11.305 INFO 94996 --- [ main] b.c.PropertySourceBootstrapConfiguration : Located property source: [BootstrapPropertySource {name='bootstrapProperties-cart-service-local.yaml,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-cart-service.yaml,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-cart-service,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-knife4j,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-JDBC,DEFAULT_GROUP'}] 2025-07-23 00:46:11.307 INFO 94996 --- [ main] com.hmall.cart.CartApplication : The following 1 profile is active: "local" 2025-07-23 00:46:11.594 INFO 94996 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode 2025-07-23 00:46:11.596 INFO 94996 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data Redis repositories in DEFAULT mode. 2025-07-23 00:46:11.607 INFO 94996 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 4 ms. Found 0 Redis repository interfaces. 2025-07-23 00:46:11.708 INFO 94996 --- [ main] o.s.cloud.context.scope.GenericScope : BeanFactory id=639213e3-93fa-3eac-8cc8-3f4e5c6acd59 2025-07-23 00:46:11.910 INFO 94996 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8082 (http) 2025-07-23 00:46:11.915 INFO 94996 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat] 2025-07-23 00:46:11.915 INFO 94996 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.75] 2025-07-23 00:46:11.971 INFO 94996 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext 2025-07-23 00:46:11.971 INFO 94996 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 654 ms 2025-07-23 00:46:12.049 INFO 94996 --- [ main] o.s.c.openfeign.FeignClientFactoryBean : For 'item-service' URL not provided. Will try picking an instance via load-balancing. 2025-07-23 00:46:12.183 WARN 94996 --- [ main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'cartController' defined in file [/Users/syd/Desktop/Project/SpringCloud/黑马商城/hmall/cart-service/target/classes/com/hmall/cart/controller/CartController.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'cartServiceImpl': Unsatisfied dependency expressed through field 'baseMapper'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'cartMapper' defined in file [/Users/syd/Desktop/Project/SpringCloud/黑马商城/hmall/cart-service/target/classes/com/hmall/cart/mapper/CartMapper.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [com/baomidou/mybatisplus/autoconfigure/MybatisPlusAutoConfiguration.class]: Unsatisfied dependency expressed through method 'sqlSessionFactory' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw exception; nested exception is org.springframework.boot.autoconfigure.jdbc.DataSourceProperties$DataSourceBeanCreationException: Failed to determine a suitable driver class 2025-07-23 00:46:12.185 INFO 94996 --- [ main] o.apache.catalina.core.StandardService : Stopping service [Tomcat] 2025-07-23 00:46:12.194 INFO 94996 --- [ main] ConditionEvaluationReportLoggingListener : Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. 2025-07-23 00:46:12.202 ERROR 94996 --- [ main] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPLICATION FAILED TO START *************************** Description: Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. Reason: Failed to determine a suitable driver class Action: Consider the following: If you want an embedded database (H2, HSQL or Derby), please put it on the classpath. If you have database settings to be loaded from a particular profile you may need to activate it (the profiles local are currently active). 2025-07-23 00:46:12.203 WARN 94996 --- [ Thread-7] c.a.nacos.common.notify.NotifyCenter : [NotifyCenter] Start destroying Publisher 2025-07-23 00:46:12.203 WARN 94996 --- [ Thread-7] c.a.nacos.common.notify.NotifyCenter : [NotifyCenter] Destruction of the end 2025-07-23 00:46:12.203 WARN 94996 --- [ Thread-1] c.a.n.common.http.HttpClientBeanHolder : [HttpClientBeanHolder] Start destroying common HttpClient 进程已结束,退出代码为 1
最新发布
07-24
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值