启动tomcat,index.jsp的输出语句会执行三次
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%System.out.println("111");%>
</body>
</html>

有帮助的话采纳一下
你提供的index.jsp代码,输出语句被执行多次的原因可以进一步分析如下:
- 该页面没有自动刷新或其他重复请求的代码,可以排除是页面自身的问题。
- 输出语句在jsp页面中,jsp页面默认会被编译成servlet类。tomcat启动时需要加载和初始化所有servlet类,这个过程会触发第一次输出。
- Tomcat默认会设置欢迎页面为index.jsp,启动时会正常请求访问欢迎页面,因此会第二次编译执行index.jsp。
- 访问tomcat主页时也会默认请求index.jsp,这是第三次访问导致的输出。
- Tomcat可能配置了上下文参数compilerSourceVM或compilerTargetVM,启用了防御式编程,这也可能是导致重复编译的原因之一。
建议可以通过修改欢迎页面,去掉index.jsp的欢迎页配置,同时检查Tomcat上下文参数,避免启用防御编译。或者直接使用Servlet来代替JSP页面,这样可以避免重复初始化执行的问题。
tomcat 启动时会同时启动三个线程池,因此输出语句会被执行三次