步骤 2 : 模仿和排错 步骤 3 : 说明 步骤 4 : 新建Dynamic Web Project 步骤 5 : Servlet类 步骤 6 : 解决HttpServlet找不到问题 步骤 7 : 刷新项目 步骤 8 : web.xml 步骤 9 : 通过Eclipse启动Tomcat-Run On Server 步骤 10 : 通过Eclipse启动Tomcat-服务器选择Tomcat v7.0 Server 步骤 11 : 通过Eclipse启动Tomcat-指定Tomcat服务器地址 步骤 12 : 通过Eclipse启动Tomcat-部署 步骤 13 : 测试 步骤 14 : 关闭Eclipse中的Tomcat 步骤 15 : Eclipse中启动Tomcat问题-端口 步骤 16 : 需要注意的几点 步骤 17 : 右上角可运行项目 
					老规矩,先下载右上角的可运行项目 j2ee.rar,配置运行起来,确认可用之后,再学习做了哪些步骤以达到这样的效果。
					 
					
				
					在确保可运行项目能够正确无误地运行之后,再严格照着教程的步骤,对代码模仿一遍。 
 
					
				模仿过程难免代码有出入,导致无法得到期望的运行结果,此时此刻通过比较正确答案 ( 可运行项目 ) 和自己的代码,来定位问题所在。 采用这种方式,学习有效果,排错有效率,可以较为明显地提升学习速度,跨过学习路上的各个槛。 推荐使用diffmerge软件,进行文件夹比较。把你自己做的项目文件夹,和我的可运行项目文件夹进行比较。 这个软件很牛逼的,可以知道文件夹里哪两个文件不对,并且很明显地标记出来 这里提供了绿色安装和使用教程:diffmerge 下载和使用教程 
					本知识点采用动态Web项目-Dynamic Web Project的方式把 Java project+独立Tomcat的Hello Servlet 重新做一遍。
					 
					
				
					新建Dynamic Web Project 
					
				File->New->Other->Web->Dynamic Web Project 
					创建 HelloServlet 
					
				注意:eclipse创建的时候会自带一个包名j2ee,不要使用这个包名,让包名置空 import java.io.IOException;
import java.util.Date;
 
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
public class HelloServlet extends HttpServlet{
 
    public void doGet(HttpServletRequest request, HttpServletResponse response){
         
        try {
            response.getWriter().println("<h1>Hello Servlet!</h1>");
            response.getWriter().println(new Date().toLocaleString());
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
     
}
 
								
										
									
								
							
					默认的Dynamic Web Project并不会导入servlet-api.jar,所以Servlet会出现编译错误。 
					
				在右上角下载servlet-api.jar,并复制到e:/project/j2ee/WebContent/WEB-INF/lib 目录下 
					复制好之后,右键点击项目,刷新即可。 这个动作,会导致当前项目的build path->Libraries里的 Web App Libraries 自动加上这个servlet-api.jar包,这样HelloServlet就编译通过了。
					 
					
				
					在WEB-INF目录中创建 web.xml
					 
					
				<?xml version="1.0" encoding="UTF-8"?>
<web-app>
 
    <servlet>
        <servlet-name>HelloServlet</servlet-name>
        <servlet-class>HelloServlet</servlet-class>
    </servlet>
 
    <servlet-mapping>
        <servlet-name>HelloServlet</servlet-name>
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>
 
</web-app>
 
									
								<?xml version="1.0" encoding="UTF-8"?>
<web-app>
 
    <servlet>
        <servlet-name>HelloServlet</servlet-name>
        <servlet-class>HelloServlet</servlet-class>
    </servlet>
 
    <servlet-mapping>
        <servlet-name>HelloServlet</servlet-name>
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>
 
</web-app>
								
								
					接下来就是在eclipse中配置Tomcat并启动,这个需要好几个步骤完成。 
					
				首先右键项目 -> Run As -> Run on Server 
					这里选中Tomcat v7.0 Server, 如果你使用的是更高版本的eclipse,这里还可以看到Tomcat v9.0 Server.  
					
				本知识点使用Tomcat 为例进行讲解,其他版本的Tomcat使用类似的操作。 
					然后指定Tomcat目录所在位置,这里使用的位置是: 
					
				D:\tomcat7-8080-eclipse,这个位置的Tomcat 在右上角可以下载。 表示版本是7的tomcat,端口号是8080. 注意: 右上角的tomcat7-8080-eclipse.rar是可以确保能够在eclipse中配置的,有时候tomcat被人为自定义修改之后,就不再能够在Eclipse中使用,请使用右上角确保可以运行的tomcat7,绕开不必要的麻烦。 注意: 不要使用纯净版 Tomcat,因为我对其进行了修改,有可能会导致在eclipse中启动失败。 
					然后就是下一步,把当前项目作为 "j2ee" 部署在tomcat中。
					 
					
				
					部署成功之后,访问地址: 
					
				http://127.0.0.1:8080/j2ee/hello 需要注意的是,因为在上一步部署的时候,使用的是j2ee这个配置,所以这里访问的时候有路径名称j2ee,与 前面的独立Tomcat部署方式不一样,那个没有j2ee这个路径 http://127.0.0.1/hello 
					以Eclipse的方式启动Tomcat,其实就是一个普通的Java 进程,只需要在Console 面板关闭即可
					 
					
				
					启动的时候,如果出现这个错误窗口,就表示端口8080和8089被占用了。 请使用端口排查教程找出端口被哪个程序占用了: 
					
				端口被占用 
					1. 类文件会被输出到build里,而不是WEB-INF/classes目录下 
					
				2. 当有类或者配置文件变化时,会自动重启,无需手动重启Tomcat. 但是不稳定,当很许多类改动,新加了jar包,新增加了配置文件等等,都有可能导致自动重启失效,所以最好还是手动重启,确保重启成功。 3. WebContent会被整个复制到 E:\project\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\j2ee 这个位置下面去,Eclipse中启动的tomcat其实是访问的这个位置。所以当WebContent里的内容比较多的时候,就会花较长时间复制。 4. 因为第3条的原因,第1条在build里生成的类和配置文件,也会被复制到第3条所说的位置 
					如果自己实在搞不出来,可以试试右上角的可运行项目j2ee.rar
					 
					
				
				HOW2J公众号,关注后实时获知最新的教程和优惠活动,谢谢。
			 
			 
			
			
			
			
			
		
		
		
		 	问答区域     
		 	
				
		  
	 
	  		
	  
	  	2023-10-17
	  		
	  				
	  					 
	  
					
						在教程的步骤10里,我的为什么不像教程里的那样有可以选的选项? 
					
					
						
							
						
											
							
					
					
					
	   
	  
	  
	  
 
2 个答案 
	 
javaWZ 跳转到问题位置 答案时间:2025-08-14 解决方案:选中Show downloadable server adapters
如果选中也不展示Tomcat选项,点击Next到下个界面,然后再点击Back返回此界面触发刷新就展示了。
(应该是个bug,我自己开发代码的时候也设计过这种bug,那种查询返回的界面,查一次再查第二次的时候上次的结果没清除刷新,得通过每次重新进入页面去刷新) 
		
							
		
		
		
		
	
		
		chen_jiayuan 跳转到问题位置 答案时间:2024-02-29 同问 
		
							
		
		
		
		
	
	
	
		回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢	
	 
	  		
	  
	  	2023-06-24
	  		
	  				
	  					 
	  
					
						动态web项目和之前的Java project+独立Tomcat的区别 
					
					
						
							
						
											
							
					
					
					
	   
	  
	  
	  
 
		回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢	
	 
	  		
	  
	  	2022-03-13
	  		
	  				
	  					 
	  
					
						为什么这样部署就不用更改tomcat的配置文件里面的路径了呢 
					
					
						
							
						
											
							
					
					
					
	   
	  
	  
	  	    
	    
	  
	  		
	  
	  	2021-08-11
	  		
	  				
	  					 
	  
					
						没有人遇到 时间显示为乱码的问题吗?求大神赐教。 
					
					
						
							
						
											
							
					
					
					
	   
	  
	  
	  	    
	    
	  
	  		
	  
	  	2021-01-15
	  		
	  				
	  					 
	  
					
						给404的朋友看 
					
					
						
							
						
											
							
					
					
					
	   
	  
	  
	  	    
	    
	  提问太多,页面渲染太慢,为了加快渲染速度,本页最多只显示几条提问。还有 54 条以前的提问,请 点击查看 
			
			提问之前请登陆
			
		 
		提问已经提交成功,正在审核。 请于 我的提问 处查看提问记录,谢谢	
	 
 | 
	|||||||||||||||||