一:  当客户机发送请求后,服务器就把页面的静态部分发送回来交给浏览器显示。但是对于动态部分(比如说javabean部分)是由服务器执行以动态文档的形式发送给浏览器?还是采用活动文档技术,由服务器把javabean部分发送给浏览器,让浏览器去执行呢?到底是采用的哪种方式呢?各位高手帮忙解决哈这个疑惑!!先谢谢了。二:对于页面的交互部分(要javabean执行的部分),是页面没更新一次就传回服务器更新,还是最后离开这个页面的时候一起提交给服务器呢?

解决方案 »

  1.   

    好多不懂的名词。动态文档是什么呀?活动文档技术是什么呀?javabean如何在浏览器执行呢?lz能给我解释下么?
      

  2.   

    123.jsp<%@ page language="java" pageEncoding="GBK"%>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=GBK">
    <title>测试用首页</title>
    </head><body><%
    String a = "123";out.println(a + "<br>");
    System.out.println(a);
    %>页面输出:<%=a %></body>
    </html>编译后的_123_jsp.javapackage org.apache.jsp;import javax.servlet.*;
    import javax.servlet.http.*;
    import javax.servlet.jsp.*;public final class _123_jsp extends org.apache.jasper.runtime.HttpJspBase
        implements org.apache.jasper.runtime.JspSourceDependent {  private static java.util.List _jspx_dependants;  public Object getDependants() {
        return _jspx_dependants;
      }  public void _jspService(HttpServletRequest request, HttpServletResponse response)
            throws java.io.IOException, ServletException {    JspFactory _jspxFactory = null;
        PageContext pageContext = null;
        HttpSession session = null;
        ServletContext application = null;
        ServletConfig config = null;
        JspWriter out = null;
        Object page = this;
        JspWriter _jspx_out = null;
        PageContext _jspx_page_context = null;
        try {
          _jspxFactory = JspFactory.getDefaultFactory();
          response.setContentType("text/html;charset=GBK");
          pageContext = _jspxFactory.getPageContext(this, request, response,
           null, true, 8192, true);
          _jspx_page_context = pageContext;
          application = pageContext.getServletContext();
          config = pageContext.getServletConfig();
          session = pageContext.getSession();
          out = pageContext.getOut();
          _jspx_out = out;      out.write("\r\n");
          out.write("<html>\r\n");
          out.write("<head>\r\n");
          out.write("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=GBK\">\r\n");
          out.write("<title>测试用首页</title>\r\n");
          out.write("</head>\r\n");
          out.write("\r\n");
          out.write("<body>\r\n");
          out.write("\r\n");String a = "123";out.println(a + "<br>");
    System.out.println(a);      out.write("\r\n");
          out.write("\r\n");
          out.write("页面输出:");
          out.print(a );
          out.write("\r\n");
          out.write("\r\n");
          out.write("</body>\r\n");
          out.write("</html>");
        } catch (Throwable t) {
          if (!(t instanceof SkipPageException)){
            out = _jspx_out;
            if (out != null && out.getBufferSize() != 0)
              out.clearBuffer();
            if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
          }
        } finally {
          if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
        }
      }
    }
    所有的jsp最后就是一个servlet
    其他我就不详细讲解了
      

  3.   

    三楼的大哥:  
                  你的意思是说,jsp编译成severlet后。每一个浏览器提出请求,服务器都启动一个线程为浏 览器服务,执行过程还是服务器负责的?  是这样吗?如果是这样,那服务器的负载不就重了吗?为什么采取一种可以减少服务器负载的活动文档技术呢??还望三楼高手给以解答!!
      

  4.   

    jsp运行原理:
           jsp就是一个特殊的servlet servlet是jsp的基础
    也许你还要问什么是servlet
         好吧 我来给你说 servlet是运行在服务器端的一个javabean类 用来处理客户端的请求,
    也许你还要接着问 那么为什么为什么要学习jsp呢
          好吧 我还是告诉你 jsp是补充servlet画页面的不足,扩展jsp 通常jsp画页面,servlet接受参数 调用后台bean类 jsp+servlet从某种意义来讲,就是一种MVC的设计模式,
    下面才是你想知道的
      jsp执行原理:翻译 编译 执行 三个过程 第一个过程 产生一个页面的.java文件 第二步过程 .class文件
      

  5.   

    对于页面的交互部分,对于JSP页面就是离开旧页面进入新页面,如果用JavaScript写Ajax就可以不离开旧的页面得到新的刷新结果
      

  6.   

    JSP是在服务器里会被编译成Servlet(Java类),在Servlet类中通过response对象将HTML数据发送到客户(浏览器),浏览器解析显示。
      

  7.   

    当 Servlet 容器监测到 URL 路径后缀为 .jsp 时,会将其交给一个专门处理 JSP 的 Servlet 去处理,是编译、是运行就具体的看了。
      

  8.   

    对于jsp的运行原来,根据各位的解释加上我翻了哈书已经差不多明白了。但是还有疑问的是:执行过程还是服务器负责的,那服务器的负载不就重了吗?为什么采取一种可以减少服务器负载的活动文档技术呢??
      

  9.   

    如果你自己写servlet 那就会执行你自己写的代码如果访问不是servlet,比如jsp,css,js,还有图片 都是有一个默认的servlet,好像叫defualt servlet吧 来进行处理的
    比如你在访问你个不存在的页面会出现404这样的页面,这个页面就是defualt servlet给你做处理的。是我个人的理解哦。
      

  10.   

    那么大家的意思都是说一切都是severlet在背后操纵?  那jsp+javaBean的模式也是。
    最关键的是:一切都是服务器执行的???