Tomcat 7支持Servlet 3.0,一个支持异步和文件上传的新版本。
真的希望eclipse和tomcat的开源社区配合好一点,不要总是产生不一致的情况,这样会产生非常糟糕的用户接口。
bug
新建eclipse时候,如果选择tomcat 7,eclipse默认的Servlet编译目录是’build’,但是Tomcat认为Servlet编译好的目录是webcontent/WEB-INF/classes文件夹。这就产生了不兼容的地方。
这个不兼容的设计会让用户Servlet在tomcat上运行时无法找到Servlet.
解决方案
新建dynamic web project[确定dynamic module version=3.0]
- 在WEB-INF下新建Folder,命名为“classes”
- 设置项目的Build-Path,source选项下设置 default output folder为WEB-INF下的classes文件夹
- web.xml并不是必选项,因为新增注解
@WebServlet("/login")
- 在tomcat 7下运行就可以了