zoukankan      html  css  js  c++  java
  • Web核心之JSP(已经落伍,简单罗列知识,不再整理)

    JSP

    JSP = HTML + Java + JSP自己的一些语法
    JSP也是一个动态网页开发技术。
    JSP本质
    	Jsp实际上就是一个Servlet,在jsp被访问时,tomcat会把jsp转换为一个java类,然后编译执行这个java类。
    		jsp在第一次被访问时会被翻译为一个Servlet并执行。
    JSP三个脚本
    	<%   %>  JSP代码块
    		此处编写的代码会出现在翻译后的Servlet的service方法中。
    	<%!  %>  JSP声明
    		此处编写的代码会出现在翻译后的Servlet的成员位置。
    	<%=  %>  JSP表达式
    		此处编写的代码会出现在翻译后的Servlet的service方法中的out.print();输出语句的参数位置。
    内置对象
    	就是JSP已经声明好的,直接可以使用的一些对象。
    	out
    		jsp中定义的一个字符输出流。用于往页面输出数据。
    		和respones中的输出流不是同一个。
    
    JSP页面主要功能: 展示数据、获取用户输入。不要在其中编写复杂业务逻辑。
    	用户交互
    
    脚本  3种
    指令  3个
    	page指令:用于配置页面中的属性。
    		isELIgnored="false"
    			是否忽略EL表达式,要指定为false
    	include指令:用于包含其他页面。
    		<%@include file="top.jsp"%>
    		相当于代码的拷贝。
    	taglib指令:用于引入标签库
    		<%@taglib prefix="" uri="" %>
    注释  3种
    	html  <!--  -->
    	java  //     /* */  /**  */
    	jsp <%-- --%>
    	原则:
    		在什么类型的代码中,就使用什么类型的注释。
    内置对象  9个
    	pageContext*****
    		1. 域对象
    			作用范围
    				当前页面
    			创建
    				当访问一个jsp页面时,它会创建
    			销毁
    				当我们从当前页面跳转走之后,它会销毁
    		2. 获取其他8个内置对象
    		3.在其他三个域中存取值
    			存值:
    				pageContext.setAttribute("key","value",PageContext.APPLICATION_SCOPE);
    					第三个参数指定往哪个域中存值。
    			取值:
    				pageContext.getAttribute("key",PageContext.APPLICATION_SCOPE);
    					第二个参数指定往哪个域中存值。
    				pageContext.findAttribute("key");
    					查找指定key的值。从域中查找。依次从最小的域到最大的域查找,只要找到一个,就直接返回。
    					最小到最大:page域 < request域 < session域 < application域
    

    MVC开发模式*****
    M: Model模型层
    作用:封装数据,执行业务逻辑
    包含:JavaBean(实体类)、Service(业务逻辑层)、DAO(数据访问层持久层)
    V:View视图层
    作用:和用户进行交互
    包含:JSP和HTML
    C:Controller控制层
    作用:获取用户输入,并进行功能的分发
    包含:Servlet
    EL表达式
    表达式语言,在jsp中使用。
    语法:
    ${ 表达式 }
    作用:
    1. 执行运算
    empty
    空值判断。如果一个对象为null,或者一个有长度的对象的长度为0. empty判断都会返回true
    2. 从域中获取值
    1. el表达式只能从域对象中获取值
    2. 语法:
    1. ${域名称.键名}:从指定域中获取指定键的值
    域名称:
    1. pageScope --> pageContext
    2. requestScope --> request
    3. sessionScope --> session
    4. applicationScope --> application(ServletContext)
    注意:
    域名称的对象,类型实际上是Map<String,Object>
    里面把域对象中存储的值获取出来了

    			2. ${键名}:表示依次从最小的域中查找是否有该键对应的值,直到找到为止。规则和pageContext.findAttribute()一致。
    			获取对象类型的数据
    				${对象的key.对象的属性名}
    					属性仅和setter、getter方法相关。
    			从list集合获取数据
    				${list[索引]}
    			从map集合中获取数据
    				${map.key}或者${map["key"]}
    EL隐式对象
    	cookie
    		可以获取指定名称的cookie的值
    			${ cookie.name.value }
    	pageContext
    		可以获取其他八个jsp的内置对象
    			${pageContext.request.contextPath}获取虚拟目录
    

    JSTL*****
    概念:JSP标准标签库,用于引入第三方定义的一系列标签在jsp中使用。
    作用:在页面中编写一些简单逻辑代码。使用标签来进行编写而不是java代码。
    分类:
    核心标签库 core
    if
    属性:test,指定一个boolean值或者一个能计算出boolean值的el表达式
    forEach
    1.普通for循环
    for(int i = 0; i < 10; i ++){

    					}
    					属性:
    					    begin:开始值(包含)
    					    end:结束值(包含)
    					    var:临时变量
    					    step:步长,每次变量的增量
    			2. 增强for循环
    				List<User> list;
    				for(User user : list){
    
    				}
    				属性:
    				    items:容器对象
    				    var:容器中元素的临时变量
    				    varStatus:循环状态对象
    				        index:容器中元素的索引,从0开始
    				        count:循环次数,从1开始
    	EL函数库
    		只能在EL表达式中使用
    			基本上都是string的函数。
    			fn:length()函数
    				1. 求指定字符串的长度
    				2. 求集合或数组的长度
    使用步骤:
    	1. 导入jar包
    	2. 在页面中引入标签库,使用taglib指令
  • 相关阅读:
    git命令
    基于babel实现react核心功能(初始化,fiber,hook)
    Vue组件化原理-Xmind版
    访问后台 出现 俩次请求拼接情况 例如 https://localhost:4431/api/auth/jwt/token+https://localhost:4431/api/auth/jwt/token
    spring mvc 拦截器和过滤器
    前后端分离,session登录实例,jquery版本必须大于1.5,否则withCredentials不起作用
    kafka batches 数据结构是自定义map
    数据库blob中文乱码,如何查看
    先更新数据库 后删缓存
    高老师好
  • 原文地址:https://www.cnblogs.com/maomaodesu/p/12091163.html
Copyright © 2011-2022 走看看