JavaEE5JSP

JSP:Java Server Page
    JSP可以接受请求、返回响应、本质就是Servlet
JSP-工作文件 tomcat 中 work文件夹
**原理**:JSP运行之前,在第一次访问文件时翻译成java代码  (**面试**)
                                                  xx.jsp  - >  xx_jsp.java
                                                  简介继承HttpServlet,JSp本质就是Servlet
 **java脚本:**
     <html>     -> out.write()
     <% %>   -> 翻译后,出现在service方法中
     <%=%>  ->out.print()
     <%!%>   ->成员变量


注释:html注释 > java注释 > jsp注释
html注释:出现在 jsp代码、翻译后的java代码、html页面源码
// java注释:jsp代码、翻译后的java代码
<%-- --%> jsp注释:jsp代码

jsp包含:html标签、css、jss、3种脚本、3种注释、<%@ %>JSP指令
               JSP内置对象、JSP动态标签、EL表达式、JSTL标签
               --
 **JSP指令<%@ %>:**
     page:(属性最多)
              language:JSP脚本可以嵌入的语言种类
              pageEncoding:当前JSp文件的本身编码--内部可以包含contentType
              contentType:response.setContentType("text/html;charset=UTF-8");
              session:是否JSP在翻译是自动创建session
              import:导入java包
              errorPage:当前页面出错后,跳转到哪一个页面
              isErrorPage:当前页面是否为一个处理错误的页面
     include:
              页面包含指令,可以将一个JSP页面吧Phan在另一个JSp页面中
              格式:<%@ include file="被包含的文件地址"%>
     taglib:
              在JSP页面引入标签库(jstl\struts2标签库)
              格式:<%@ taglib uri="标签库地址" prefix="前缀"%>
**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页面所发生的异常,在错误页才起作用
  **pageContext对象:**
            一.pageContext是一个域对象
                    1.setAttribute(String name,Object obj);
                    2.getAttribute(String name,Object obj);
                    3.removeAttribute(String name)
            二.pageContext可以向指定的其他域中存数据
                    1.setAttribute(String name,Object,int scope);
                    2.getAttribute(String name,int scope);
                    3.removeAttribute(String);
                    4.fingArrtibute(Strina name);
                       依次从pageContext域,request域,session域,application域中获取属性
                       在某个域获取后,不再向后寻找
                                   PageContext.APPLICATION_SCOPE
                                   PageContext.SESSION_SCOPE
                                   PageContext.REQUEST_SCOPE
             三.可以获得其他8个内置对象
                     例如:pageContext.getRequest();
     **四大作用域的总结**
            page域:当前JSP页面范围
            request域:一次请求
            session域:一次对话
            application域:整个web应用
   JSP标签:
         <jsp:include page="被包含的页面">; 页面包含,动态
         <jsp:forward page="要转发的资源">;请求转发
    EL表达式:
         概述:
                 EL表达式可以嵌入JSP页面内部,减少JSP脚本的编写,EL出现的目的是要替换JSP页面中脚本的编写
         EL从域中读取数据:
                 JSP脚本:<%=request.getAttribute(name)%>
                 EL表达式替换上面的脚本:${requestScope.name}
                 **EL最主要的作用是获得四大域中的数据格式:** ${EL表达式}
                 EL获得pageSontext域中的值:${pageScope.key};
                 EL获得request域中的值:${requestScope.key};
                 EL获得session域中的值:   ${sessionScope.key};
                 EL获得application域中的值:${applicationScope.key};
                 依次从pageContext域、request域、session域、application域中获得属性,在某个域中获取后将不再向后寻找。
        EL执行表达式:
                ${1+1};    ${emp user};  ${user==null?true:false };
   JSTL:
           Core标签库:
           		导库:<%@ taglib uri="http:java.sun.com/jsp/jstl/core" prefix="c"%>
            JSTL核心库的常用标签:
                    <c:if test="">
                          其中test是返回boolean的条件
                    <c:forEach>
                           <c:forEach begin="0" end="5" var"i">
                                   ${i}</br>
                           </c:forEach>  相当于 (for int i=0;i<5;i++){System.out.println(i)}
                            --
                            <c:forEach items="${map}" var="entry">
                                   ${entry.value/entry.key}<br>
                            </c:forEach>


out缓冲区在这里插入图片描述
动态包含和静态包含在这里插入图片描述
JSP原理
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值