要让MyEclipse顺利运行JSP和Servlet,虽然步骤看似繁多,但只要抓住几个关键点,其实并不复杂。首先需要明确:JDK、Tomcat、MyEclipse三者的版本必须相互兼容,路径必须配置正确,缺少任何一环都会导致报错。尤其要注意JDK版本不宜过高——Tomcat 9.x最高支持到JDK 11,若使用JDK 17,Tomcat将无法启动。此外,Tomcat的安装路径中绝对不能包含中文或空格,否则系统会提示“Server runtime not found”错误,让开发者卡在此处难以排查。

安装并验证JDK基础环境
推荐使用JDK 8u291或JDK 11,这两个版本与Tomcat 9.x配合最为稳定。从Oracle或OpenJDK官网下载安装后,务必在命令行中输入java -version,确认输出的版本号为1.8.x或11.x。如果系统提示“不是内部或外部命令”,说明PATH环境变量未正确配置——此时需要手动将%JAVA_HOME%\bin添加到系统变量中。
具体操作:右键“此电脑”→“属性”→“高级系统设置”→“环境变量”,新建一个系统变量,变量名设为JAVA_HOME,变量值填写JDK的安装根目录,例如C:\Program Files\Java\jdk-11.0.15。注意路径中不要出现中文字符,空格一般无碍,但最好避免。
解压并独立运行Tomcat
Tomcat 9.x推荐下载zip版本,不要使用exe安装版。下载后解压到一个纯英文且无空格的路径中,例如D:\tomcat9。再次强调:不要解压到“下载”或“桌面”等位置,更不要放在包含中文的文件夹内。
解压完成后,双击D:\tomcat9\bin\startup.bat,等待控制台输出Server startup in [xxx] ms字样。此时打开浏览器,访问https://localhost:8080,若能看到Apache Tomcat的欢迎页面,则说明Tomcat已能独立运行。
如果窗口一闪而过,或提示“找不到或无法加载主类”,问题大多出在JAVA_HOME配置上——要么路径填写错误,要么JDK版本与Tomcat不匹配。此时不要急于继续,应回头重新确认JDK与Tomcat的版本对应关系。
在MyEclipse中关联Tomcat服务器
启动MyEclipse,进入菜单栏Window → Preferences,展开MyEclipse → Servers → Tomcat。勾选Enable Tomcat 9.x,点击Browse…选择刚才解压的D:\tomcat9目录。在下面的JDK下拉框中选中之前配置好的JDK——若未出现,则点击Add…手动添加。
设置完毕后点击Apply and Close。回到主界面,展开左侧的Servers视图,右键Tomcat 9.x Server选择Start,观察控制台是否能正常输出启动日志。如果弹出“Failed to start server”,则通常是路径或JDK引用问题,需要重新核对每一步。
创建动态Web项目并部署JSP
在菜单栏选择File → New → Web Project,输入项目名称,例如HelloJSP。关键一步:Target runtime下拉框中必须显示刚才配置的Tomcat v9.0,若没有,说明前面的服务器关联未成功。同时记得勾选Generate web.xml deployment descriptor。
项目创建后,在WebRoot目录下右键 → New → File,命名为index.jsp,写入以下内容:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>Hello from JSP!
<%= new java.util.Date() %>
保存后,右键项目 → Run As → Run on Server,选择Tomcat v9.0 Server。浏览器会自动打开https://localhost:8080/HelloJSP/index.jsp,若页面上显示了当前时间戳,则说明JSP解析成功。
添加Servlet类并验证请求处理
这一步有两种实现方式,可根据习惯选择。
方法一:在src目录下右键 → New → Servlet,类名填HelloServlet,包名填demo,下一步勾选doGet和doPost,完成。MyEclipse会自动生成带有@WebServlet("/hello")注解的类。在doGet方法中添加一句:response.getWriter().println("Servlet says: Hello World!");,保存即可。
方法二:若习惯传统写法,也可手动配置web.xml。打开WebRoot/WEB-INF/web.xml,在标签内插入以下内容:
无论采用哪种方法,配置完成后刷新浏览器,访问https://localhost:8080/HelloJSP/hello,页面输出“Servlet says: Hello World!”,即说明Servlet的整个调用链路已完全打通。
