JSP总结(一)

来源:互联网 发布:lumia 专用软件 编辑:程序博客网 时间:2024/06/01 07:30
一、JSP运行机制:
      1、转译阶段:将JSP页面转换成Servlet类(即*.JSP文件转换成*.Java文件)   
      2、编译阶段:Servlet类编译成*.class文件,并执行,将相应结果发送至客户端。
二、脚本元素:
      1、JSP声明语句:
          格式:<%! 声明语句 %>
          示例:<body>
                             <%! int a=1; %>    
                              <% out.println("a="+a); %>  
                     </body>
      2、JSP表达式:
            示例:
             <body>
                                        <%! String str = "Hello!"; %>    
                                         <% =str; %>  
                               </body>
三、JSP指令元素
       1、page指令:
          a、import指令:<%@ page language="java" import="java.util.*" %>
          b、是否启用Session :<%@ page session="true" %>
          c、errorPage属性:当jsp文件发生错误的时候,网页重新跳转到能够处理异常的指定的jsp文件。
                                    <%@ page errorpage="error.jsp" %>
          d、isErrorPage属性:指定的jsp文件是否能够处理异常的jsp文件,默认值是false。
          e、contentType属性:指定JSP文件的MIME格式,以及网页编码格式。
                                   <%@ page contentType="text/html;charset=ISO-8859-1"  %>
          f、pageEncoding属性:用来指定网页的编码格式
                                   <%@ page pageEncoding="gb2312" %>
      2、include指令:(静态include:在转译时合在一起,会成为一个类,变量不可以重复)
           格式:<%@ include file="" %> 可以包含文本文档、HTML文档、JSP文件等。
四、JSP动作指令
       1、包含文件:<jsp:include>(动态include:在运行时调用另一个页面,变量可以重复)  
       2、页面跳转:<jsp:forward>实现页面转发,等效于
                               客户端跳转: action , a-->href , window.location.href = "www.baidu.com"
                               服务器端页面切换:response.sendRedirect(url) [跳转,重定向],
                                                               rd = request.getRequestDispatcher(url) ; 
                                                               request.setAttibute("name" , "Lisa");
                                                               rd.forward(request , response); [转发]
      3、传递参数:<jsp:param>
五、JSP内置对象:
        1、page对象:只在一个页面有效。
              应用:属性的应用:<% pageContext.setAttribute("name" , "Ancent");%>     
              在这个页面中是可以存取这个属性的,但是在其他页面中是不可以访问该变量。
        2、request对象:在一次请求的范围内有效,如果从一个页面进行跳转,那么这个属性就消失了。
             一次请求: rd = request.getRequestDispatcher(url) ; 
                                request.setAttibute("name" , "Lisa");
                                rd.forward(request , response); [转发]  
            两次请求:action , a-->href , window.location.href = "www.baidu.com"
                               服务器端页面切换:response.sendRedirect(url) [跳转,重定向],
       3、Session的范围:指浏览器与服务器的一次会话范围内
       4、application的范围:其范围是在整个服务器范围,直到服务器停止以后才会失效。