1.    什么是Servlet

            Servlet是一种用Java语言编写的Web应用组件

            Servlet主要用于动态网页输出,扩展了Web服务器的功能

            Servlet由Servlet容器进行管理

2.    Servlet的优点

            可移植性高:可在不同的操作系统平台和不同应用服务器平台下移植

            功能强大:Servlet可以使用JavaAPI核心的所有功能包括Web访问、图像处理、多线程、JDBC等

            模块化:每一个Servlet可以执行一个特定的任务,并且可以将它们并在一起工作,Serlvet之间是可以通信的

            高效持久:Serlvet一旦载入,就驻留在而在中,用线程的方式加快了响应的速度.

3.    Servlet的缺点

            和传统的CGI方式相同,Java Servlet也是利用输出HTML语句来实现动态网页的,如果用它来开发整个网站,动态部分和静态页面的整合过程将变得无法想象。这就是SUN还要推出JSP的原因

            实际开发上将servlet和jsp联合使用,开发效率是最高的

4.    servlet的注册和运行

            Servlet程序必须通过Servlet容器来启动运行,并且储存目录有特殊要求,通常需要存储在<WEB应用程序目录>\WEB-INF\classes\目录中。

            Servlet程序必须在WEB应用程序的web.xml文件中进行注册和映射其访问路径,才可以被Servlet引擎加载和被外界访问。

            一个<servlet>元素用于注册一个Servlet,它包含有两个主要的子元素:<servlet-name>和<servlet-class>,分别用于设置Servlet的注册名称和Servlet的完整类名。

            一个<servlet-mapping>元素用于映射一个已注册的Servlet的一个对外访问路径,它包含有两个子元素:<servlet-name>和<url-pattern>,分别用于指定Servlet的注册名称和Servlet的对外访问路径.

            下面是一个实例:               

5.    手动创建servlet

            new->web project->itcast0912Servlet01->finish

            右键点击src->new ->package->cn.itcast.web->finish

            右键点击cn.itcast.web->new->class->HelloWorldServlet->finish

            之后生成代码如下:

            可以发现代码仅仅是简单的一个类声明,下面是手动给此类实现servlet功能。由于要手动实现servlet功能,因此这个类要实现servlet接口,如下图所示:

            根据myeclipse的特点,可以自动对新类中实现的接口方法进行补全,如下:

            方法都已实现,其中填充的内容先不用管,到此手动创建servlet完毕,剩下的是进行配置。

            打开web.xml对servlet进行注册,内容如下:

            关于相关内容的意义,在第4步已经说明,下面在做一次详细说明:

            下面就可以进行发布,并启动tomcat了,之后在地址栏中输入http://localhost:8080/itcast0912Servlet01/,就可以在myeclipse控制台看到有信息输出了

6.    myeclipse使用断点调试

            现在想要设置断点的地方的左边栏双击,出现一个断点调试符。然后点击

            windows->show view->server

            或者windows->show view->other->输入server,点击之后下面会出现:           

            当右键点击tomcat 6.x时,会有可选项,有run mode,还有一个是debug mode,如果使用调试模式的话,就点击debug mode就可以开启了。

           重新对项目进行发布,并启动调试模式,在地址栏中进行访问,发现myeclipse图标闪烁,点击后发现出现如下界面:       

            可以看到程序停留在了有颜色的那一行,说明调试成功了,之后可以观察某个变量的情况,方法如下,如:

            右键点击其中的一个变量arg0->watch,之后会在第一个窗口的右侧显示另一个窗口,里面就是arg0变量的信息,如下:

            发现arg0是standardWrapperFacade类型,在tomcat源码中查找发现如下代码

                public final class StandardWrapperFacade

                    implements ServletConfig {

                   ....

            说明是Servletconfig 参数,并且是tomcat自己已经实现了调用时的初始化。

            之后如果想要看另一个断点,可以点击这个按钮:

             就可以进行下一步的调试了。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐