今天复习jsp

(周五没发布成功,就跟着周六一起发布好了😥)

今天在上班要写个jsp请求socket,然后我不会写。。
太差了太差了太垃圾了。又是自我分类的一天。
在这里插入图片描述

JSP

JSP概述

1. 介绍

由SUN公司提供的动态web资源技术,看起来非常像html,但是其中可以写java代码。

2. 出现原因

为了解决servlet在响应时不适合向外输出页面的问题。
servlet本质是是一段java代码,适合处理逻辑,但是不适合向外输出页面。
HTML适合用于开发页面,展示数据,但是HTML开发出来的页面本质上是一个文档,无法展示动态的数据。

这时,jsp出现了。
在这里插入图片描述
jsp既能编写HTML代码,作为响应页面向外输出;又能在写java代码,展示动态的数据。

3. 原理

jsp在第一次访问时,会被翻译成一个servlet,对jsp访问后看到的 页面,其实就是翻译后的servlet在向外输出。

JSP语法

1. 模板元素:html代码
  • 模板元素:直接写在jsp页面中的html内容
  • 模板元素在翻译过来的的servlet中 被out.write()原样输出到浏览器中
    out.write("\tday13…index.jsp…\r\n");
2. 脚本表达式

<%= 表达式 %>

  • 在jsp翻译过来的servlet中,计算表达式的值原样输出;
    out.write( 10 + 20 )
3. 脚本片段

<% java语句 %>

  • 在翻译过来的servlet中,脚本片段被复制粘贴到对应位置执行
    • 翻译前:
      <% for(int i = 0; i < 5; i++){ %>
      	Hello World~<br/>
      <%  } %>
      
    • 翻译后:
      for(int i = 0; i < 5; i++){
      	out.write("\r\n");
      	out.write("\t\Hello World~<br/>\r\n");
      	out.write("\t");
      }
      
  • 多个脚本片段之间的变量可以互相访问。
  • 在某一个脚本片段中java代码可以是不完整的,但是在翻译过来的servlet中整体代码必须是完整、符合java语法的。
  • 任何文本,html标记、jsp元素必须在脚本片段之外的。
4. 声明

<%! java代码 %>

  • 写在jsp声明中的内容,在翻译过来的servlet中会和service方法平级,成为类的成员,声明的是实例成员
    ps: 写在脚本片段中的内容,在翻译过来的servlet中是方法的局部变量。
5. 注释

<%-- jsp注释 --%>

  • <%-- out.write("aaa"); --%>
    被jsp注释掉的内容,在翻译的过程中被抛弃,不会被翻译出来
  • <% //out.write("bbb"); %>
    被java注释掉的内容,在翻译过程中被当作脚本片段翻译到servlet中,但由于被注释了,所以不会执行 。
  • <!-- <% out.write("aaa"); %> -->
    被html注释掉的内容,在翻译过程中直接当成模板元素原样输出到浏览器,但浏览器认为是注释,所以不会显示出来。
    在jsp中最好使用jsp注释,html注释慎用。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值