用eclipse + wtp 开发JSP

来源:百度文库 编辑:神马文学网 时间:2024/04/30 13:36:16
现在eclipse越来越好用了,随着sun jdk5.0的补丁4的推出,eclipse3.1也正式发布,二者结合,速度比以前快了很多。而wtp0.7 m5版本放出也有了一段时间,这个月月底可能wtp0.7会有release了。现在二者都基本成熟,用eclipse+wtp开发JSP是很方便的,但是关于wtp插件的配置和使用方面的文章却不多。很多人觉得wtp太麻烦,配不好不能用,本人一直用wtp开发jsp,常有朋友问相关的问题,所以写了这篇文章用来介绍WTP的配置和开发JSP的步骤。
这里介绍的主要是jdk5.0b4 + eclipse3.1 + wtp0.7m5环境下的配置和开发,其他版本有细微的差异,但是主要的过程是相同的。
1. 下载安装
这是当然的第一步啦,这里是连接:  http://www.eclipse.org/webtools/index.html
2. 配置
有很多项需要配置,罗列如下:
1) 配置java-buildpath

2) 配置JDK
TOMCAT运行的时候需要JDK,eclipse自动找到的是jre,如下图:

3) 配置xml 和 internet 缓存
在web应用中通常有很多的xml文件,默认情况下wtp会去验证这些xml文件,这就需要有这些xml文件的定义dtd或者xsd文件。
wtp默认的会自动去下载,下载下来之后可以缓存之后供以后使用。
所以首先我们要打开缓存功能。见下图,把disable cashing的勾去掉即可。

也可以把常用的xml文件的定义文件配置在xmlcatalog里边,这样进行xml验证的时候会自动使用这些文件,见下图:

实在不行,只有把xml自动验证去掉了,见Validation选项。
4) 配置tomcat服务器
现在我们来配置tomcat,其他服务器的配置大致相同,如下图所示:

输入tomcat的路径和JDK

3 开发一个JSP
首先new一个dynamic web project,在确定之后会提示是否进入j2ee perspective,选择否,进入java perspective,如下图:
(说明:如果是以前的版本,在new的时候可能找不到dynamic web project,而是有一个Flexible project,那就先建一个Flexible project,然后在这个project下建立就可以找到dynamic web project了!)
注意:第一次运行的时候,由于wtp需要验证web.xml这个文件,所以会去下载web.xml验证要用到的dtd或者xsd,所以速度比较慢,耐心等待,等所需要的文件全部下载下来之后以后就ok了。

工程建好之后,在下面创建java class和一个jsp文件,如下图,注意目录结构:

上面图中的java类和jsp都创建好了,现在我们在tomcat中测试这个jsp页面,右击 webtests这个项目,在菜单中有一项run on server,点击后出来选择服务器的对话框,选择我们建立的tomcat服务器,然后添加项目,finish。wtp会在eclipse内打开一个浏览器打开这个项目。
注意到wtp自动新建并打开的工程servers,这个工程是在tomcat下测试jsp页面所必须要有的,而且必须是打开的状态,否则无法进行jsp测试。
4. 常见问题的解决
1) no server错误
这个错误在一些版本的wtp里边,就是一个红叉叉的对话框,说no server,此时请确认打开了servers这个工程。
2) 类未定义错误
如果你在web project中使用了一些外部的jar,比如说log4j之类,你可能在工程的classpath中已经添加了这个jar,但是运行时还会找不到类,这是因为这个jar没有被copy到工程的部署目录的 WEB-INF/lib目录下,显示 Navigator视图, 如下图。".deployables" 是一个web project被部署到的地方。把用到的jar 拷贝到lib下即可。
(另一个解决办法是把jar拷贝到 /webtests/WebContent/WEB-INF/lib目录下,但是这样做有一个缺点,在你想要查看你用到的包中类的源码会比较麻烦。我的做法是把常用的包配置到user library中,设定好源码,再加入到工程的classpath中。如果把jar拷到/webtests/WebContent/WEB-INF/lib目录下,那么这个时候webtests这个工程的classpath中就有两份同样的包,在查看源码的时候都要选择,而且会以 /WEB-INF/lib下的包为优先,这可能跟classpath中的顺序有关,但是不方便。所以直接把jar拷到 .deployables目录下,可以解决这个问题。希望以后版本的wtp中能解决这样的问题,如果能够自动的把classpath中设置的所有jar都拷到 .deployables目录下就方便了。)

3) context错误
有的时候会出现context错误,大致有两种,一种是context重复错误,这种情况下,tomcat无法启动。
在servers工程里,把server.xml中重复的context条目手工删除即可。

另一种错误是" no context"错误,这个时候tomcat可以启动,但是浏览器里边会说找不到页面,这就是说server.xml中没有这个context,解决的办法是在servers explorer视图中把server 删除,然后重新添加这个web应用,有时这样还不能解决可以重新配置server。
_xyz