在这里分享一下在eclipse下开发Web项目遇到的问题,以及相关的解决方法!
一、在介绍eclipse下Web开发之前,先介绍一下“纯手工”的开发Web应用以及如何部署到Tomcat上【当然还有其他方法,但我觉得这个方法很厉害,也很“干净”】。
Tomcat的安装配置、端口设置等等,大家可以参考网上的资料,也可以参考李刚的《轻量级JavaEE企业应用实战(第三版)》,下面是电子版下载地址:
http://pan.baidu.com/s/1eQ75rbW 文件有点大!
1. 在Tomcat安装目录下找到webapps目录,进入该目录;
2. 在webapps目录下新建一个文件夹webDemo(作为web应用的入口);
3. 在webDemo下新建一个WEB-INF文件夹(注意一定要大写);
4. 在WEB-INF文件夹新建两个文件夹lib(用于放置jar包)、classes(用于放置.class文件,因为每一个jsp页面都会被服务器翻译成class文件),还有需要一个web.xml配置文件,从其他应用那里copy一个过来就可以(webapps下有许多样例);
5. 将jsp文件存放在与WEB-INF文件同级目录下(新建其他文件夹也是可以的);
6. 这样运行bin目录下的startup.dat文件,开启服务器之后就可以打开浏览器查看了。
结构类似于这样:
二、eclipse下开发web项目前期准备
1. 第一步:新建 Dynamic Web Project 没有问题(都是下一步、下一步操作,不罗列了);
2. 接着可以创建 jsp文件,结构如下:
这里几个地方需要解释下:
1. WebContent目录下的所有内容在发布到Tomcat服务器上后都会直接放在应用下面(这里是servletdemo),eclipse中只是为了阻止方便;
2. 而src包下面的所有 *.java 文件都不会发布到Tomcat上,只会将 *.class 文件发布,而且是发布到 WEB-INF 文件夹下面的 classes文件下面(文件组织方式和package一模一样);
3. WEB-INF 文件夹下面还有一个文件夹 lib ,它是放置从外部导入的 jar 包。如果在项目中需要导入包的,切记将包放入lib下面(复制到该目录下),如果只是在eclipse项目中导入包,发布时是不会复制过去的;
大家可能会注意到,目前这个项目有错误【错误信息:The superclass javax.servlet.http.HttpServlet was not found on the Java Build Path】,那是为什么呢?
因为你还没有为你的项目添加 Server Rumtime,简单说就是还没有配置服务器,可以进入如下的设置:
右击项目名称,在“Build Path”【如果没有这个选项,选择Properties也是一样的】选项下选择“Libraries”,在右侧选择“Add Library”,选择“Server Runtime”接着选择相应的“服务器就好”。在其他项目如Struts、Spring、Hibernate等项目中,需要添加包的,也是通过“Add Library”。
大致流程就是这样,可能有人会遇到这个问题:【eclipse下启动tomcat 无法打开localhost:8080问题】
解决方法这个查看这里:http://blog.youkuaiyun.com/ji_ju/article/details/8545588