javaEE --- EL表达式

% 语法:

<% %> :可以在 标签中编写任意代码。
<%= %>:可以在标签中编写表达式,此语法的作用是获取表达式的值。
<%! %>:可以在标签中定义类、全局变量等

缺点:

  1. java代码和前端代码强耦合在一起。
  2. 无法分工协作,团队拆分任务困难。
    3.无法调试困难。

EL 表达式:Expression language。表达式语言。

Servlet 容器目前是默认支持的。
语法:${表达式} ,可以直接访问域对象中的内容
JSTL: Jsp Standard Taglib Library,jsp 的标准标签库。

  1. 将 jstl 相关包放到WEB-INF下面的 lib 包中。
  2. 在jsp页面中,引入jstl标签库,一般情况下,只引入core标签库。包括一些流程控制操
    作标签。
  3. 在jsp页面中,尽量只负责数据的显示,而不要引入其它逻辑。
    c:forEach
    c:if
    c:choose
    c:when
    c:otherwise
    c:set

四大域对象:域 domain,领域,有空间的概念。存储数据使用setAttribute方法,取数据

使用getAttribute方法

  1. 请求域对象:HttpServletRequest,封装所有跟请求相关的数据。请求结束之后,对象
    即销毁。
  2. 响应域对象:HttpServletResponse,封装所有跟响应相关的数据。响应结束之后,对
    象即销毁。不能存取数据。
  3. 会话域对象:HttpSession,封装一个会话内相关的数据。持续的时间比请求要长。在
    会话期内,所有请求共享一个会话域对象。会话结束之后,对象即销毁。
  4. 应用上下文对象:ServletContext,当项目启动之后,每个项目都会创建唯一的一个应
    用上下文对象。一个项目对应一个。所有Servlet共享一个应用上下文对象。
    el表达式,会按顺序依次从请求域、会话域、应用上下文域对象中取数据。
    经典 MVC 三层架构:在web项目中的应用。
    MVC : Model - View - Controller,模型(数据模型,用于封装业务数据) - 视图(用于
    数据的展示) - 控制器(用于接收请求,处理数据,响应请求)
    Servet容器的一个规范:
    在WEB-INF下的jsp或者静态资源文件,无法被外界直接访问(但是内部可以通过存储转
    发等进行访问)。
    Servlet用作控制器,接受请求,并处理数据,最后将数据响应到视图
    jsp用作视图,仅用作数据的展示,不要有过多的逻辑。
    自定义bean,用作数据模型,用于封装业务数据,用于数据传递等。
    jsp 访问静态资源:通过 c:set 设置一个变量
    GET/POST:
  5. get
  6. post
    表单向后台提交参数,如何获取表单参数?
  7. req.getParamter() 获取前端传递的参数

jsp 9大内置对象:

  1. request
  2. response
  3. session
    4.application :ServletContext
    5.out
    6.exception
    7.config
    8.page
    9.pageContext

四大域对象:域 domain,领域,有空间的概念。存储数据使用setAttribute方法,取数据
使用getAttribute方法

  1. 请求域对象:HttpServletRequest,封装所有跟请求相关的数据。请求结束之后,对象
    即销毁。
  2. 响应域对象:HttpServletResponse,封装所有跟响应相关的数据。响应结束之后,对
    象即销毁。不能存取数据。
  3. 会话域对象:HttpSession,封装一个会话内相关的数据。持续的时间比请求要长。在
    会话期内,所有请求共享一个会话域对象。会话结束之后,对象即销毁。
  4. 应用上下文对象:ServletContext,当项目启动之后,每个项目都会创建唯一的一个应
    用上下文对象。一个项目对应一个。所有Servlet共享一个应用上下文对象。
    el表达式,会按顺序依次从请求域、会话域、应用上下文域对象中取数据。
    经典 MVC 三层架构:在web项目中的应用。
    MVC : Model - View - Controller,模型(数据模型,用于封装业务数据) - 视图(用于
    数据的展示) - 控制器(用于接收请求,处理数据,响应请求)
    Servet容器的一个规范:
    在WEB-INF下的jsp或者静态资源文件,无法被外界直接访问(但是内部可以通过存储转
    发等进行访问)。
    Servlet用作控制器,接受请求,并处理数据,最后将数据响应到视图
    jsp用作视图,仅用作数据的展示,不要有过多的逻辑。
    自定义bean,用作数据模型,用于封装业务数据,用于数据传递等。
    jsp 访问静态资源:通过 c:set 设置一个变量
    GET/POST:
  5. get:请求。只要不是post请求,就是get请求。并不严谨。
    1.1 在浏览器地址栏输入的地址,是get请求。
    1.2 超链接指向的请求,是get请求。
    1.3 表单指定method=“get”,是get请求
  6. post:
    2.1 如果表单指定了method=“post”,则为post请求。
    2.2 如果使用ajax请求,同时指定了method为post,则为post请求。
    二者之间的区别:
  7. get请求的参数只能定在请求路径的后面。语法:xxx?
    username=zhangsang&password=123456
    缺点:
    1.明文参数,不安全。敏感数据不适合使用get请求传输。
    2.参数长度有限。不能传输很长的参数,也无法传输文件。
    3.某些字符是关键字,不能传输。
    post无上述缺点。
  8. 不会进行明文传输。
    2.可以传输近乎无限制大小的参数,包括文件。
    表单向后台提交参数,如何获取表单参数?
  9. req.getParamter() 获取前端传递的参数
    2.req.getSerlvetPath() 获取Servlet路径。
    3.req.getPathInfo() 获取Servlet路径信息。
    jsp 9大内置对象:
  10. request
  11. response
  12. session
    4.application :ServletContext
    5.out
    6.exception
    7.config
    8.page
    9.pageContext
    存储转发和重定向
    1、语法: req.getRequestDispatcher(“请求路径”).forward(req,resp);
  13. 存储转发属于服务器端转发,可以把请求对象和响应对象转发到下一个请求之中。
  14. 服务器端转发,不会改变浏览器中地址栏中的请求地址。客户端无感知。
  15. resp.sendRedirect(“请求路径”); 重定向属于客户端转发,浏览器地址会发生改变。
    5.重定向,相当于重新发出一个新的请求,上一个请求的request和response对象都会失
    效。
    ajax:异步无刷新机制。
  16. 无刷新。无需重新下载整个页面。节省带宽,提高网络性能。
  17. 在页面无刷新的情况下,使用js动态改变dom。用户体验较好。

你可能感兴趣的:(javaEE,javaEE)