IDEA中修改了Web项目后,更新资源 类和资源 重新部署的区别

本文详细介绍了在开发过程中,针对代码修改的不同情况,如何选择合适的更新策略,如更新资源、更新类和资源、重新部署及重启服务器。讨论了各种策略在调试和运行模式下的效果,以及它们对Java类和JSP文件的处理方式。强调了当涉及代码结构变更时,通常需要重启项目以确保改动生效。

img

选项描述
update resources所有更改的资源都会更新(HTML,JSP,JavaScript,CSS和图像文件)
update classes and resources更改的资源将更新;重新编译更改后的Java类(EJB,Servlet等)。 在调试模式下,更新的类立即生效。在运行模式下,需要重新部署。此类实际上是否在运行的应用程序中重新加载,取决于所使用的运行时的功能。
redeployed重建并重新部署了应用程序工件。该操作可能很耗时。
restart server服务器重新启动。重建并重新部署了应用程序工件。该操作可能非常耗时。
  • update resources ---- 更新静态的资源,比如html,js,css等 运行模式和调试模式都是立即生效;

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

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

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

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

  • restart server ----- 重启tomcat

  • 当代码的结构修改以后,比如增加方法,包括get,set方法,和增加类之后。不管是不是热部署都要重启项目。

示例:
修改前
在这里插入图片描述
修改后
在这里插入图片描述

### 配置IntelliJ IDEA以部署Web项目到Tomcat 在IntelliJ IDEA中将Web项目部署到Tomcat服务器涉及几个关键步骤,包括确保项目结构正确、配置Tomcat服务器以及设置运行调试配置。 #### 项目结构调整 首先,确保您的项目结构适合Web应用。如果项目尚未被识别为Web项目,则需要通过以下步骤进行调整: - 打开项目设置(File > Project Structure)。 - 在Facets部分添加Web facet,这会告诉IDEA这是一个Web项目- 修改Deployment Descriptors,选择正确的`web.xml`文件作为部署描述符。 - 设置Web资源目录(Web Resource Directory)指向项目WebRoot目录[^3]。 #### 配置Tomcat服务器 接下来,您需要配置Tomcat服务器以便IDEA能够与之交互: - 下载并安装Tomcat服务器,确保其安装路径已知且可访问。 -IntelliJ IDEA中,进入Run > Edit Configurations。 - 点击左上角的加号(+),选择Tomcat Server > Local。 - 在新创建的配置中,指定之前安装的Tomcat服务器的路径。 #### 设置运行/调试配置 最后,配置运行调试选项来部署您的Web应用: - 在Run/Debug Configurations窗口中的Server选项卡,可以设置JVM选项、启动模式等。 - 在Deployment选项卡中,点击+号添加要部署的工件(Artifacts)。选择您的Web应用模块。 - Application context字段应填写Web应用的上下文路径,例如`/myapp`。 - 确保在Before launch部分包含了构建项目的任务,通常包括MakeBuild Artifacts。 完成以上步骤后,可以通过点击Run或Debug按钮来启动Tomcat服务器并部署Web应用。IDEA会自动处理大部分部署细节,包括将Web应用的文件复制到Tomcat的webapps目录下,并启动服务器。 ### 示例代码:简单的Servlet 下面是一个简单的Servlet示例,展示了如何创建一个响应HTTP请求的Java: ```java import javax.servlet.*; import javax.servlet.http.*; import java.io.*; public class HelloWorldServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("<h1>Hello, World!</h1>"); } } ``` 确保此Servlet已在`web.xml`中正确声明,并映射到适当的URL模式。 ###
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值