• JavaWeb——EL技术,JSTL技术,JavaEE开发模式


    EL技术

    EL(Express Lanuage)表达式可以嵌入在jsp页面内部,减少jsp脚本的编写,EL出现的目的是要替代jsp页面中脚本的编写。

    EL最主要的作用就是从域中取出数据,格式${EL表达式}

    • EL获得pageContext域中的值:${pageScope.key};
    • EL获得request域中的值:${requestScope.key};
    • EL获得session域中的值:${sessionScope.key};
    • EL获得application域中的值:${applicationScope.key};.
    • EL从四个域中获得某个值${key};

    同样是依次从pageContext域,request域,session域,application域中 获取属性,在某个域中获取后将不在向后寻找

    EL内置(11个)对象

    1)接收传来的参数

    param与paramValues  // param.参数名

    相当于request.getParameter()  request.getParameterValues()

    2)获取请求头信息

    header,headerValues  // header.请求头参数

    相当于request.getHeader(name)

    3)获取全局初始化参数

    initParam  // initParam.参数名

    相当于this.getServletContext().getInitParameter(name)

    web.xml文件格式

    <context-param>
        <param-name>abc</param-name>
        <param-value>鑫哥棒棒哒!</param-value>
    </context-param>
    

    4)Cookie

    cookie  // cookie.name,cookie.value

    相当于request.getCookies()---cookie.getName()---cookie.getValue()

    5)PageContext

    PageContext.request.contextPath  // 获取当前WEB应用名称

    相当于

    <%=pageContext.getRequest().getContextPath%> 这句代码不能实现

    其它功能:获得其他八大对象

    PageContext.request/response/cookie/session

    名称

    类型

    描述

    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页面所发生的异常,在错误页中才起作用

    判断是否为空

    ${empty user}

    JSTL技术

    JSTL(JSP Standard Tag Library),JSP标准标签库,可以嵌入在jsp页面中使用标签的形式完成业务逻辑等功能。jstl出现的目的同el一样也是要代替jsp页面中的脚本代码。JSTL标准标准标签库有5个子库,但随着发展,目前常使用的是他的核心库Core。

    标签库

    标签库的URI

    前缀

    Core 

    http://java.sun.com/jsp/jstl/core

    c

    I18N

    http://java.sun.com/jsp/jstl/fmt

    fmt

    SQL

    http://java.sun.com/jsp/jstl/sql

    sql

    XML

    http://java.sun.com/jsp/jstl/xml

    x

    Functions

    http://java.sun.com/jsp/jstl/functions

    fn

    a.下载标签库的两个jar包

    b.导入标签库

    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

    1、if条件判断

    格式:

    <c:if test="条件判断">标签

    其中test是返回boolean的条件,JSTL中没有 else。

    2、for循环

    格式:

    <c:forEach>标签

    使用方式有两种组合形式:

    第一种形式

    第二种形式

    <c:forEach items="${strList }" var="str">
    	${str }<br/>
    </c:forEach>
    

    JavaEE开发模式

    模式在开发过程中总结出的“套路”,总结出的一套约定俗成的设计模式 

    MVC模式

    M:Model---模型 javaBean:封装数据
    V:View-----视图 jsp:单纯进行页面的显示
    C:Controller----控制器 Servelt:获取数据--对数据进行封装--传递数据-- 指派显示的jsp页面

    产生背景:

    对用户界面进行管理的程序的职责混乱导致代码难以维护。

    解决方案:

    将对数据的操作M与对视图V的操作分离开,用C逻辑作为二者的粘合剂。

    JavaEE三层架构

    web层:与客户端交互

    service层:复杂业务处理

    dao层:与数据库进行交互

    开发实践时 三层架构通过包结构体现

    产生背景

    由于原有业务的复杂度提升,客户端和服务器端的职能需要调整,来实现负载均衡和高内聚低耦合的思想,使系统具有良好的伸缩性。

    解决方案:

    客户端的应用程序用于展示,是展示层,业务层进行逻辑运算的支持,数据层存储和操作数据。由于这种架构对原有程序进行了分层,不同的层运行在不同的机器上,所以可以非常自然地支持分布式开发。

    两者之间的区别

    关注的重点不同:

    • MVC 关注的重点在于表现层(WEB层)的代码组织方式,通过降低代码间的耦合度,使代码更改维护。
    • 3-tires 关注系统的分布,便于提升系统性能,增加系统功能。

  • 相关阅读:
    What is the difference between Serialization and Marshaling?
    IEEE Standard 754 for Binary Floating-Point Arithmetic
    没有单元测试,就很难有真正的积累。
    一般只用 20% 的代码就可以解决 80% 的问题。但要想解决剩下 20% 的问题的话,则需要额外 80% 的代码。
    为失败设计,大量引入对SRE的理解,鲁棒性高
    用git合并分支时,如何保持某些文件不被合并
    git 分支合并时如何忽略某个文件
    Golang拼接字符串的5种方法及其效率_Chrispink-CSDN博客_golang 字符串拼接效率 https://blog.csdn.net/m0_37422289/article/details/103362740
    Lua大量字符串拼接方式效率对比及原因分析
    干货 | 携程多语言平台-Shark系统的高可用演进之路
  • 原文地址:https://www.cnblogs.com/x54256/p/8452669.html
Copyright © 2020-2023  润新知