当前页面: 开发资料首页 → JSP 专题 → 用eclipse + wtp 开发JSP
摘要: 用eclipse + wtp 开发JSP
有很多项需要配置,罗列如下: 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。 就写这么多,如果还有问题,欢迎写email与我讨论。 :)</td></tr></table>