javaweb学习之servlet

来源:互联网 发布:网络性能长期测试 编辑:程序博客网 时间:2024/04/25 21:51

主要内容:

    1.  servlet

    2.   jsp与servlet关系

    3.   MVC

一.servlet

   1.什么是servlet

     所谓的servlet本质上也是一个Java类,主要运行在服务器上,用以处理客户端发来的请求,并作出响应。所以编写基于servlet的web程序一般遵循“请求—响应”模型。servlet也是一种抽象。

   servlet的继承关系图:

                      

   2.servlet生命周期

     servlet生命周期主要有:加载并实例化,初始化(init方法),服务(service方法,对应httpServlet中就是doGet()

和doPost()方法),销毁(服务器停止时,调用destroy()方法)。

     servlet的加载时机:

(1)客户端有请求时自动加载

(2)设置加载优先级,在web.中添加<load-on-startup>1<load-on-up>,数字越大,优先级越小。

   3.利用myEclipse或Eclipse创建自己的servlet类

     3.1 手动创建

        (1)新建一个java web工程;

        (2)然后在src文件夹下新建一个包,可以命名为servlet;

        (3)然后在sevlet下新建一个类,不妨将其命名为myServlet,并让其继承HttpServlet;

        (4)重写(@overrider) doGet()方法和doPost方法)。

        (5)在web.xml中添加两个节点

             <servlet>

           <servlet-name>myServlet </servlet-name>

           <servlet-class>serverlet.myServlet<servlet-class>   注意:包名.类名

          </servlet>

         <servlet-mapping>

          <servlet-name>myServlet</servlet>

         <url-pattrern>/servlet/myServlet<url-pattern>

         </servlet-mapping>

     3.2 自动创建     

        (1)新建一个java web工程;

        (2)然后在src文件夹下新建一个包,可以命名为servlet;

          (3)右击src文件夹,可以看到myEclipse自动提供了Servlet,故我们选择servlet,分别填上名字(myServlet),然后选择默认就好了。

   注意:在jsp文件中引用servlet时,其格式如下:

            <a href="servlet/myServlet">doGet()方式</a>

,及路径为servlet/myServlet,不是/servlet/myServlet,否则会出现空白页,但不会提示任何错误,这个很郁闷!!!

二.JSP与Servlet的关系

       JSP,全称 Java Server Page,不过我觉得可以将其理解为 Java Servlet Page。这样顾名思义,可以认为JSP就是Servlet的“页面”实现,当然这不严肃。但是,JSP就是Servlet的扩展,当然比Servlet功能强大。对于Servlet,需要利用输出流对象(Request.getWriter())输出html格式(Request.setContentType("text/html")的内容.这样对于后台程序员和前端工程师来说就很不方便,为了解决这个问题,JSP就应运而生了。并且,JSP页面最终还是要编译为Servlet程序.

                                               

                                                                    JSP与servlet

三.MVC

  传统的MVC模型指的是:M:JavaBean, V:JSP, C:Servlet

    延伸阅读:1.https://en.wikipedia.org/wiki/Java_servlet;

                       2.http://blog.csdn.net/kaixinbingju/article/details/9409927

1 0
原创粉丝点击