2020年JSP课堂笔记

JSP

JSP简介

概念:java Servlet Pages:java服务器端页面,本质上是一个Servlet

JSP页面中可以同时有HTML标签java代码,用于简化书写

使用方式:

方式功能描述
<% java代码 %>Java代码等效于在Service方法中执行
<%! java代码 %>java代码
<%= java代码 %>java代码会直接输出到页面上

JSP的内置对象:

  • 在jsp页面中的对象不需要获取和创建,可以直接使用

  • jsp一共有9个内置对象。

    • request

    • response

    • out:字符输出流对象。可以将数据输出到页面上。

      out.write()response.getwriter()区别:

      • response.getWriter()数据输出永远在out.write()在前

指令

作用:用于配置JSP页面,导入资源文件

格式:

<%@ 指令名称 属性名1=属性值1 属性名2=属性值2 ...%>

分类:

  1. page:配置JSP页面的
  2. include:页面包含的。导入页面的资源文件
  3. taglib:导入资源

page

属性:

  • contentType

    1. 设置响应体的mine类型以及字符集
    2. 设置当前jsp页面的编码

    注意:只能是高级的IDE才能生效,如果使用低级工具,则需要设置pageEncoding属性值设置当前页面的字符集

  • import:导包

  • errorPage:当前页面发生异常后,会自动跳转到指定的错误页面

  • isErrorPage:标识当前页面是否可以显示异常信息

    • true:可以使用内置对象Exception
    • false:默认,不可以使用

include(极少用)

<%@include file="top.jsp" %>

taglib

<%@ taglib prefix="自定义前缀" url="jsp库的路径"
  • prefix:前缀,自定义的,用于引用

注释

  1. html注释:<!--注释内容-->(只能用于HTML注释)
  2. jsp注释:<%-- 注释内容 --%>(注释所有)

注意:最好使用jsp注释

内置对象

概念:在jsp页面中不需要注释,直接使用的对象

一共有9个:

变量名真实类型作用
pageContextPageContext当前页面共享数据,还可以获取其他8个内置对象
requestHttpServletRequest一次请求访问的多个资源
sessionHttpSession一次会话的多个请求间
applicationServletContext所有用户间共享数据
responseHttpServletResponse响应对象
pageObject当前页面的对象
outJspWriter输出对象,数据输出到页面上
configServletConfigServlet的配置对象
exceptionThrowable异常对象

MVC开发模式

含义:

  1. M(model),模型,使用javaBean

作用:完成具体的业务操作,如:查询数据库,封装对象

  1. V(view),视图,使用JSP

作用:展示数据

  1. C(Controller),控制器,使用Servlet

作用:获取用户的输入,调用模型,将数据交给视图进行展示

优缺点:

  1. 优点:耦合性低,方便维护,可以利于分工协作,重用性高
  2. 缺点:使项目架构复杂

EL表达式

概念:Expression Language 表达式语言

作用:替换和简化jsp页面中的编写

语法:${表达式}

注意

jsp默认支持el表达式。如果要忽略el表达式

  1. 设置jsp中page指令中:isELIgnored="true",忽略当前jsp页面中所有的el表达式
  2. \${表达式}:将el表达式原样显示

运算:

  1. 算数运算符:+ - * /(div) %(mod)
  2. 比较运算符:> < >= <= !=
  3. 逻辑运算符:&&(and) ||(or) !(not)
  4. 空运算符:empty
    • 功能:用于判断字符串、集合、数组对象是否是null并且长度是否为0
    • 如:${empty list}

获取值:

el表达式只能从域对象中获取值

语法:

  1. ${域名称.键名}:从指定域中获取指定键的值
域名称原来域
pageScopepageContext
requestScoperequest
sessionScopesession
applicationScopeapplication(ServletContext)

例子:${requestScope.name}

  1. ${键名}:表示依次从最小的域中查找是否有该键对应的值,直到找到为止。

获取对象、List集合、Map集合的值

获取值来源语法
对象${域名称.键名.属性值}
List集合${域名称.键名[索引]}
Map集合${域名称.键名.key名称}
${域名称.键名["key名称"]}
  1. 隐式对象:el表达式中有11个隐式对象

pageContext:获取其他8个内置对象

${pageContext.request.contextPath}:动态获取虚拟目录

JSTL

概念:JSP标准标签库,由Apache组织提供的

作用:用于简化和替换jsp页面上的java代码

使用步骤:

  1. 导入jstl相关的jar包
  2. 引入标签库:taglib指令:<%@ taglib %>
  3. 使用标签

常用的jstl标签:

标签名称类似java关键字
ifif
chooseswitch
whencase
otherwisedefault
foreachfor

标签if的属性注意:

  1. test为必须属性,接收boolean表达式
  2. 标签if没有else情况。

三层架构:软件架构

架构层次:

  1. 界面层(表示层):用户看的得界面。用户可以通过界面上的组件和服务器进行交互

  2. 业务逻辑层:处理业务逻辑的。

  3. 数据访问层:操作数据存储文件。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值