jsp是怎么生成静态页面,原理是什么,该怎么做才能生成静态页面,哪位好心人帮我讲讲,小弟一定会重谢,能附加上代码,那就更好了,谢谢了!!

解决方案 »

  1.   

    有些事你不需要知道原理,你只要知道JSP其实就是一段服务器的程序,它执行的时候会将服务器的部分程序复制到你的客户端,复制过去的语句就会形成HTML的代码,HTML代码就构成了你所看到的客户端界面!而另一部分你看不到的代码会帮你的客户端进行一系列的和服务器有关的操作
      

  2.   

    在混合有HTML和JAVA语法(含JSP标签)的jsp中,经过编译后也会变成.class文件,如果反编译.jsp文件,就明白JSP是怎么变成静态页面的.
    手头没有反编译器.举个例子吧:
    jsp中:
    <input type="textbox" name="aaa"/>
    <%=bean.getid%>class中类似为:
    output.println("<input type=/"textbox" name=/"aaa/"//>");
    output.println(bean.getid);
    语句写的不一定对,明白意思就好.
      

  3.   

    jsp是翻译成servlet执行的,在转换当中,其中<%! %>里的语句是作为在此servlet的成员变量或者成员方法,而<%= %>语句是输出页面,相当于调用out.print(""),而<% %>里的语句是放在jsp的
    service方法里的,不参与页面输出,在其中输出需要调用out.print()方法.
    而servlet的输出实际上是向客户端输出文档,调用其中的response.getWriter得到输出流从而输出静态页面(但jsp的out其实不是PrintWriter,带有缓冲功能).
    刚刚学习jsp中,希望不对的高手给予指正
      

  4.   

    服务会执行jsp页面的代码,执行的结果就是翻译成HTML代码.就像写一段程序
    int i=0;
    int j=i+1;
    System.out.println(j);最后你会在控制台下看到2,也就是说2是这段程序执行(JVM执行)的结果,到底是怎么算了,你不需要理解.
    同理在JSP中:
    <%
     int i=0;
     int j=i+1;
    %>
    <%=j%>Web服务器执行<%%>中的代码(好像叫Java代码吧)的结果就是在HTML代码中产生一个2.
      

  5.   

    是反编译.class文件.补充一下,class代码执行的时候就会生成静态的html,在返回给客户端.不同意fang830422() 的观点,学习就要铅一点,没什么坏处,不然一辈子只能跟着技术跑,不能有自己的建树。
      

  6.   

    楼主问的究竟是fso?还是jsp执行原理?
      

  7.   

    就是jsp生成静态页面的方法啊,我看了网上的代码还有什么模板?是什么意思呢!
      

  8.   

    模版是指静态网页的模版,其实就是一个静态页面,也就是你要生成的静态页面的大概样子比如页面的标题,广告,内容等等,模版中会使用一些特殊字符串如$title$代表标题的,在生成的时候用真正的标题替代$title$即可
      

  9.   

    楼主需要的是velocityhttp://www.webdn.com/web_file/program/jsp/060208025/
      

  10.   

    serverlet会把每个jsp文件生成相应的java和class文件