一、Servlet简介
  Servlet是一门用于开发动态web资源的技术。开发动态网页中得到广泛的应用,直到现在的java ee项目中也是非常重要的,同时jsp也是在servlet的基础上发展起来的。
servlet(java服务器小程序)是用java编写的服务器程序,它的特点: 
1、由服务器调用和执行 
  2、用java语言编写的 
  3、按照servlet规范开发 
        4、功能强大,可以完成几乎所有的网站功能 
二、开发步骤
    servlet的开发需要完成以下2个步骤:
  1、编写一个Java类,实现servlet接口。
  2、把开发好的Java类部署到web服务器中。
  按照一种约定俗成的称呼习惯,通常我们也把实现了servlet接口的java程序,称之为Servlet

三、Servlet的运行过程

使用java自己写一个readline java写一个servlet_java

Servlet程序是由WEB服务器调用,web服务器收到客户端的Servlet访问请求后:

  1、Web服务器首先检查是否已经装载并创建了该Servlet的实例对象。如果是,则直接执行第④步,否则,执行第②步。


  2、装载并创建该Servlet的一个实例对象。 


  3、调用Servlet实例对象的init()方法。


  4、创建一个用于封装HTTP请求消息的HttpServletRequest对象和一个代表HTTP响应消息的HttpServletResponse对象,然后调用Servlet的service()方法并将请求和响应对象作为参数传递进去。


  5、WEB应用程序被停止或重新启动之前,Servlet引擎将卸载Servlet,并在卸载之前调用Servlet的destroy()方法。 



四、Demo开发

1、环境准备

需要准备Myeclipse,本次使用的 Myeclipse2014

        2、创建一个web project

打开Myeclipse,新建一个StudyServlet 工程

使用java自己写一个readline java写一个servlet_服务器_02

在创建工程的界面,输入要创建的工程后,不要马上点finish,注意一下创建时的选项,如果直接点finish,则最后不会创建web.xml,只能自己拷贝创建

使用java自己写一个readline java写一个servlet_apache_03

注意一下,图中标红框的内容,不用选或者设置为none,然后点next 一直到最后一页,记得把第二项原本没有勾选的内容“创建web.xml” 勾选上。然后点finish就可以创建新工程了。

使用java自己写一个readline java写一个servlet_xml_04

3、Demo开发和测试

工程创建后,在工程栏目,会出现刚才创建的工程,一开始里面的内容如下图所示,然后我们可以看下web.xml的内容,记得用text editor打开,否则很慢

使用java自己写一个readline java写一个servlet_java_05

现在开始,我们可以建立一个 servlet类,File-》New-》Servlet

使用java自己写一个readline java写一个servlet_服务器_06

填好要创建的对象名称,所属的包名后,IDE就创了我们需要的servlet对象类,创建时如下面图所示的,需要关注一下 Name, Mapping URL

使用java自己写一个readline java写一个servlet_apache_07

创建对象后,发现工程有个错误提示,检查发现是web.xml 有错误,推测是因为web版本问题

使用java自己写一个readline java写一个servlet_apache_08

修改一下顺序,就可以解决这个问题

使用java自己写一个readline java写一个servlet_使用java自己写一个readline_09

现在无须做其他编码开发,就可以进行发布和测试,发布过程:  点击界面上发布按钮,增加一个发布的容器,本例选择发布在tomcat 7,见下图

使用java自己写一个readline java写一个servlet_使用java自己写一个readline_10

注意:如果后面有对类和web.xml进行编码开发,需要点这个界面上的 redeploy,重新发布才能调测。

发布后,在界面上选择server tab,右键运行起来

使用java自己写一个readline java写一个servlet_apache_11

运行起来后,可以看到tomcat打印的日志

十二月 09, 2016 11:43:23 上午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory E:\cwqwork\MyEclipse_Workspace\.metadata\.me_tcat7\webapps\StudyJsonrpc4j
十二月 09, 2016 11:43:24 上午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory E:\cwqwork\MyEclipse_Workspace\.metadata\.me_tcat7\webapps\StudyServlet
十二月 09, 2016 11:43:24 上午 org.apache.coyote.AbstractProtocol start
信息: Starting ProtocolHandler ["http-bio-8080"]
十二月 09, 2016 11:43:24 上午 org.apache.coyote.AbstractProtocol start
信息: Starting ProtocolHandler ["ajp-bio-8009"]
十二月 09, 2016 11:43:24 上午 org.apache.catalina.startup.Catalina start
信息: Server startup in 1604 ms

这里可以看到,部署 StudyServlet已经成功了。

下面可以通过浏览器来打开这个应用界面,url为:  注意:8080 后面跟的是工程的名称,然后是web.xml中的<url-pattern>/servlet/ServletDemo</url-pattern>

中的内容。

使用java自己写一个readline java写一个servlet_服务器_12

通过重写servlet中的对象,实现doget,dopost方法实现业务逻辑。