栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JSP(JavaServer Pages,Java服务页面)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JSP(JavaServer Pages,Java服务页面)

目录
  • JSP原理
  • JSP快速入门
  • JSP脚本
  • JSP 缺点
  • EL表达式
  • JSTL标签
    • JSTL快速入门
    • JSTL标签

JSP原理

概念:Java Server Pages,Java服务端页面
JSP = HTML + Java,用于简化开发
JSP本质上就是一个Servlet
JSP在被访问时,由JSP容器(Tomcat)将其转换为Java文件(Servlet),再由JSP容器(Tomcat)将其编译,最终对外提供服务的其实就是这个字节码文件

JSP快速入门
  1. 导入JSP坐标

    javax.servlet.jsp
    javax.servlet.jsp-api
    2.3.1
    provided

  1. 创建JSP文件
  2. 编写HTML标签和Java代码
JSP脚本

JSP脚本用于在JSP页面内定义Java代码
JSP脚本分类

  1. <%…%>: 内容会直接放到_jspService()方法中
  2. <%=…%>: 内容会放到out.print()中,作为out.print()的参数
  3. <%!…%>: 内容会放到_jspService()方法之外,被类直接包含
JSP 缺点
  • 书写麻烦:特别是复杂的页面

    既要写 HTML 标签,还要写 Java 代码

  • 阅读麻烦
    上面案例的代码,相信你后期再看这段代码时还需要花费很长的时间去梳理

  • 复杂度高:运行需要依赖于各种环境,JRE,JSP容器,JavaEE…

  • 占内存和磁盘:JSP会自动生成.java和.class文件占磁盘,运行的是.class文件占内存

  • 调试困难:出错后,需要找到自动生成的.java文件进行调试

  • 不利于团队协作:前端人员不会 Java,后端人员不精 HTML
    如果页面布局发生变化,前端工程师对静态页面进行修改,然后再交给后端工程师,由后端工程师再将该页面改为 JSP 页面

由于上述的问题, JSP 已逐渐退出历史舞台,以后开发更多的是使用 HTML + Ajax 来替代。

技术发展:

  1. 第一阶段: 使用 servlet 即实现逻辑代码编写,也对页面进行拼接。

  2. 第二阶段: 随着技术的发展,出现了 JSP , JSP 使用起来比 Servlet 方便很多,但是还是要在 JSP 中嵌套 Java 代码,也不利于后期的维护

  3. 第三阶段: 使用 Servlet 进行逻辑代码开发,而使用 JSP 进行数据展示

  1. 第四阶段: 使用 servlet 进行后端逻辑代码开发,而使用 HTML 进行数据展示。而这里面就存在问题,HTML 是静态页面,怎么进行动态数据展示呢?这就是 ajax 的作用了。
EL表达式

Expression Language 表达式语言,用于简化JSP页面内的Java代码
主要功能:获取数据
语法:${expression}

  • ${brands}:获取域中存储的key为brands的数据

JavaWeb中的四大域对象:

  1. page:当前页有效
  2. request:当前请求有效
  3. session:当前会话有效
  4. application:当前应用有效

el表达式获取数据,会依次从这四个域中寻找,直到找到为止

//四大域对象都有对应的存、取数据方法:
setAttribute(name,value);//存储数据到name的方法
getAttribute(name);//根据name获取对应数据值
removeAttribute(name);删除数据

JSTL标签

JSP标准标签库(Jsp Standarded Tag Library),使用标签取代JSP页面上的Java代码

JSTL快速入门
  1. 导入坐标(jstl和taglibs库)

    javax.servlet
    jstl
    1.2



    org.apache.taglibs
    taglibs-standard-impl
    1.2.5
    runtime

  1. 在JSP页面上引入JSTL标签库
<%@taglibs prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
  1. 使用

JSTL标签
  • : 相当于for循环
    • items:被遍历的容器
    • var :遍历产生的临时变量
    • varStatus: 遍历状态(序号)
      varStatus=“status”,status有两个属性:status.index(下标从0开始)、status.count(下标从1开始)
//另一种循环结构


	${i}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/985531.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号