JSP学习随笔

声明一个JSP页面
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

JSP的运行原理
先将JSP解析为.java文件,该.java就是一个Servlet类,然后编译为.class文件运行

JSP的9大内置对象

request 用户端请求,此请求会包含来自GET/POST请求的参数

Response 网页传回用户端的回应

pageContext 网页的属性是在这里管理

session 与请求有关的会话期

application servlet 正在执行的内容

out 用来传送回应的输出

config servlet的构架部件

page JSP网页本身

exception 针对错误网页,未捕捉的例外 

request表示HttpServletRequest对象。它包含了有关浏览器请求的信息,并且提供了几个用于获取cookie, header, 和session数据的有用的方法。

   response表示HttpServletResponse对象,并提供了几个用于设置送回浏览器的响应的方法(如cookies,头信息等)

   out对象是javax.jsp.JspWriter的一个实例,并提供了几个方法使你能用于向浏览器回送输出结果。

   pageContext表示一个javax.servlet.jsp.PageContext对象。它是用于方便存取各种范围的名字空间、servlet相关的对象的API,并且包装了通用的servlet相关功能的方法。

   session表示一个请求的javax.servlet.http.HttpSession对象。Session可以存贮用户的状态信息

   applicaton 表示一个javax.servle.ServletContext对象。这有助于查找有关servlet引擎和servlet环境的信息

   config表示一个javax.servlet.ServletConfig对象。该对象用于存取servlet实例的初始化参数。

   page表示从该页面产生的一个servlet实例 



    JSP脚本:
        <% %>  :写在这个里面的内容相当于写在方法(_JspService(参数1,参数2))中的代码
        <%! %> :写在这个里面的内容相当于写在类(当前jsp翻译成的java类)中的代码
        <%= %> :写在这个里面的内容相当于response.getWriter.write();向浏览器输出内容
        
    JSP注释:
        <%-- --%> :JSP注释,它会影响整个页面的最终结果
        //          :java注释,它会影响整个页面的最终结果
          :HTML注释,它不会影响整个页面的最终结果
EL表达式中11个内置对象
param
paramValues
header
headerValues
initParam
cookie
pageContext
pageScope
requestScope
sessionScope
applicationScope
     取值时,page_scope的作用?
        pageContext.getAttribute("book",pageContext.REQUEST_SCOPE);
            明确指出从哪个域范围中获取属性值!!!!!上面这个它不会从page域中获取数据,而是从request域中。
            
        如果没有指定scope,那么会根据你使用的这个域对象来找
            pageContext.getAttribute("book"); //从page域中查找
        
        如果没有指定scope,调用的是findAttribute();它会从最小的访问依次向大范围查找直到找到为止,如果找到不去更大的范围找,如果连最大范围都没找到,返回null

pageContext域对象的使用
作用域为当前页面
提供了获得其他8内置对象的方法  getXXX()
域对象方法有点特别
pageContext设置了四个int类型的属性值scope
1.PAGE_SCOPE
2.REQUEST_SCOPE
3.SESSION_SCOPE
4.APPLICATION_SCOPE
域中值的操作与其他与类似,不过多了一个参数 int scope
多了一个findAttribute(name)方法,若有多个相同name,则根据域的范围大小由小至大返回
JSP指令
静态包含
<%@ include file="src" %>  --- 将指定位置的文件数据直接添加到此处,合并为一个.jsp文件
动态包含
 flush表示是否刷新out.print数据
动态包含:先解析为.java再编译为.class文件,在合并为一个html文件
         page指令:
        <%@ page 属性名1:属性值1 属性名2=属性值2 %>    
            常用属性:
                contentType: 指定MIME类型以及页面的编码
                pageEncoding:指定页面编码(它和contentType至少写出一个来,那么另外一个默认就和这个的值一样,如果写2个值必须一致)
                isErrorPage: 我们可以通过设置该属性来查看9大内置对象的Exception对象!
                language:指定语言 java
                import:当我们在jsp页面中书写了java代码,使用的 包可以使用这个属性来引入

你可能感兴趣的:(JavaWeb学习随笔)