JSP页面修改后 为什么不用重启服务器就可以显示更新内容?

时间:2023-01-03 08:37:34
用eclipse开发

Servlet修改后,需要重新启动服务器

而JSP页面修改保存后,直接在浏览器刷新就可以显示更新内容? 

为什么?

3 个解决方案

#1



我是菜鸟,我觉得吧。

jsp等文件在服务器上还是 .Jsp

而Servlet和其他.java文件一样,需要再次启动服务器编译

#2


<constant name="struts.devMode" value="true" />
如果有用到struts2的話,就是因為設置了開發模式

#3


重启主要是改了配置文件要让它生效。当然有的配置文件可以设置成保存后就reload那就不用重启tomcat了。
你所提的问题与Tomcat的运行机制有关: 
首先你的WEB应用在Tomcat目录下有Jsp文件和.class文件。 
Tomcat启动后class文件会接受请求加载到JVM中。而对JSP第一次请求时,会先编码成对应的.class文件加载进来。以后每一次请求Tomcat容器要检查Jsp的版本,如果与前一次不一样,则会自动再次编码并加载.class文件。 
其实在做开发的时候不用这么麻烦,即使修改JAVA文件也没必要手工重启tomcat. 
方法如下: 
1、在eclipse中配置tomcat服务器。 
2、在Tomcat目录conf\Catalina\localhost目录加入配置文件如hello.xml内容如下: 

Java代码  收藏代码
<?xml version='1.0' encoding='utf-8'?>  
<Context docBase="D:/WorkDir/hello/web" path="/hello" privileged="true"  reloadable="true"> <Resource name="jdbc/hello" auth="Container" type="javax.sql.DataSource" driverClassName="oracle.jdbc.driver.OracleDriver"  
              url="jdbc:oracle:thin:@127.0.0.1:1521:hellodb"  
              username="admin" password="admin" maxActive="100" maxIdle="30"  
              maxWait="5000"/>  
</Context>  
3、注意:D:/WorkDir/hello/web为你在eclipse中项目的地址,web目录在你的项目中可能是webroot。 
4、在eclipse中启动tomcat,再修改代码。因为配置文件中用的reloadable="true",所以即使修改了java代码,也会自动再加载的。 

#1



我是菜鸟,我觉得吧。

jsp等文件在服务器上还是 .Jsp

而Servlet和其他.java文件一样,需要再次启动服务器编译

#2


<constant name="struts.devMode" value="true" />
如果有用到struts2的話,就是因為設置了開發模式

#3


重启主要是改了配置文件要让它生效。当然有的配置文件可以设置成保存后就reload那就不用重启tomcat了。
你所提的问题与Tomcat的运行机制有关: 
首先你的WEB应用在Tomcat目录下有Jsp文件和.class文件。 
Tomcat启动后class文件会接受请求加载到JVM中。而对JSP第一次请求时,会先编码成对应的.class文件加载进来。以后每一次请求Tomcat容器要检查Jsp的版本,如果与前一次不一样,则会自动再次编码并加载.class文件。 
其实在做开发的时候不用这么麻烦,即使修改JAVA文件也没必要手工重启tomcat. 
方法如下: 
1、在eclipse中配置tomcat服务器。 
2、在Tomcat目录conf\Catalina\localhost目录加入配置文件如hello.xml内容如下: 

Java代码  收藏代码
<?xml version='1.0' encoding='utf-8'?>  
<Context docBase="D:/WorkDir/hello/web" path="/hello" privileged="true"  reloadable="true"> <Resource name="jdbc/hello" auth="Container" type="javax.sql.DataSource" driverClassName="oracle.jdbc.driver.OracleDriver"  
              url="jdbc:oracle:thin:@127.0.0.1:1521:hellodb"  
              username="admin" password="admin" maxActive="100" maxIdle="30"  
              maxWait="5000"/>  
</Context>  
3、注意:D:/WorkDir/hello/web为你在eclipse中项目的地址,web目录在你的项目中可能是webroot。 
4、在eclipse中启动tomcat,再修改代码。因为配置文件中用的reloadable="true",所以即使修改了java代码,也会自动再加载的。