使用MyEclipse开发Web项目并进行发布,运行,测试和调试
本文将介绍如何使用 MyEclipse 来开发Web 项目(包括HTML,JSP,Servlet,Filter和后台Java 类),并进行发布,运行,测试和调试。本章将通过开发一个使用JDBC 进行登录验证的简单例子来给大家展示相关的操作过程。
那么哪些应用算是 Web 应用呢?简单说通过网络浏览器,例如IE,Firefox 等等上网看到的绝大多数网页,都属于Web 应用的范围,所以它的应用是非常的广的。要想做好一个Web 应用,只掌握Java 是远远不够的,您还得深入了解HTML,CSS,JavaScript 甚至AJAX,Flash,ActiveX 等技术。俗话说的好:三分相貌七分妆。用户第一印象看到的只能是看到的网页的样子和友好度,他是完全不懂所谓的.NET,PHP,JSP,ASP 还有什么ROR的,所以提示初学者多花些时间在Web 层的技术上。
创建Web 项目
本节内容将介绍如何创建一个 JSPHelloWorld 的Web 项目。选择菜单File > New >Web Project,可以启动创建Web 项目的向导,如图8.3 所示。
在这个图的 Project Name 中输入JSPHelloWorld,然后选中J2EE Specification Level 下面的Java EE 5.0 单选钮,最后点击Finish 按钮就可以创建Web 项目了。
注意:选择哪个版本的J2EE Specification Level 取决于你使用的服务器,例Tomcat4,Weblogic 9 以下版本请选择J2EE 1.4,而Tomcat 5,JBoss 4,或者GlassFish 这样
的服务器可以选择 Java EE 5.0。Java EE 5.0 可以直接使用 EL 表达式和JSTL。
清单 8.2 登录页面
至此,创建静态页面的过程就简要介绍完毕了。在此先虚晃一枪,为什么表单的提交页面是login.aspx 呢?难道Java 也支持ASP.NET 嘛?答案请在创建Servlet中找。
创建JSP 页面
本节内容将会讲解创建JSP页面。实际上JSP编辑器许多地方都是和上文介绍的HTML编辑器非常相似的。因此本节内容将会简要介绍其过程。启动创建 HTML 页面的对话框有多种方式,这里只介绍两种:1. 选择菜单 File > New> JSP(Advanced Template);2. 选中Package Explorer 视图的WebRoot 目录,点击右键选择上下文菜单中的New > JSP(Advanced Template)。这时候将会弹出创建JSP 页面的对话框,和图8.4 非常相似。只需要在这个对话框中的File Name(文件名)框中输入result.jsp,然后点击Finish 按钮即可创建这个JSP 页面。
注意:Template to use 右侧的模版下拉框中有很多JSP 模版可以使用,例如支持JSF,Struts 等等的模版,这样可以加快开发的速度。
稍后 MyEclipse 会用HTML 编辑器来打开刚创建的文件,界面已经操作方法和图8.5非常类似,不同的是Palette 里面多了很多JSP 特有的内容,而编辑器的代码视图呢,也支持自动查错(但是不支持自动修正错误)和代码编写提示功能,如下图所示:
图 8.6 JSP 编辑器的查错和编码提示
当你在变量后按下.之后,会弹出代码完成提示,另外还支持断点的设置等等。因此使用MyEclipse 的JSP 编辑器可以大大减少开发人员出错的机会(在出现能查错的JSP 编辑器之前这是个大问题)。
现在我们将把这个页面的代码改写成如下清单所示内容:
清单 8.4 加入了Servlet 定义的web.xml
至此Servlet就创建出来了,你可以接着修改Servlet的源码来加入更多功能。这个Servlet的最终访问路径是:http://localhost:8080/JSPHelloWorld/login.aspx,是不是看起来非常像.NET应用呢?不过这是个假的而已。
创建Filter(过滤器)
实际开发中都需要开发一些很有用的过滤器,来解决中文表单提交问题啊,给请求和响应加入GZIP 压缩功能啊,用户权限控制啊,等等,然而遗憾的MyEclipse 不支持直接创建过滤器。在这里只好手工创建一个解决Tomcat 表单提交中文问题的过滤器。选择菜单 File > New > Class,来创建一个名为TomcatFormFilter 的类,包名为filters。然后把类的代码修改为如下所示:
清单 8.6 加入了过滤器的web.xml 内容
创建数据库访问层(DAO)
做 Web 应用一般来说不访问数据库是不太可能的,因此本节就介绍给应用加入数据库访问功能。
首先第一步是创建数据库表
第二步是要加入JDBC驱动类库
这里打算使用MySQL数据库,对于Web项目来说加入类库文件非常容易,只要把mysql-connector-java-3.1.11-bin.jar这个文件复制到WebRoot/WEB-INF/lib下,MyEclipse会自动把文件加入到项目的类路径中。
第三步需要创建一个实体类,来代表数据库中的Student 对象,这个类用来保存和传递来自数据库库的数据信息。代码清单如下:
?图 8.9 在MyEclipse 中打开浏览器测试应用
在表单的用户名处输入数据库里存在的学生的名字,例如张三,再输入密码,然后点击提交,就可以显示登录的结果了。
如果只是修改了 JSP 页面,那么MyEclipse 会自动把JSP 更新到服务器上,但是如果是改了类文件或者一些配置文件,那么需要手工重新发布这个项目。如何重新发布这个项目呢?我们可以在Servers 视图上选中所发布的项目,然后点击视图工具栏上的
?
高级设置
本节内容仅供了解,大部分情况下都不需要对这些内容进行修改。
修改Web 项目的默认设置
选择菜单 Window > Preferences,打开Preferences 对话框,在选项树上选择MyEclipse > Java Enterprise Project > Web Project,来进一步设置Web 项目的默认设置,如下图所示:
?图 8.13 修改Web 项目的默认设置
在 Template 标签页可以设置Web 项目的模版,包括默认的源代码目录名以及Web 应用根目录的名称。而在Build Path 标签页,则可以设置是否自动将WEB-INF/lib 下面的jar 或者zip 文件发布到服务器上。Deployment 标签则设置了当项目存在依赖的时候如何进行发布。Tag Libraries 标签则可以修改一些自定义的标签库的快速代码段。
除此之外,还可以对单个项目的Web功能进行设置。点击菜单Project > Properties可以打开项目的属性对话框,这时候可以点击MyEclipse > Web节点进行一些必要的设置,如图8.14 所示。如果修改了值Web Context-root,例如它的值修改为ABC,那么这个项目再次发布时,将会发布到Tomcat安装目录/webapps/ABC下面,对应应用的访问地址也会改为http://localhost:8080/ABC/。如果复制Web Project来进行开发,往往会出现多个项目发布到Tomcat的webapps下面同一个目录下的问题,这时就可以修改这个属性的值来解决问题。
?给Web 项目加入高级功能
在实际开发中不可避免的要在 Web 项目中使用Hibernate,Struts,Spring 等技术,那么这些都可以通过点击菜单MyEclipse > Project Capabilities 然后选择需要使用的技术,就可以将对应的类库和配置文件加入到当前项目中。例如要开发Struts 和Hibernate 应用,分别点击两次子菜单Add Struts Capabilities 和Add Hibernate Capabilities 就可以了。如下图所示:
?小结
在本文我们介绍了如何开发,发布,运行,测试,调试 Web 应用,这些概念适用于以后所介绍的其它基于Web 的项目例如Struts,JSF 等等。通过本章,你将对如何使用MyEclipse 如何开发Web 项目有一个大致的了解,并为使用后续复杂的Web 框架进行开发打好基础。