IDEA打包WAR
打开文件——项目结构
点击Artifacts,再点击如图的+号
点击web应用程序:Exploded,选择空
点击output layout下的+,选择Directory Content
选择自己项目的下的web目录
在右侧那个Avaliable Elements下面选择你的那个项目,右击第一个然后选择put into /WEB-INF/classes
然后点击应用,再点击确认
然后去找build,选择build Artifacts
然后选择这个刚刚我们新建的(就是这个未命名的),点击build
要是不知道在哪可以再打开这个界面,复制这个路径直接去访问
部署到Tomcat
先前往Tomcat目录下的webapps,把刚刚生成的WAR复制进来
前往bin,运行startup.bat
在127.0.0.1:8080后增加你的WAR包的名字,就可以访问到了,这里就不展示我写的辣鸡东西了
问题
本地调试
到这也许你会遇到这样的问题:我的程序用的都是相对路径,这样一搞,相对路径就全错了,重定向什么的全部找不到网页
很简单,直接前往conf,打开server.xml
滑到最低部,在</Host>上添加如下代码
<Context path="" docBase="/unnamed"><WatchedResource>WEB-INF/web.xml</WatchedResource>
</Context>
你只需把我的unnamed更改成你WAR包的名称就行
也就是docBase后的路径,是相对于webapps这个目录的相对路径
然后重启Tomcat,再打开就可以直接在8080访问到你的web应用了
部署到云服务器
我买的是腾讯云服务器,腾讯云的防火墙规则默认只开几个端口
这我本机连本机都禁用,防火墙规则很神奇
于是我增加了一跳规则,只允许服务器公网ip可以访问
然后出现了新的错误,这个错误就是MSSQL 2012用的是TLS10,JAVA只接受TLS12产生的错误,然后把JAVA里面的东西删了后,产生的玩意,过一段时间就自己好了
详细见:Java连接SQL Server(IDEA)_丶语的博客-优快云博客
这也证明了我自己不能访问自己,神奇