动态页面技术JSP

JSP技术

1.jsp脚本和注释

   jsp脚本:

   <%Java代码%>

   <%!Java代码%>

   <%=表达式%>

   jsp注释:

   <!---html注释--->

   <%---jsp注释---%>

   //单行注释    /*多行注释*/

2.jsp运行原理(jsp本质就是servlet)

  jsp在第一次被访问时会被Web容器翻译成servlet再执行

  过程:第一次访问jsp页面------>helloServlet.jsp------>helloServlet_jsp.java------>编译运行 

  被翻译的servlet保存在tomcat服务器目录work中

3.jsp指令

  jsp指令包括三个:page、include、taglib

  1)page指令:

        page指令是实际开发当中的默认指令

        格式是<%@page 属性1=“属性值1” 属性2=“属性值2” ······%>

        page的属性有:

        language:jsp脚本中可以嵌入的语言种类

<%@page language="java"%><%---表示页面中可使用java语言---%>

        pageEncoding:当前jsp文件本身编码---内部可包含contextType

        contextType:response.setContextType("text/heml;UTF-8");表示服务器响应客户端文本的编码

        session:是否在jsp翻译时自动创建session

        import:导入java的包

        errorPage:当前页面出错后跳转到那个页面   errorPage="错误文件的路径!"

        isErrorPage:当前页面是一个处理错误的页面

  2)include指令

        页面包含(静态包含)指令,可以将一个jsp指令包含到另外一个jsp页面中  格式:

<%@include file="被包含的文件的地址"%>

        这里对比一下动态包含  格式:

<%jsp:include page="被包含的地址"%>

   3)taglib指令

         在jsp页面中引入标签库(jstl\strtus2标签库)

         格式:

<%@taglib uri="标签库地址" prefix="前缀"%>  <%---此处前缀可为任意一个字母---%>

 4.jsp内置/隐式对象(9个)

名称

类型

描述

out

javax.servlet.jsp.JspWriter

用于页面输出

request

javax.servlet.http.HttpServletRequest

得到用户请求信息,

response

javax.servlet.http.HttpServletResponse

服务器向客户端的回应信息

config

javax.servlet.ServletConfig

服务器配置,可以取得初始化参数

session

javax.servlet.http.HttpSession

用来保存用户的信息

application

javax.servlet.ServletContext

所有用户的共享信息

page

java.lang.Object

指当前页面转换后的Servlet类的实例

pageContext

javax.servlet.jsp.PageContext

JSP的页面容器

exception

java.lang.Throwable

表示JSP页面所发生的异常,在错误页中才起作用

重点:

  1)out对象

        out的类型:JspWriter

        out的作用就是向客户端输出内容------out.write("要输入的内容");

        out缓冲区默认8kb,可以设置成0,设置为0就是关闭out缓冲区,那么写到out缓冲区中的内容就会跳过out缓冲区直接写入            response缓冲区。

  2)pageContext对象

        jsp上下文对象,page对象与pageContext对象不通

        pageContext对象是一个域对象,可以有以下格式:

pageContext.setAttribute(String name,Object obj);
pageContext.getAttribute(String name);
pageContext.removeAttribute(String name);

        pageContext对象还可以向其他域中存取数据:

pageContext.setAttribute(String name,OBJ obj,int scope); //scope就是想要存的某个域
pageContext.getAttribute(String name,int scope);
pageContext.removeAttribute(String name,int scope);
findAttribute(String name);/*从所有域中查找 顺序是pageContext---request---session---application(servletContext),找到就不继续查找*/

        这里四个域分别是:pageContext域,作用于当前jsp页面范围;request域,作用于一次请求;session域,作用于一次会              话;application域作用于整个WEB项目。

        pageContext对象可以获取其他八大隐式对象

        pageContext.getRequest();

        pageContext.getSession();

5.jsp标签(动作)

1)页面包含(动态包含);<jsp:include page="被包含文件的路径">

2)请求转发:<jsp:forward page="要转发的资源路径">

猜你喜欢

转载自blog.csdn.net/qq_38475119/article/details/81348748