jsp是简化的servlet,不是所有的servlet都能用jsp代替的

解决方案 »

  1.   

    jsp一般只是用来显示,而servlet一般用来处理数据...
      

  2.   

    servlet能做的,jsp都能做!jsp本来就是用来取代servlet的,不过在业务逻辑层用servlet确实比较清晰。楼主也可以学学struts.
      

  3.   

    servlet能够完成jsp能做的所以事情,但是反过来,jsp就不一定具有sevlet特性。servlet的实例可以被所有的客户端共用,也就是说,在jsp容器头一次接到一个servlet请求,实例化该servlet后,该实例就一直存在。
    而jsp是每次客户端请求,都会被实例化一次的。可以用下面的简单代码验证
    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;public class ServletTest extends HttpServlet
    {
    public void init()
    {
    System.out.println( "Servlet init()" );
    }

    public void doPost( HttpServletRequest request, HttpServletResponse response )
    { }
    }
    请求该servlet,init方法只执行一次。
    而在test.jsp中加入下面代码,每次请求这个jsp,init()都会被执行。
    <%!
    public void init()
    {
    System.out.println( "init()------------------------>" );
    }
    %>上面的测试也说明了为什么我们要用servlet写控制器。