Eclipse运行Tomcat第一个小程序
一、eclipse+tomcat集成
1、下载tomcat
2、下载eclipse的tomcat插件(该插件只是在eclipse之中能够管理tomcat,并不是tomcat本身)
下载地址:http://www.eclipsetotale.com/tomcatPlugin.html
3、将下载完成的插件如:tomcatPluginV33.zip 解压缩到 eclipse 目录的 plugins 目录之下,重启下eclipse插件就完成了
4、配置插件管理的tomcat,
eclipse-》windoes-》Preference-》Tomcat 在其中就可以选择Tomcat版本,如7.0,
设置tomcat home 也就是Tomcat的解压目录,如:E:\eclipse_java\tomcat\apache-tomcat-7.0.29
5、再次重启下,Eclipse菜单中多了Tomcat,在下拉菜单中就出现了 Start、Stop、Restart Tomcat 命令了,执行Start试下,就可以在console中看到启动信息了。
6、下载来测试下,是否成功:
通过eclipse -》 tomcat 菜单启动tomcat,然后再浏览器中输入:http://localhost:8080 成功的话就可以看到tomcat主页了
7、创建一个Hello项目:
Eclipse-》File-》New-》Other 对话框中打开 java 目录,选择 Tomcat Project,确定,然后Project Name填写为Hello
在Hello项目下创建一个 HelloWorld.java 类,包名称为 Hello:
package Hello; import java.io.IOException; import java.io.PrintWriter; import java.util.Date; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class HelloWorld extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { PrintWriter out = response.getWriter(); out.write("<html>"); out.write("<head>"); out.write("<meta http-equiv=\"Content-Type\" content=\"text/html; charset= UTF-8\">"); out.write("</head>"); out.write("<body>"); out.write("<H1>"); String strValue = "Hello World zcs,curr time: " + new Date(); out.print(strValue); out.write("</H1>"); out.write("</body>"); out.write("</html>"); } }
然后,在WEB-INF下面,创建一个web.xml文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <display-name>HelloWorld</display-name> <description>HelloWorld Serlet </description> <servlet> <servlet-name>Servlet</servlet-name> <servlet-class>Hello.HelloWorld</servlet-class> </servlet> <servlet-mapping> <servlet-name>Servlet</servlet-name> <url-pattern>/HelloWorld</url-pattern> </servlet-mapping> </web-app>
8、测试HelloWorld,先启动tomcat,然后在浏览器中输入:http://localhost:8080/Hello/HelloWorld 成功的话,会显示HelloWorld zcs. 注意:url之中的 /Hello/HelloWorld 其中的Hello表示之前创建的Tomcat项目名称,而后面的/HelloWorld 为在web.xml 中配置的 url-pattern.
(经过测试,其中的Hello应该是context配置文件名,可以查查看tomcat的如配置目录:/usr/tomcat7/conf/Catalina/localhost/ 你在其中会看到一个 Hello.xml 该文件是由tomcat插件创建的,可以通过修改项目属性->tomcat 其中的context name文本框中来修改)。
二,遇到的错误:
1)浏览器返回错误: Error instantiating servlet class : 该描述表示无法实例化servlet类,比较可能的原因是你的web.xml 文件中的servlet-class配置错了,比如包名称没有加上去。
2)浏览器返回错误:Unsupported major.minor version 51.0: 解决方法参考自:http://blog.csdn.net/wentasy/article/details/7850212, 主要意思就是说tomcat运行时使用java6,而编译servlet-class使用了java7,导致版本不匹配。处理方法很简单就是在eclipse之中将默认的jdk修改成java6即可。(我采用的方法是:在eclipse中将jdk6设置为默认,并且在创建项目时选择jdk6,创建了项目后,可以在eclipse的项目中看到 JRE System Library[jdk 1.6.045] 其中的jdk1.6表示6,jdk1.7表示7。
三,简单剖析
1)如何不通过eclipse直接在命令行运行:实际上通过eclipse创建的tomcat项目,配置已经帮你弄好了,也就是在tomcat的主目录如(/usr/tomcat7), 添加一个文件配置:/usr/tomcat7/conf/Catalina/localhost/HelloWorld.xml ,这个文件的内容如下:
<Context path="/TomHello" reloadable="true" docBase="/home/bigfish/workspace/java/TomHello" workDir="/home/bigfish/workspace/java/TomHello/work" />
这是一种tomcat的部署方式,可参考:http://blog.csdn.net/jierui001/article/details/4168872
因此只需要运行 /usr/tomcat7/bin/startup.sh 启动,/usr/tomcat7/bin/shutdown.sh 停止。