疑问 ?? ?
运行java web有两种方式:(1) java -jar *.jar命令 ; (2)tomcat容器
当使用springboot打包出jar包时,这个jar包可以直接 运行java -jar *.jar运行,另一种是把 *.jar移动到tomcat/webapps 中,二者的区别是什么?
理解 ! ! !
对于springboot打包出来的jar包中已经包含了嵌入式tomcat服务器的依赖项,在pom.xml文件中,导入的maven依赖spring-boot-starter-web中包含内嵌的tomcat容器
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
使用java -jar
默认
情况下,不会启动任何嵌入式Application Server,该命令只是启动一个执行jar mian的JVM进程,
然而,当spring-boot-starter-web包含嵌入式tomcat服务器依赖项时,执行java -jar则会启动Application Server
对于移动到tomcat/webapps 中部署jar包,则是使用到外部的tomcat,这里需要注意一点:
使用外部tomcat部署时,
要不直接导包成war包,
要不排除spring-boot-starter-web中的tomcat配置(
经验证,这种jar包也可以放到Tomcat webapps下面运行的。不一定非要配置exclusions
)
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
————————————————
参考链接:
Tomcat服务器上部署JAR或执行java -jar之间的区别?_BambooJin的博客-CSDN博客_jar运行和tomcat部署区别
tomcat服务器上部署JAR或执行java -jar之间的区别?_而立通途的博客-CSDN博客_jar tomcat
疑问 ?? ?运行java web有两种方式:(1) java -jar *.jar命令 ; (2)tomcat容器当使用springboot打包出jar包时,这个jar包可以直接 运行java -jar *.jar运行,另一种是把 *.jar移动到tomcat/webapps 中,二者的区别是什么?理解 ! ! !(一)对于springboot打包出来的jar包中已经包含了嵌入式tomcat服务器的依赖项,在pom.xml问价中,导入的maven依赖spring-boot-starter
server.xml (配置
tomcat
端口)
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
存放
tomcat
运行时所需要的
jar
文件。
logs:
存放
tomcat
运行时所生成的日志文件。
webapps:
存放已经
部署
到
tomcat
服务器
中的
服务端项目。
work:
存放
tomcat
运行时生成的临时文件。
访问
tomcat
中的静态html网页资源:
http://ip:port/appName/path
1>启动tocmat
服务器
。
bin/startup.bat
需要配置
JAVA
_HOME环境变量
2>打开浏览器访问地址:
http://localhost:8080/docs/index.html
自定义静态服务端应用,提供文件下载。
1>打包应用程序。
downloads
|---xxx.zip
|---xxx.png
|---xxx.rmvb
|---xxx.jpg
2>把静态应用程序
部署
到
tomcat
中。
(把downloads文件夹拷贝到webapps中)
3>启动
tomcat
,访问资源:
http://ip:8080/downloads/xxx.jpg
容器与组件
Servlet是
tomcat
容器中的一个组件。
容器包含组件。
组件必须在容器的管理下才可以运行。
组件的生命周期方法由容器自动调用。
如何基于
tomcat
编写服务端动态应用?
基于
tomcat
编写JSP:
JSP (
Java
Server Page)
Java
服务端页面生成技术
JSP的本质是一个Servlet类。
如何编写一个JSP?
1>创建服务端项目。Denomic Web Project
2>选择
tomcat
的运行环境。
(Target Runtime)
3>webContent中创建jsp文件。
在jsp中编写内容。jsp中的文本将会
在用户访问该jsp文件时输出给客户端。
4>打包:
右键project -> export ->
搜war -> 选择桌面 -> finish
5>
部署
:
把war文件粘贴到webapps文件夹中。
6>启动
tomcat
访问url。
JSP的组成部分:
1>JSP指令
<%@ page language="
java
"
contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
2>普通文本
将会在jsp生成的
java
源文件中使用:
out.write()
把这些文本原样输出给客户端。
3>
java
代码片段
<%
java
代码 %>
jsp将会把这些
java
代码直接生成在
_jspService方法中。
4>jsp表达式
<%=i+5%>
在jsp的任何位置输出
java
表达式的值。
当
tomcat
接收了一个访问jsp的请求时,
将会运行jsp生成的servlet类的service
方法。我们可以直接在jsp页面中编写
java
代码处理这些请求。并且返回相应
数据,实现服务端业务。
android Studio
调用
jar
包:httpclient-4.2.5,httpcore-4.2.4 //HttpClient父类
mysql-connector-
java
-5.1.40-bin //用于连接mysql数据库
思路:涉及到
服务器
端mysql数据库安装、web应用部分开发和Android客户端开发三个部分
用于学习
tomcat
服务器
的Web
服务器
:light_bulb: 介绍
这个项目很小,最多不超过5000行,但涵盖了Web
服务器
的许多功能,并且完全由
Java
编写,适合新手学习
Java
和Web
服务器
知识
:sparkles: 特征
:magnifying_glass_tilted_left: 核心课程的课程图
:magnifying_glass_tilted_left: 200个请求的顺序图
:laptop: 如何
部署
建立想法的罐子
将b /,cong /,
java
web /,lib /,log /,webapps /,work /复制到
jar
文件目录中
happycat / conf / server.xml的配置权限文档库
使用“
java
-jar
happycat.
jar
”运行
:eyes: 参考
Apache
Tomcat
食谱
Tomcat
架构解析
Tomcat
如何工作
Tomcat
权威指南
规范UML 2.5.1
UML蒸馏
PlantUML_Language_Reference_Guide_en
UML_for_
Java
_Progr
运行
java
web有两种方式:当使用springboot打包出
jar
包时,这个
jar
包可以直接 运行
java
-jar
*.
jar
运行,另一种是把 *.
jar
移动到
tomcat
/webapps 中,二者的
区别
是什么?
理解 ! ! !
①对于springboot打包出来的
jar
包中已经包含了嵌入式
tomcat
服务器
的依赖项,在pom.xml问价中,导入的maven依赖spring-boot-starter-web中包含内嵌的
tomcat
容器
<dependency>
<filter>
<filter-name>CORS</filter-name>
<filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class>
<init-param>
<param-name>cors.allowOrigin</param-n.
idea下springboot打包成
jar
包和war包,并且在外部
tomcat
下运行访问
声明一点,下面打包的过程中,scope一直都是使用默认的范围
<!--用于编译jsp-->
<dependency>
<groupId>org.apache.
tomcat
.embed</groupId>
<artifactId>
tomcat
-embed-jasper</artifactId>
<!--<scope
基于
Java
的菠萝博客系统,简单易
部署
,精致主题,贴心服务,专为程序员设计。
:red_heart:令人惊心的全面免费服务
:check_mark_button:贴心的技术支持
有问必答的用户交流群,轻松气氛,社恐无惧
舒心提问,耐心讲解,博客维护团队为你解答
免费远程服务,解决疑难杂症
菠萝博客及全部增值服务永久免费,永久更新
:seedling:我是小白,装不好怎么办?
不用担心安装问题,我们提供完善的文档,提供所有
部署
方式的安装,升级方式,通过简单的几步就可以启动。如果您在跟随教程安装的过程中出现任何问题,菠萝博客用户群会有作者以及维护者随时待命,免费解答,远程帮助,QQ用户群请点击最下方的链接。
:cherry_blossom:欣赏
:sparkles:全新主题,支持黑暗模式
:chart_increasing:后台管理,酷炫统计表,完整黑暗模式支持
:magnifying_glass_tilted_left:搜索界面,一搜即达
:camera_with_flash:登录界面,定期自动更新主题美图
为什么选择Bolo
完整的教程文档,完善的交流答疑
bin 专门用来存放
Tomcat
服务器
的可
执行
程序
conf 专门用来存放 Tocmat
服务器
的配置文件
lib 专门用来存放
Tomcat
服务器
的
jar
包
logs 专门用来存放
Tomcat
服务器
运行时输出的日记信息
temp 专门用来存放 Tomcdat 运行时产生的临时数据
webapps 专门用来存放
部署
的 Web 工程
work 是
Tomcat
工作时的目录,用来存放
Tomcat
运行时 jsp 翻译为 Servlet 的源码,和 Session 钝化的目录。
在项目目录下里创建WEB-INF文件夹,在其中创建lib文件和classes文件夹。将自己的
jar
包放到lib文件里。并手动解压到该文件夹。解压后的文件里有你的class文件,将class文件copy到chasses文件里,即可调用该
jar
包。记得要重新启动
tomcat
服务。
Nginx是一款高性能的Web
服务器
和反向代理
服务器
,它可以托管静态网页和动态网页,也可以在代理后端的服务时进行负载均衡和缓存操作。在Nginx中
部署
jar
包有两种方法:通过FastCGI协议和通过
Tomcat
服务器
。下面分别介绍这两种方法的步骤。
通过FastCGI协议
部署
jar
包:
1. 安装FastCGI插件:首先需要在Nginx上安装FastCGI插件,以便与应用程序通信。需要使用命令行下载并安装FastCGI库和开发工具。
2. 编写FastCGI程序:然后需要编写一个FastCGI程序,将
Java
程序打包成
jar
文件,并将其转换为FastCGI应用程序。可以使用
Java
编写自己的FastCGI应用程序,或者使用第三方FastCGI连接器,如fcgi.
jar
和mod_fastcgi。
3. 配置Nginx:接下来需要在Nginx的配置文件中配置FastCGI参数,指定FastCGI连接器的位置、端口和协议。在Nginx配置文件中添加以下注释: location /
java
{ fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
4. 启动FastCGI进程:启动FastCGI进程之前,需要先用
Java
将FastCGI程序打包成
jar
文件。然后可以使用
Java
命令启动FastCGI进程,或者通过启动脚本启动FastCGI服务。
通过
Tomcat
服务器
部署
jar
包:
1. 安装
Tomcat
服务器
:首先需要在
服务器
上安装
Tomcat
服务器
,以便
部署
Java
程序。可以使用命令行或安装程序来安装
Tomcat
服务器
。
2. 配置
Tomcat
:然后需要编辑
Tomcat
的配置文件,以指定
Java
程序的
部署
位置和端口。可以使用
Tomcat
Manager Web界面或命令行工具来编辑配置文件。
3.
部署
Java
程序:接下来需要将
Java
程序打包成war文件,并将其上传到
Tomcat
服务器
。可以使用Eclipse IDE或Maven插件来打包
Java
程序。
4. 配置Nginx反向代理:最后需要在Nginx上配置反向代理,以将访问
Tomcat
服务器
的请求转发到指定的端口。可以使用location / {}块来配置反向代理。
通过以上两种方法,即可成功在Nginx上
部署
jar
包,并实现静态和动态网页的服务。选择哪种方法取决于你的具体项目需求和技能水平。
原创:全局异常捕获BindException、MethodArgumentNotValidException和ConstraintViolationException @Validated@Valid
OKWeCool:
SSL中,公钥、私钥、证书(pem、crt、cer、key、csr)的后缀名都是些啥?
weixin_42052209:
IntelliJ IDEA更新Maven远程仓库索引index(pom文件终于有快速的自动提示了)
脸滚键盘1201: