• jsp(Java的服务网页)$javabean


    JSP:Java Server Page(Java的服务网页),也是Java的动态网页.
     JSP的本质:其实就是一个Servlet.
     JSP---->翻译成Servlet类---->编译成字节码文件--->解释执行了.
     
    1.jsp的基本语法:
    1、JSP的注释:
       作用:注释Java脚本代码
       语法:<%--这是注释--%>,JSP的注释不会被翻译到Servlet代码中去.
    2、JSP的Java脚本表达式:
       作用:输出数据到页面上
       语法:<%=表达式%>(实际上就是调用输出流打印到页面上) out.print(表达式);
    3、JSP中的Java脚本片段:(实际开发中,应做到JSP中不能出现一行Java脚本片段)
       作用:书写Java代码逻辑
     
    2.三大指令:
    /*page*/
    作用:定义JSP页面的各种属性
    属性:
       1、language:指示JSP页面中使用脚本语言。默认值java,目前只支持java。
       2、extends:指示JSP对应的Servlet类的父类。不要修改。
       3、*import:导入JSP中的Java脚本使用到的类或包。(如同Java中的import语句)
    注意
     1、一个import属性可以导入多个包,用逗号分隔。
     2、*sessioin:指示JSP页面是否创建HttpSession对象。默认值是true
     3、*buffer:指示JSP用的输出流的缓存大小.默认值是8Kb。
     4、autoFlush:自动刷新输出流的缓存。
     5、isThreadSafe:指示页面是否是线程安全的(过时的)。默认是true。
     6、true:不安全的。
     7、false:安全的。指示JSP对应的Servlet实现SingleThreadModel接口。
     8、*errorPage:指示当前页面出错后转向(转发)的页面。
     9、目标页面如果以"/"(当前应用)就是绝对路径。
     
    配置全局错误页面提示
    访问当前JSP的时候,出现错误(404找不到/500代码有问题),我们可以专门提供一个错误页面. 出错之后,就跳转到错误页面,显示错误信息.
    web.xml
    <error-page>
    	<exception-type>java.lang.Exception</exception-type>				<location>/error.jsp</location>
    </error-page>
    <error-page>
           <error-code>404</error-code>
    	<location>/404.jsp</location>
    </error-page>
     
     
    /*include*/
    作用:包含其他的组件。
    语法:<%@include file=""%>file指定要包含的目标组件。路径如果以"/"(当前应用)就是绝对路径。
    原理:把目标组件的内容加到源组件中,输出结果。
    动态包含:采用动作元素:<jsp:include page=""/>路径如果以"/"(当前应用)就是绝对路径。
     
    /*taglib*/
    作用:引入外部的标签
    语法:<%@taglib uri="标签名称空间" prefix="前缀"%>
    例:<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
     
    3.九大内置对象
     
    4.servlet+jsp综合
     
    5.jsp代码解说
    <%@ page language="java" contentType="text/html; charset=UTF-8"
    	pageEncoding="UTF-8"%>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    
    </head>
    <body>
    
    <%= pageContext.findAttribute("test")!=null ? pageContext.findAttribute("test") : "111" %>
        
    ${test }
    
    <%-- ${pageContext.getRequest().getContextPath()} --%>
    <!-- 通过实体.属性 -->
    <%-- ${user.username }
    ${user.password } --%>
    
    <!-- 
    jsti常用标签:
        c:forEach:
        items:要循环的集合/列表
        var:定义集合元素的类型
        begin:从第几项开始循环
        end:循环到第几项结束
        step:循环的步长
        varStatus:关于下标的对象
        index:下标
        count:成员总数
        first:判断是否是第一个元素(boolean)
        last:最后一个元素(boolean)
        
        c:set:
        var:定义变量名称 
        value:变量的值
        scope:变量的作用域 默认为:page
        
        c:remove:
        var:需要移除的变量名
        scope:作用域
        
        c:out:
        value:输出的值(相当于<%-- <%=%> --%>)
        
        c:if
        
        
        
        
        
     -->
    <table border="1">
    <c:forEach items="${users }" var="user" varStatus="item">
      <c:set var="setDemo" value="${item.index }"></c:set>  
      <c:remove var="setDemo"/>
      <%-- <td> ${testDemo }</td> --%>
      <c:if test="${item.index > 10 }" var="testDemo">
      <tr>
          <td> <c:out value="1"></c:out></td>
          <td> ${user.username }</td>
          <td> ${user.password }</td>
      </tr>
      </c:if>
      
      
      <c:choose>
          <c:when test="${item.index > 10 }">
              <c:out value="大于10"></c:out>
          </c:when>
          <c:otherwise>
              <c:out value="小于等于10"></c:out>
          </c:otherwise>
      </c:choose>
      
    </c:forEach>
    
    
    </table>
    </body>
    </html>

    6.相关的导包:
     
    6.jsp作用域范围从大到小:
    pageContext-->request-->session-->application
    什么叫做作用域:对象的声明周期和可访问性

    javabean

    1.JavaBean 是一种JAVA语言写成的可重用组件(类)。(JavaBean就是特殊的类) 设计JavaBean必须遵循的规范: 1、把JavaBean类设计为public的.

    2、必须具有公共的无参数构造器,(方便反射创建对象).

    3、一般的,JavaBean的字段是私有的,外界不能访问,我们得提供让外界访问字段的公共方法. (getter/setter:必须遵循一定的规则)--->属性.

    2.JavaBean的分类:

    1、有用户界面(UI,User Interface)的JavaBean(Panel,Window,Button等);

    2、没有用户界面,主要负责处理事务(如数据运算,操纵数据库)的JavaBean。 比如:dao组件,domain,service等等.

    3:JavaBean具有的成员:

    1、事件(event),存在于有界面的JavaBean中.(点击事件).

    2、方法(method):

    3、字段/成员变量 (属性property):

    简单来说:当一个Pojo可序列化,有一个无参的构造函数,使用getter和setter方法来访问属性时,他就是一个JavaBean。

    Introspector:内省机制核心类

    反射机制: 获取字节码对象,创建该字节码对应类的对象以及调用方法.

    内省机制: 操作avaBean中的成员(事件,方法,属性):获取属性/设值属性.

    4.JavaBean和Map的转换操作

    要消除JSP中的Java代码,咱们就得使用Java的标签库,每一个标签的背后其实就是一段Java代码. 一般的,我们不用自定义标签,我们使用JSTL(Java的标准标签库(SUN自己提供的标签库)).

    使用JSTL的准备环境:

    1、需要拷贝相应的jar.

    2、需要在使用JSTL的JSP页面引用标签库. <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

    3、使用JSTL的标签库了.



  • 相关阅读:
    [转] Web前端优化之 Server篇
    [转] Web前端优化之 内容篇
    [学习笔记] Web设计过程中该做和不该做的
    web前端性能优化
    jQuery代码片段
    socket.io
    ajax阻塞UI线程
    前端面试题整理
    nodejs之async异步编程
    jquery源码笔记
  • 原文地址:https://www.cnblogs.com/liva-/p/10327788.html
Copyright © 2020-2023  润新知