• 开发JSP应用的基础知识


      1、普通脚本可以使用所有的Java语法,除了定义函数。
      2、声明脚本的变量、函数都是全局变量;<%!  %>
      3、声明脚本的内容必须在普通脚本<% %>中调用
      4、如果声明脚本的函数中有返回值,使用输出脚本调用<%= %>
      5、输出脚本后面不能有分号
      6、注释 <%--  注释内容 --%>(Java注释,不编译)或者(html注释)

      1、JSP指令
      <%@ page...  %> 定义页面的依赖属性,比如脚本语言、error页面、缓存定义等
      <%@ include... %> 包涵其他文件
      <%@ taglib... %> 引入标签库的定义,可以是自定义标签

      2、Page指令
      语法:
      <%@ page 属性1=”值1”  属性2=”值2” %>
      Page指令为容器提供当前页面的使用说明,一个JSP页面可以包含多个Page指令

      contentType:指定当前JSP页面的MIME类型和字符编码格式
      errorPage:指定当JSP页面发生异常的时候需要跳转到的错误处理页面
      isErrorPage:指定当前页面是否可以作为另外一个JSP页面的错误处理页面
      Import:导入需要使用的Java类
      Language:定义JSP页面所使用的脚本语言,默认是Java
      Session:指定页面是否使用session,默认为立即创建,为false标识使用时创建
      pageEncoding:指定JSP页面的解码格式

      3、Include指令
      语法:<%@ include file=”被包含的JSP文件” %>
      通过include指令包含其他文件,被包含的文件可以是JSP文件、HTML文件或者文本文件,要避免同名变量的定义冲突。

      4、Taglib 指令
      语法:<%@ taglib url=”外部标签库的路径” prefix=”前缀” %>,引入JSP的标准标签库

      5、作标签
      语法:,指的是在JSP页面在运行期间的命令

      6、Include
      ,将外部文件的输出结果包含在当前的JSP中
      <%@ page include=”” %>是将外部文件的输出代码复制到当前的JSP当中

      7、useBean
      
      用来加载一个将在JSP中使用的JavaBean
      在类加载后,可以通过jsp:setProperty和jsp:getProperty来设置或者获取bean的属性

      8、跳转指令

    1.   <jsp:forward page=”A1.jsp”>
    2.     <jsp:param name=”para1” value=”123” />
    3.     <jsp:param name=”para2” value=”bbb” />
    4.   jsp:forward>

      A1.jsp接收参数

    1.   <%
    2.     String x1=(String)request.getParameter(“para1”);
    3.     String x2=(Int)request.getParameter(“para2”);
    4.   %>

      9、内置对象

    对象名 类型 说明
    request javax.servlet.http.HttpServletRequest
    responsejavax.servlet.http.HttpServletResponse
    sessionjavax.servlet.http.HttpSession有session=”true”开关
    applicationjavax.servlet.ServletContext
    config javax.servlet.ServletConfig
    exception java.lang.Throwable有isErrorPage=”false”开关
    outjavax.servlet.jsp.JspWriter javax.servlet.jsp.JspWriter
    pageContentjavax.servlet.jsp.PageContext
    pagejava.lang.Object,当前对象this当前servlet实例

      10、四大域对象

    pageContentjavax.servlet.jsp.PageContent当前JSP页面范围
    requestjavax.servlet.http.httpServletRequest一次请求有效
    session javax.servlet.http.HttpSession一次会话有效(关闭浏览器失效)
    application javax.servlet.ServletContext 整个web应用有效(服务器重启或者关闭失效)

      11、示例脚本

      ⑴ 、属性的设置与获取

    1. <%
    2. pageContext.setAttribute("pageContextScope","x1");//设置属性值
    3. pageContext.setAttribute("pageContextScope","y1");
    4. String a1 =(String) pageContext.getAttribute("pageContextScope");//获取属性值
    5. %>
    6. <%= a1 %>

      ⑵、页面跳转与数据接收

    1. <%
    2. pageContext.setAttribute("X1","111",pageContext.REQUEST_SCOPE);//request作用域有效
    3. pageContext.setAttribute("Y1","222",pageContext.SESSION_SCOPE);//session作用域有效
    4. pageContext.setAttribute("Z1","333",pageContext.APPLICATION_SCOPE);//application作用域有效
    5. response.sendRedirect(request.getContextPath()+"/other.jsp");
    6. %>

       参数接收:

    1. <%
    2. String X1=(String) pageContext.getAttribute("X1",PageContext.REQUEST_SCOPE);
    3. String Y1=(String) pageContext.getAttribute("Y1",PageContext.SESSION_SCOPE);
    4. String Z1=(String) pageContext.getAttribute("Z1",PageContext.APPLICATION_SCOPE);
    5. %>

  • 相关阅读:
    每日一题 —— LC. 891 子序列的宽度之和
    ZooKeeper之分布式环境搭建--仲裁模式与伪分布式环境搭建
    60天累积4000w播放!仅发10支作品在B站涨粉近70w!
    人工神经网络与遗传算法,遗传算法和神经算法
    Acrel-2000Z电力监控系统在某数据中心的应用-Susie 周
    javaee springMVC 一个案例
    【概念】详细介绍:什么是BP神经网络?(Sigmoid 激活函数,再次介绍) || 感受野 || 前向传播 和 反向传播
    Pspice simulation with Op Amp AC circuits
    Mybatis 缓存原理
    用docker部署公司的一个web系统
  • 原文地址:https://blog.csdn.net/dawn0718/article/details/126064878