到底什么是serverlet啊?能不能打个形象的比方啊?谢谢!(它和JAVABEAN有什么区别啊?是不是就是JAVABEAN啊?)
我刚学jsp,想知道serverlet到底是什么啊?我也搜了百度,上面说"serverlet是扩展了基于request/response(请求/响应) 的服务器的功能。"可我真的没理解这是什么意思啊!!!我想请教大侠:1.到底什么是serverlet啊?能不能打个形象的比方啊?谢谢!2.它和JAVABEAN有什么区别啊?是不是就是JAVABEAN啊?

解决方案 »

  1.   

    Servlet是嵌入在Java Web服务器中的Java程序,用于接收请求,回复的所有Servlet要实现一个接口:javax.servlet.Servlet
      

  2.   

    1,好比CGI,也可以看作是http的扩展
    2.不是javabean
      

  3.   

    简单地说,jsp经过编译后,就成了servlet;javabean呢,可以在jsp中提供类的方法调用接口,当然也可以在jsp页面中,直接写java方法,但是常常为了突出通用性等,一般将类的方法写在单独的类中,javabean也就是其中的一种形式
      

  4.   

    servlet 是可以和html页面通信的javabean,比如可以用request,response等。
      

  5.   

    servlet是一个用于处理http通信协议的服务器端小程序(广义上说就是一个java类,继承自servlet父类)。它运行在容器(如tomcat websphere等)里。处理的过程是
    容器截获http请求,判断需要用哪个servlet处理(也就是说一个容器内可以有多个servlet),之后实例化该servlet,把请求传给该servlet,经servlet处理后的结果(往往是一个http返回流)由容器返回给客户端
      

  6.   

    其实jsp就是经过简化后的servlet
    如果你细心的观察的话,会发现
    定义JavaBean的时候
    package djf.bl;
    public class clasBL{
    .
    .
    .
    }
    而定义servlet的时候
    package djf.servlet;
    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    public class add_clas extends HttpServlet{
    public void doGet(HttpServletRequest request,HttpServletResponse response)
    throws IOException,ServletException
    {
    }
    public void doPost(HttpServletRequest request,HttpServletResponse response)
    throws IOException,ServletException
    {
    }
    }
    当然,在Java中类是组织代码的最基本单位,任何功能都是由一个类(静态成员或方法)或者一个对象(非静态成员或方法)来实现的。
    JavaBean可以说是一个普普通通的类,看我上面列出的代码,它没有继承任何类,所以,可以自由自在的使用它;Servlet则继承了HttpServlet类,同时要实现doGet()和doPost()方法,那么它就是有特殊功能的类了。doPost用于处理来在<form method=post>的信息,也就是说,如果你在某个JSP页面里面写了<form method=post action=(某个servlet的URL,在web.xml中被指定)>,那么这个servlet的doPost()方法会被触发。
    给你举一个简单的例子。
    如果我想管理我们班的所有同学信息。
    只需要建立一个student表就可以了。
    在做ASP的时候,任何东西都是放在*.asp里的,我可以建立一个add_student.asp负责采集用户的数据(也就是做<form>),另一个add_student_save.asp用来接受前面的request数据放入数据库。
    但是,在JSP+JavaBean+Servlet的开发方法中。
    建立一个add_student.jsp负责采集用户的数据(也就是做<form>)。
    将更新数据库操作的方法放入JavaBean,如public void insert(String num,String name);这样就可以得到最好的重用性,你这个函数在哪里调用都可以(如JSP和Servlet)。然后,按照ASP的思想,应该再建立一个add_student_save.jsp来更新数据库了,错,因为更新数据库的基函数已经放在JavaBean里面了,现在的add_student_save.jsp只需要调用这个函数就行了,其实这样还不行。JSP和Servlet本质上是一样的,任何JSP页面都是先被转化为Servlet(*.java)才被执行的(你可以到\tomcat\work\Standalone下看看);它们的区别在于用途,JSP更加适合显示,Servlet更加安全,快。所以我们把调用JavaBean更新放在一个Servlet里面。
    变成这样:
    add_student.jsp-->form中的action写入servlet的URL
    |
    |
    add_student_save.java-->这使个Servlet,调用JavaBean(student.java)中的基函数来更新数据库。因为这个页面没有什么要显示的,因此用Servlet
      

  7.   

    servlet是java 服务器段的程序,与javabean没什么关系,与jsp的关系密切。jsp是被编译为servlet来运行的。当然学习jsp也不必一定要懂servlet的。
      

  8.   

    ASPGuy(步惊云)讲得不错:
    JSP规范有两种模式,Model1和Model2--Model1:JSP+JavaBean
                                         Model2:JSP+JavaBean+Servlet其实Servlet就是分担了一部分JSP的功能,主要是处理请求:
        如果你在某个JSP页面里面写了<form method=post action=(某个servlet的URL,在web.xml中被指定)>,那么这个servlet的doPost()方法会被触发。(ASPGuy(步惊云))   以MVC的观点来看这个,JSP--View, Servlet--Controller(页面跳转等),JavaBean(Model,如ASPGuy(步惊云)所说的数据库应用)