Servlet第四天

jsp (java server page)

(1)jsp是什么?

sun公司制订的一种服务器端动态页面技术规范。
注:
  a.虽然使用servlet也可以生成动态页面,但是过于繁琐(需要使用out.println语句输出),并且维护麻烦(要修改页面,就必须修改java代码)。所以sun才制订了jsp规范。
  b. jsp是一个以.jsp为后缀的文件,主要内容是html和少量的java代码。容器(比如tomcat)会将该文件转换成一个对应的servlet然后执行。
  c. jsp本质就是一个servlet!

(2)如何写一个jsp文件?

1)step1.添加一个以.jsp为后缀的文件。

2)step2.在该文件里面,可以添加如下内容:

a. html(css,javascript):
    直接写即可。

b. java代码:
  第一种形式 java代码片断
    <%  java代码   %>
  第二种形式 jsp表达式
    <%= java表达式 %>

c. 隐含对象
   c1.什么是隐含对象?
     在jsp文件里面,直接可以使用的对象,比如
    out,request,response。
   c2.为什么可以直接使用这些隐含对象?
      jsp会被容器转换成一个对应的servlet,
    在转换过程中,容器会自动添加获得这些对象的代码。
d.指令
    d1.什么是指令?
    通知容器,在将jsp转换成servlet时,做一些额外的处理,比如导包。
    d2.语法
    <%@ 指令名 属性=值 %>
    d3.page指令
        import属性:指定要导的包名,比如
            <%@ page import="java.util.*"%>
            注:
                如果要导多个包,包与包之间用","隔开。
        contentType属性:
                设置response.setContentType方法的参数值。
        pageEncoding属性:告诉容器,在读取jsp文件的内容时,使用指定的字符集去解码。
   d4.include指令
       file属性:指定要包含的文件名。比如
        <%@ include file="header.jsp" %>
       注:
            容器在将jsp转换成servlet时,会将file属性指定的文件的内容插入到该指令所在的位置。

(3)jsp是如何运行的?

1)阶段一 容器将.jsp文件转换成一个.java文件

    a. html ----> 在service方法里面,使用
                out.write输出。
    b. <%   %> ---> 在service方法里面,照搬。
    c. <%=  %> ---> 在service方法里面,使用     out.print输出。

2)阶段二 容器再调用该servlet。

  注:
    包括编译、实例化、调用service方法。

猜你喜欢

转载自blog.csdn.net/anqing_liu/article/details/80636101