美文网首页
JSP && Servlet 规范

JSP && Servlet 规范

作者: LynnGuo | 来源:发表于2018-05-21 15:30 被阅读0次

    JSP(Java Server Pages)是JavaWeb服务器端的动态资源,它与html页面的作用是相同的,显示数据和获取数据。
    jsp: 作为请求发起页面,例如显示表单、超链接。
    : 作为请求结束页面,例如显示数据。
    Servlet:
    作为请求中处理数据的环节。
    jsp的组成
    jsp = html + java脚本 + jsp标签(指令)
    jsp中可直接使用的对象一共有9个,被称之为9大内置对象
    3种java脚本:
    <%…%>:写java代码片段,(类似方法)
    <%=…%>:用于输出,用于输出一条表达式(或变量)的结果。
    <%!…%>:声明,用来创建类的成员变量和成员方法(类似与类)
    jsp注释:<%– … –%>
    当服务器把jsp编译成java文件时已经忽略了注释部分!

    jsp其实是一种特殊的Servlet
    当jsp页面第一次被访问时,服务器会把jsp编译成java文件
    然后再把java编译成.class
    然后创建该类对象
    最后调用它的service()方法
    第二次请求同一jsp时,直接调用service()方法。

    jsp三大指令

    page

    <%@page language=”java” info=”xxx”…%>**
    pageEncoding和contentType:
    pageEncoding:它指定当前jsp页面的编码,只要不说谎,就不会有乱码!在服务器要把jsp编译成.java时需要使用pageEncoding!
    contentType:它表示添加一个响应头:Content-Type!等同与response.setContentType(“text/html;charset=utf-8”);
    如果两个属性只提供一个,那么另一个的默认值为设置那一个。
    如果两个属性都没有设置,那么默认为iso
    import:导包!可以出现多次
    errorPage和isErrorPage
    errorPage:当前页面如果抛出异常,那么要转发到哪一个页面,由errorPage来指定
    isErrorPage:它指定当前页面是否为处理错误的页面!当该属性为true时,这个页面会设置状态码为500!而且这个页面可以使用9大内置对象中的exception!

    include –> 静态包含
    与RequestDispatcher的include()方法的功能相似!
    <%@include%> 它是在jsp编译成java文件时完成的!他们共同生成一个java(就是一个servlet)文件,然后再生成一个class!
    RequestDispatcher的include()是一个方法,包含和被包含的是两个servlet,即两个.class!他们只是把响应的内容在运行时合并了!
    作用:把页面分解了,使用包含的方式组合在一起,这样一个页面中不变的部分,就是一个独立jsp,而我们只需要处理变化的页面。

    taglib –> 导入标签库
    两个属性:
    prefix:指定标签库在本页面中的前缀!由我们自己来起名称!
    uri: 指定标签库的位置!
    <%@taglib prefix=”s” uri=”/struts-tags”%> 前缀的用法<s:text>

    在jsp中无需声明即可直接使用的9个对象
    out(JspWriter):等同与response.getWriter(),用来向客户端发送文本数据;
    config(ServletConfig):对应“真身”中的ServletConfig;
    page(当前JSP的真身类型):当前JSP页面的“this”,即当前对象,引用为Object类型;
    pageContext(PageContext):页面上下文对象,它是最后一个没讲的域对象;
    exception(Throwable):只有在错误页面中可以使用这个对象;
    request(HttpServletRequest):即HttpServletRequest类的对象;
    response(HttpServletResponse):即HttpServletResponse类的对象;
    application(ServletContext):即ServletContext类的对象;
    session(HttpSession):即HttpSession类的对象,不是每个JSP页面中都可以使用,如果在某个JSP页面中设置<%@page session=”false”%>,说明这个页面不能使用session。
    pageContext(一个顶9个!)
    Servlet中有三大域,而JSP中有四大域!
    ServletContext:整个应用程序
    session:整个会话(一个会话中只有一个用户)
    request:一个请求链!
    pageContext:一个jsp页面!这个域是在当前jsp页面和当前jsp页面中使用的标签之间共享数据!
    域对象
    代理其他域:pageContext.setAttribute(“xxx”, “XXX”, PageContext.SESSION_SCOPE);
    全域查找:pageContext.findAttribute(“xxx”);从小到大,依赖查找!
    获取其他8个内置对象:

    相关文章

      网友评论

          本文标题:JSP && Servlet 规范

          本文链接:https://www.haomeiwen.com/subject/gbqtdftx.html