文章41
标签12
分类3

JavaEE02

JSP

JSP

JSP本质上是个servlet,
是Java独有的网页,以.jsp结尾,
JSP必须运行在TomCat容器中,
JSP组成:html + css + js + java

1.是否需要获取数据

  • 不需要:
    页面是否可以直接访问:

    • 可以,放在web下
    • 不可以,放在web/WEB-INF下(转发)
  • 需要:
    先去访问servlet,通过servlet获取数据,再将数据传递到jsp进行显示

JSP三大指令

编译器指令:

1.page指令

  • 指定编码和文件格式
    <%@ page contentType=”text/html;charset=UTF-8” language=”java” %>

  • 导入包
    <%@ page import=”java.util.Random” %>

  • 跳转报错页面
    <%@ page errorPage=”Error.jsp” %>

2.taglib指令

3.include指令

  • <%@ include file=”One_For_All.jsp” %>

语法指令: <% %>

  • 页面展示

    <% String str = "栗悟飯とカメハメ波";%>
    <h1><%=str%></h1>
  • 声明全局属性和方法

    属性:
    <%! String str = " ヽ(*゚д゚)ノカイバー"; %>
    方法:
    <%! public String eat() {
      return "吃饭";
    }
    %>
    <h1><%=eat()%></h1>

动作指令:

  • 页面展示

    <% String str1 = "El.Psy.Congroo~!";%>
    <h1><jsp:expression>str1</jsp:expression></h1>
  • 动态导入

    <jsp:forward page="WEB-INF/All_For_One.jsp"></jsp:forward>

静态导入与动态导入的区别

1.静态导入属于编译器指令,动态导入属于动作指令
2.动态导入,会生成两个独立的servlet,两者互不影响
3.静态导入,会把两个jsp编译成一个servlet,不能出现相同的属性名和方法
4.静态导入以文件路径,动态导入以访问路径

显示注释与隐式注释的区别

1.显示注释针对浏览器

<!-- 显示注释 -->

2.隐式注释针对JSP编译器

<%-- 隐式注释 --%>

JSP九大内置对象

1.Request:请求对象

2.Response:响应对象

3.PageContext:JSP的上下文对象,通过它可以获取其他八个对象

4.Session:在服务器端保存用户数据的对象

5.Application:servlet上下文,保存项目的全局变量

6.Config:配置文件对象

7.Out: 页面输出对象

8.Page:页面本身,相对于this

9.Exception:页面异常对象

JSP的四大作用域

1.Application:项目启动,该作用域就存在,直到项目结束
2.Session:浏览器不关闭,作用域就存在,关闭浏览器,作用域就消失
3.Request:作用域存在于当前请求和转发后的页面
4.Page:

EL表达式

1.为了简化

Application作用域:${applicationScope.application}

Session作用域:${sessionScope.session}

Request作用域:${requestScope.request}

Page作用域:${pageScope.page}

2.如果key相同,取值从小到大
Page > Request > Session > Application

JSTL标签库

1.他是一个开源的标签库
2.简化JSP页面开发,通常搭配EL表达式进行业务逻辑开发
3.C标签是JSTL的核心库,也是平常开发的

TomCat如何去项目名

在server.xml中配置,放置在Host标签下

Cookie与Session的区别

cookie是浏览器端保存用户数据,session是服务器端保存用户数据
cookie再浏览器端不是很安全,容易被篡改,session保存数据更安全
session保存在服务器端,随着访问的增多,会占用更多的服务器资源,消耗服务器的性能
cookie保存的数量较少,单个cookie不能超过4k,有些浏览器还会限制cookie的数量,有时用户也会禁用cookie

监听器

监听器也是JavaEE的重要组件之一
用来监听3大作用域(无法监听Page域)的初始化、销毁、新增值、替换值、移除值。当改变时就会触发相应的事件方式

本文作者:GreedRing
本文链接:http://greedring.com/2019/10/29/JavaEE02/
版权声明:本文采用 CC BY-NC-SA 3.0 CN 协议进行许可