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类和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。
就写这么多,如果还有问题,欢迎写email与我讨论。 :)