2.6 第一个Web程序

环境搭建完成,下面使用这一套开发平台写下第一个Web程序。MyEclipse会自动填写配置文件,并自动部署到服务器上工作。

在书写第一个Web程序时,首先要新建一个Web工程。具体的建立方法如下:

①启动MyEclipse,并选择工作文件夹。选择File|New|Other命令,在弹出的对话框中选择Web Project选项,然后单击Next按钮,在随后弹出的对话框中将工程名命为web,并选择Java EE 6.0单选按钮后,单击Finish按钮。

②在新建Web项目之后,MyEclipse左侧的导航视图栏会出现一个文件结构视图,其中src文件夹是Java程序源文件夹;WebRoot是Web应用程序的根目录;web.xml为MyEclipse自动生成的程序描述文件。

③新建一个Servlet。选择File|New|Other命令,在弹出的对话框中选择Servlet选项。单击Next按钮,在弹出的对话框中输入package名称以及Servlet名称后单击Finish按钮。这时,MyEclipse生成了一个固定格式的Servlet,并将Servlet相关的配置文件添加到web.xml中。这里简单介绍web.xml文件的组成:

a.<servlet>…</servlet>指明了Servlet类路径以及名称。

b.<Servlet-mapping>...</servlet-mapping>指明了访问指定名称的Servlet的URL路径。

例如,代码行<url-pattern>/servlet/FirstServlet</url-pattern>指明了访问该Servlet的路径为http://localhost:8080/web/servlet/FirstServlet(路径中/web为该web应用程序的名称)。

④MyEclipse自动生成的FirstServlet只是完成了一句简单的话的输出(见图2.5)。这里可以简单修改一下FirstServlet的源代码。

当然,也可以不用向导而是手工添加一个Servlet,方法是添加一个继承自HttpServlet的类,然后把Servlet配置到web.xml中。

图2.5 第一个Web程序运行的效果

⑤部署到Tomcat。部署(Deploy)是指将程序部署到Tomcat下,也就是Web程序的发布。部署时需要部署所有的class文件、web.xml、jar文件、JSP文件等。部署分为两种,一种是手工部署,一种是自动部署。

a.手工部署。在Tomcat目录(如C:\tomcat)的webapps下新建文件夹,取名为web,然后找到项目工作目录,将该目录web\WebRoot下的所有内容复制到Tomcat目录下刚刚建好的webapps\web下,这样就手工完成了Web的部署。然后启动Tomcat即可使用http://localhost:8080/web/servlet/FirstServlet访问上面新建的Servlet。

b.自动部署。还有一种更方便的部署方式,就是使用MyEclipse的自动部署功能。MyEclipse集成了市面上大多数的Web Server。选择Window丨Preferences命令,在弹出的对话框中找到Tomcat 6.x,在MyEclipse中配置Tomcat,配置完毕后单击OK按钮,配置即刻生效。接下来部署Web。单击工具栏图标中的服务器部署图标,在弹出的对话框中选择Web,然后单击Add按钮。在新的对话框中选择Tomcat后单击Finish按钮。

自动部署的好处是,每当对源文件做一次修改,该文件都会被自动部署到Tomcat下。也就是说,修改源文件后,Tomcat下立即生效,而不需要做重新部署的操作。推荐使用自动部署功能。其中,源码如下:

⑥在Tomcat下,有一个非常有用的功能,即导出为WAR包。WAR文件就是普通的Zip文件,只是里面包含一个Web应用程序。WAR的全称为Web Archive。类似的还有EAR包,全称为EJB Archive,是将EJB组件打包的格式。WAR包的导出方式为:选择File|Export命令,在弹出的对话框中选择WAR file,然后选择项目名称。将导出的WAR文件直接放到指定目录,启动Tomcat,Tomcat默认会自动完成解包、部署等工作。WAR就是一种为了方便部署而定义的文件。

⑦在MyEclipse中启动Tomcat。在MyEclipse中,可以直接启动Tomcat,具体方法为:单击工具栏服务器的下拉按钮,单击Tomcat 6.x|Start命令启动Tomcat;同时,选择Tomcat 6.x|Stop命令可停止Tomcat。

在浏览器中输入http://127.0.0.1:8080/web/servlet/FirstServlet,即可访问上述代码。