jsp代码改变服务器为什么不重启,而servlet代码改变了,就需要重启呢
建一个web工程,里面有个login.jsp和LoginServlet.java,服务器为Tomcat,Tomcat中server.xml配置中的<Context>标签中...
建一个web工程,里面有个login.jsp和LoginServlet.java,服务器为Tomcat,Tomcat中server.xml配置中的<Context>标签中设置为 reloadable="true"。启动服务器,然后修改一下LoginServlet.java文件,保存,过一会,服务器重启了,然后在修改一下login.jsp文件,保存,服务器就不重启。这个原理是什么呢?
--------------------------------------------------------------------------------------------------
看这段代码:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<html>
<head>
<title>test</title>
</head>
<body>
<%
java.util.Date d = new java.util.Date();
out.println(d);
//out.println(d);
//out.println(d);
%>
</body>
</html>
如果把注释部分去掉保存,服务器也没有重启。 展开
--------------------------------------------------------------------------------------------------
看这段代码:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<html>
<head>
<title>test</title>
</head>
<body>
<%
java.util.Date d = new java.util.Date();
out.println(d);
//out.println(d);
//out.println(d);
%>
</body>
</html>
如果把注释部分去掉保存,服务器也没有重启。 展开
4个回答
展开全部
因为servlet代码是要通过编译转换成html代码的....
在服务器 启动的时候进行编译的.....
所以改变了以后需要重新启动服务器叫代码重新编译成html代码给浏览器识别...
因为JAVA代码是要通过编译转换成HTML代码的....是在服务器启动的时候进行编译的....所以 改了JAVA代码需要重启....而jsp文件中的代码是不需要编译的....因为网页能识别标记语言....JAVA文件里面的语言识别不了...所以要重新编译...
具体的你可以看你的项目...放在TOMCAT下没有运行的时候
\WebRoot\WEB-INF\classes\里面有什么...启动你的项目以后
你再看看 \WebRoot\WEB-INF\classes\里面有什么.....
里面的 .class文件应该是在编译的时候产生的....所有 .java文件改变了
都要重启服务器然后才能生成新的 .class文件...
在服务器 启动的时候进行编译的.....
所以改变了以后需要重新启动服务器叫代码重新编译成html代码给浏览器识别...
因为JAVA代码是要通过编译转换成HTML代码的....是在服务器启动的时候进行编译的....所以 改了JAVA代码需要重启....而jsp文件中的代码是不需要编译的....因为网页能识别标记语言....JAVA文件里面的语言识别不了...所以要重新编译...
具体的你可以看你的项目...放在TOMCAT下没有运行的时候
\WebRoot\WEB-INF\classes\里面有什么...启动你的项目以后
你再看看 \WebRoot\WEB-INF\classes\里面有什么.....
里面的 .class文件应该是在编译的时候产生的....所有 .java文件改变了
都要重启服务器然后才能生成新的 .class文件...
2015-11-25 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
原因是浏览器是不能直接识别servlet的,需要把servlet转换成html代码才可以识别及显示。
如果servlet发生改变,但没有重启服务器,服务器只能识别修改前转换的html代码,所以改变了以后需要重新启动服务器叫代码重新编译成html代码给浏览器识别。
如果servlet发生改变,但没有重启服务器,服务器只能识别修改前转换的html代码,所以改变了以后需要重新启动服务器叫代码重新编译成html代码给浏览器识别。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个要看WEB服务器的设置。
服务器的重新载入功能默认是关闭的。
Servelet被请求时检查该Servlet相对应的类文件的修改日期,重新载入那些类文件发生改变的servlet。在部署环境下,这对性能有影响所以默认是关闭的。然而如果不开启这个选项,那么对于已经载入到内存中的Servlet,每次重新编译之后,都得重新启动服务器或者重新载入WEB应用
服务器的重新载入功能默认是关闭的。
Servelet被请求时检查该Servlet相对应的类文件的修改日期,重新载入那些类文件发生改变的servlet。在部署环境下,这对性能有影响所以默认是关闭的。然而如果不开启这个选项,那么对于已经载入到内存中的Servlet,每次重新编译之后,都得重新启动服务器或者重新载入WEB应用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Java和Jsp代码改变一般不重启。
重启是因为配置文件改变了,需要重新加载。
重启是因为配置文件改变了,需要重新加载。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询