ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

设置ItelliJ IDEA里修改jsp不重启tomcat

2019-08-06 13:54:52  阅读:213  来源: 互联网

标签:java tomcat ItelliJ update IDEA jsp IDE resources


设置ItelliJ IDEA里修改jsp不重启tomcat

On Upate Action 与 On Frame Deactivation 这两个选项的设置,依赖于 项目的部署方式 是war包 还是 exploded ,看下面的gif:

技术分享

这里实在是太灵活了,如果要讲 太费时间了,我们只讲exploded模式下的设置,因为这个我们用的最多,开发模式,开发完成后 直接用maven的 package命令打包就行了,所以用的最多的 也是最灵活的就是exploded 开发模式。exploded模式 实际运行的就是target目录下的kao文件夹。

首先来看 on update action 相关的解释,从字面上理解 就是 手工触发 update 动作的时候 做什么:

技术分享

技术分享

update resources ---- 更新静态的资源,比如html,js,css等 运行模式和调试模式都是立即生效。

update classes and resources ---- 更新java,jsp和静态资源(

\1. java 修改后,会被编译成.class 然后覆盖到target/kao文件夹下,IDE调试模式的情况下,立即生效。IDE运行模式下,不立即生效,需要redeployed才可生效。

\2. jsp修改后,再次被访问的时候,会自动更新,重新编译成.java---->.class 保存在tomcat的work目录下。由于是访问时才检测是否修改,是否需要重新编译,所以 IDE 运行模式 和 IDE调试模式下,都是立即生效。刷新下页面就可);

redeployed ----- 重新部署,发布到tomcat里,不重启tomcat,而是把原来的删掉,然后重新发布;

restart server ----- 重启tomcat

------------------------------------------------------------------------------------------------------------------------

再来看on frame deactivation ,意思是 IDE 失活时 做什么,就是说 IDE 失去焦点时 做什么。

技术分享

Do nothing --------- 什么都不做

update resources ---- 更新静态的资源,比如html,js,css等 运行模式和调试模式都是立即生效。

update classes and resources ---- 更新java,jsp和静态资源 同上。

验证上方的结论看如下GIF:

静态资源不用测试了,测试 On Update Action 的 (update classes and resources)在debug模式 与 运行模式下的差别。

1.运行模式下,jsp是 update classes and resources 是立即生效的,但是.java文件修改后 并不会立即生效。

技术分享

2.debug调试模式下,jsp和java文件修改 都会立即生效:

技术分享

3.测试on frame deactivation 即IDE 失去焦点时自动做一些事, 我们测试 让其update classes and resources ,以调试模式为例,运行模式除了java 修改不会自动生效,其它一致;

技术分享

总结,这样设置是最佳的选择:

技术分享

因为On frame deactivation IDE失去焦点的情况下 自动触发,而开发过程中 可能需要查询资料 或 与人聊天 或干其它事,IDE需要不停的失去焦点。每次失去焦点就自动触发 update ,CPU一下子 费很多,电脑瞬间变慢,所以没有必要这样,设置为Do nothing 最好,官方也默认的是 Do nothing。

On Update action ------- update classes and resources ----- 运行模式下(jsp 立即生效,java 需要redeploy才可生效)

On Update action ------- update classes and resources ----- 调试模式下(java、jsp 都立即生效)

=================完结了!!!!!!!!这块非常灵活,这篇博客研究了一天 才写出来,很多时候 不知道 如何组织 如何写,才能更加 简单明了。

关于一些小知识说明:

C:\Users\del-berlin.IntelliJIdea2017.1\system\tomcat\Unnamed_kao_4\work\Catalina\localhost\kao\org\apache\jsp ,jsp再第一次被访问时,会被编译成java 然后再被编译成class ,然后放到 tomcat的work目录下,但是IntelliJ 里,由于部署方式的原因 实际上是保存到了 上面的目录里,而实际的项目运行中是保存到了tomcat的work目录里:

技术分享

参考:http://www.mamicode.com/info-detail-1699044.html

标签:java,tomcat,ItelliJ,update,IDEA,jsp,IDE,resources
来源: https://www.cnblogs.com/wenqiangit/p/11308383.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有