【Servlet】部署包的创建方法、lib和artifact的关系

一、前言

新建项目后,默认就有一个模块,这个模块名和项目名同名。所以说为了防止混淆,就把根目录看成一个文件夹,删除掉src,然后再在这个文件夹中新建模块。

Web项目的web目录就是context root。


二、创建部署包

部署到tomcat时,它并不是将源代码部署进去,而是将项目的部署包部署进去,部署的包就叫Artifact。

1)方法一:直接点击提示的创建

当你把Web模块加入进项目后,说明你是个Web项目,既然是个web项目,将来就需要部署到tomcat上,但是部署到tomcat上时需要一个部署的包,但你现在还没有这个部署的包,它就问你要不要生成这个部署的包('Web’任何工件中都不包含 Facet 资源),点击生成即可。

image-20240303201227502

就算这里没有点击,也可以通过另一种方式创建Artifact


2)方法二:手动创建

Web Application:Exploded(Web应用程序:展开型)下面的归档(Archive)就是压缩包,jar包是java应用程序的压缩包。

Web Application:Archive:war包就是Web应用的压缩包,将该压缩包仍到tomcat中,就有一个叫webapps。

当你把war包仍进去后,tomcat会自动给你解压。

我们也可以不扔一个压缩包,我们仍一个压缩包解压之后的,就是Web Application:Exploded(Web应用程序:展开型),推荐添加解压包解压之后的,即Web Application:Exploded

image-20240303201842987

选择需要创建的模块

image-20240303202258365

然后就会出现,这个就是war包解压缩之后的一个包

image-20240303202326270

旁边的名字随便更改,无所谓,反正我们也用不到这个名字

image-20240303202429345

然后再回到Modules,它就不会再报'Web'任何工件中不包含Facet 资源错误了,因为咱们web项目已经有一个压缩包了。


三、lib和artifact的关系

现有artifact,后来才添加的jar文件,此时这个jar包并没有添加到部署包中。

那么在 Project Struct里有一个叫Problems,里面会有疑问。

当前请求的方法不支持。比如:我们表单method=post,那么Servlet必须对应doPost,否则报405错误。

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值