用eclipse如何做第一个最简单的html和Servlet HelloWorld例子web应用
1) file/new/project/web/Dynamic(动态) Web Project:
按照上面的截图,当我们点击finish按钮以后,eclipse按照我们的指示,生成了以下的空项目架子,准备了所有的jar包和配置文件。我们先看一下下图的画红圈的地方。里面有代表Tomcat的一堆Jar包。还有代表Servlet的一堆类的servlet-api.jar。当然jre的jar包也包括进来了,而且版本是1.6。
1.5)上面带有所有需要的jar包的项目的空架子有了以后。就可以放手去做一个html了。右击WebContent:New/Other/Web/Html File,之后点击Next,输入文件名:a.html,之后点击Next,之后点击Finish。
马克- to-win:马克 java社区:防盗版实名手机尾号: 73203。
编辑产生的新a.html:
<html>
hello
</html>
好,现在我们就像后面第3步run servlet一样,右键点击a.html。run as/run on server 来运行a.html。具体指导图见第3步。
这一步成功以后,可以回头反思一下,前面的理论了。
2)上面带有所有需要的jar包的项目的空架子有了以后。就可以放手去做一个Servlet了。右击我们的项目名ServletHello:New/Servlet
马克-to-win:注意这张图中的URL mappings:是/MarkToWinServletHello1,是我们右击右边的edit按钮专门改的。这是将来浏览器访问这个Servlet的 url的地址。这里设置完,会被Eclipse记录在Web.xml这个配置文件当中。当然将来我们也可以手动更改Web.xml文件。不像前一段我们学的java基础部分的知识,这里的情况更加复杂。所以很多有关你项目的信息都记录在web.xml文件当中,用户可以在这里设置信息,从而tomcat可以从这里获取信息,达到用户不重新编译java文件,就可以重新设置项目参数的目的。比如我这次访问的数据库是oracle,下次我可以在Web.xml 当中设置访问的数据库是mysql,而且项目不用重新编译。因为Web.xml文件是纯文本文件。
这里我们只勾选了doGet方法。当你在浏览器地址栏敲入某个servlet地址后,按回车纽后,通过网络,就激活了地球另一端一台机器里的Tomcat中的servlet的doGet方法。这就是sun公司设计的整个J2ee规范中的servlet语法。
当我们点击Finish按钮以后,Eclipse为我们生成了很多文件。其中和我们最相关的有两个架子文件。一个是 ServletHello1.java,另外一个就是Web.xml文件。让我们列出这两个架子文件之中和我们相关的部分。Eclipse可真好,能做的都替我们做了。架子文件写得非常完美。我们只需要加入少量的语句,项目就可以运行了。Eclipse可真是一个完美的商业工具软件呀!反正现在国内软件公司到处都在用Eclipse。没有Eclipse,直接手动编译Servlet,然后部署到Tomcat当中也可以做,但是那个工作量可想而知。方法网上有,有兴趣的同学可以自己查。
Web.xml
根据上图:<servlet>这一块和<servlet-mapping>这一块,都共同有一项叫做<servlet- name>。这一项的值相同,说明这俩是一对儿。(当有很多servlet时,谁和谁一对儿就很重要)既然是一对儿,就说明当我们在浏览器的地址栏里输入MarkToWinServletHello1时。com.ServletHello1的doGet方法就会被执行。
ServletHello1.java:
package com;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ServletHello1 extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) {
}
}
以上就是Eclipse根据我们的指令生成的Servlet的架子程序。既然我现在讲最简单的Servlet helloworld程序。我就只加一句话。System.out.println("hello");不出意外,这句话应该打印在,服务器端的 Tomcat的输出屏幕上。
例:2.2.1
ServletHello1.java:
package com;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ServletHello1 extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) {
System.out.println("hello");
}
}
3)好,我们现在就运行我们的Servlet。右键点击我们的Servlet,Run As/Run on server:
运行的结果如上图。首先图中下面的部分说明Tomcat已经起来了。上面还有个红钮,点红钮就可以停止Tomcat运行。图中上面的部分,说明 Eclipse为我们激活了一个小型测试浏览器。
终于如愿以偿,结果出来了。
马克-to-win:对于学有余力的同学,我最后再延伸讲一点。Eclipse运行Servlet的时候,并不是把整个项目都拷贝到Tomcat里面。而是按照J2EE规范,把相关运行的代码拷贝到某一个目录下。到底是哪个目录呢?我们可以按照下面的步骤找到它:右击项目/Run as/Run Configuration找到你的Tomcat Server/Argument其中找到deploy这个参数,它清清楚楚的标明,你的Servlet项目被部署到哪个目录下了!仔细一看,原来被部署过来的项目只有class文件和Web.xml。像java源代码什么的,都没有被部署过来。servlet-api.jar用的是tomcat的lib目录下的,是所有项目公共的,谁都可以用。注意当我把我的硬盘上的jre指向的java目录故意改成其他值,则tomcat起不来了,说明tomcat的jre是用的sun公司的,不重复发明轮子。包括那些io包,sql包都是tomcat中设置的classpath。