1、什么是JSP

JSP全称是Java Server PagesSUN公司定义的一种用于开发动态web资源的技术

2、特点

jsp就像在写html,但它相比html而言,html只能为用户提供静态数据,而Jsp技术允许在页面中嵌套java代码,为用户提供动态数据。

 

3JSP原理

1Web服务器是如何调用并执行一个jsp页面的?

jsp页面在第一次被访问到时会被jsp翻译引擎,翻译成一个Servlet

从此对这个jsp页面的访问都是由这个Servlet执行后进行输出。

E:\Program-Files\apache-tomcat-6.0.36\work\Catalina\localhost\day05\org\apache\jsp

如果JSP文件被修改了,服务器将根据设置决定是否对该文件进行重新编译。如果需要重新编译,则将编译结果取代内存中的Servlet,并继续上述处理过程。

 

2、Web服务器在调用jsp时,会给jsp提供一些什么java对象   

   service方法定义了9个对象

 

  public void _jspService(HttpServletRequest request, HttpServletResponse response)
        throws java.io.IOException, ServletException {
 
    PageContext pageContext = null;
    HttpSession session = null;
    ServletContext application = null;   //代表当前web应用的对象
    ServletConfig config = null;    //代表当前servlet的配置信息的对象
    JspWriter out = null;
    Object page = this;        // 当前servlet对象
    JspWriter _jspx_out = null;
    PageContext _jspx_page_context = null;

 

4JSP语法

(1)JSP模版元素: jsp页面中书写的HTML内容称作JSP的模版元素,在翻译过来的Servlet中直接被out.write()输出到浏览器页面上了

            

    (2)JSP表达式: <%= java表达式 %>

在翻译过来的Servlet,计算java表达式的值后,out输出到浏览器上。和模版元素类似。

    <%=new Date().toLocaleString() %>
        翻译成 :
     out.print(new Date().toLocaleString() );

        

    (3)JSP脚本片断 <% 若干java语句 %>

在翻译过来的Servlet,直接被复制粘贴到了对应的位置执行.

    在一个JSP页面中可以有多个脚本片断,在两个或多个脚本片断之间可以嵌入文本、HTML标记和其他JSP元素


    

(4)JSP声明  <%! 若干java语句 %> 

在翻译过来的Servlet中会被放置到Service方法同级的位置,变成了类的一个成员

        注意:1、类成员,方法,都不能使用9大隐式对象,因为9大对象是在service法中定义的。

2、同一个servlet,类成员变量使用同一个,脚本片段的局部变量再重新调用service方法的时候重新定义。


    (5)JSP注释

    <%-- 注释的内容 --%> jsp注释注释掉的内容,jsp翻译引擎将jsp翻译成Servlet的过程中会被丢弃,在翻译过来的Servlet中没有这些信息

    <%//java注释%>  java注释被当作jsp脚本片段被翻译到了Servlet,.java文件被翻译成.class文件的时候注释信息被丢弃

    <!-- HTML注释 -->  html注释被当作模版元素输出到了浏览器上,浏览器认识html注释不予显示

       

  JSP指令

  JSP标签

  JSP内置对象