Servlet修改后,需要重新启动服务器
而JSP页面修改保存后,直接在浏览器刷新就可以显示更新内容?
为什么?
3 个解决方案
#1
我是菜鸟,我觉得吧。
jsp等文件在服务器上还是 .Jsp
而Servlet和其他.java文件一样,需要再次启动服务器编译
#2
<constant name="struts.devMode" value="true" />
如果有用到struts2的話,就是因為設置了開發模式
如果有用到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代码,也会自动再加载的。
你所提的问题与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的話,就是因為設置了開發模式
如果有用到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代码,也会自动再加载的。
你所提的问题与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代码,也会自动再加载的。