才学jsp不久,看了两本书,始终不太明白servlet是怎么回事,书上的介绍始终很理论,很抽象,哪位大哥能不能给我举个具体的例子帮忙理解一下?
还有个问题,如果是jsp+javabean+servlet开发的系统,我想请问从浏览器请求一个jsp页面到正常显示出页面内容servlet究竟做了哪些工作?tomcat又做了哪些工作?或者我这样提问本来就是不明确的,没办法,还在概念模糊阶段。急求!

解决方案 »

  1.   

    Servlet是用Java编写的运行在服务器端中的程序,因此它可以调用服务器端的类,也可以被调用,它本身也是一个类。
      

  2.   

    一般说来,对于一个好的项目,servlet的作用就是个控制器,接受客户端发来的请求,可以调用另外的servlet来处理,也可以在自身的doGet()或doPost()函数中处理后,也可以调用javabean或是ejb等,然后forward到相应的jsp,返回给客户端
      

  3.   

    就这么给你说吧,你的程序是运行在服务器上的。也就是说你类似于你自己写一个main函数,然后在里面调用某个你的接口执行某个方法。
    如果把服务器看成这个main方法,那么你的程序就是这个接口的实现。
    现在web程序就只给你留了servlet这个接口,你的程序就只能从这个接口继承工作。
    具体和通信相关的服务操作服务器都帮你做好了。
      

  4.   

    采用jsp+javabean+servlet开发的系统,是符合MVC(即模型-视图-控制器)模式的系统,servlet是运行于服务端的程序,在系统中扮演着控制器的角色,当用户在客户端通过jsp发出请求,服务端接收到请求后,由servlet(控制器)调度适当的javaBean(模型)完成系统的功能,再将请求的结果返回给对应的jsp(视图)提供给用户观看,在整个流程中,jsp+javabean+servlet分别起到了各自的作用,使得系统更利于扩展和维护。tomcat是一个服务器,也是一个jsp容器,给上述的过程提供必要的环境。
      

  5.   

    以一个显示最终文章的页面为例,如果只用 JSP,那么请求是这样子的:http://hostname:port/webapp/article.jsp?id=123这样在 JSP 文件中就要先根据 id 参数查询数据库,然后再显示查询到的文章内容。使用 Servlet 时是这样请求的:http://hostname:port/webapp/article.xxxx?id=123请求首先到达一个 servlet,在该 servlet 中,先读取 id 参数,根据 id 查询数据库,将查询结构放入 request 当中,然后再转发给 .jsp 文件。关键代码如下:request.setAttribute("art", article);    // article 是文章对象
    request.getRequestedDispatcher("/xxx.jsp").forward(request, response);在 .jsp 中,JAVA 代码就变得非常简单了,主要是:<jsp:useBean id="art" ...<%= art.getXxxx(...) %>这些东西了。
      

  6.   

    说得简单点
    模式一、JSP+JAVABEAN  其中javabean说白了是数据库与客户端请求的一个交换信息的载体模式二、JSP+JAVABEAN+SERVLET 把JSP的任务更加的明确,其中SERVLET 用来创建视图之后发送给用来显示的JSP 而BEAN 则是用来保存信息(不知道用什么词,模型?)不能画图`~~~献丑了MODEL1
    [客户请求 JSP]<-->[JAVABEAN]<--->[数据库]
    MODEL2                 数据库
                      |
    [客户请求]<--->[servlet]<-->[jsp]
                       |         |
                    [BEAN]<------读取