2021-10-01

  还是老规矩,先介绍一下什么是jsp,jsp全称是JavaServer Pages,它的书写格式和HTML一样,但是它确实动态的,什么意思呢,举个栗子,我们访问某些网站时,它的首页会出现时间对不对,我们都知道时间是动态的,而HTML是静态的,它不具备这种能力,所以就衍生出了jsp,jsp理解起来非常简单,就是即可以定义HTML页面又可以在里面写Java代码。

一个页面想要显示动态内容,就必须要用Java来写,而一个Java类要想被外界访问,那必须要建立servlet所以jsp其实就是一个servlet,它的出现,简化了程序代码,让程序员们可以不用在HTML和servlet中建立连接了。

那么jsp是怎么在客服端和服务器里进行请求响应的呢?

首先,客户端发送请求,服务器解析请求寻找是否有index.jsp的文件,如果有则将它转换为.java的格式,如果没有则404报错,然后服务器会编译java文件生成.class字节码文件,字节码文件提供访问servlet。

jsp里又是怎么区别HTML和java代码呢,其实很简单。

打开一个jsp文件:

 

我们可以看到,java的print语句被写在了<%%>里面,而HTML写在了外面,我们执行一下

 

就可以看见HTML的内容打印在了页面,同样的java内容也出现在了控制台,这就是jsp神奇的地方了。

jsp的脚本书写框一共有三种,分别是<% %>,<%! %>,<%= %>

第一种我们已经演示过了,第二种主要是往里面书写成员变量用的,一般里面可以写成员方法,成员变量,静态代码块等

第三种相对于输出语气,比如<%= i %>,它就会把i的值输出到页面。

最后介绍一下out.write它可以将jsp数据输出到页面上,和response.getwriter类似,但是如果你在jsp里同时用到这两个语句,那么response.getwriter输出的数据一定会在out.writet输出的数据前面,因为在tomcat里会先访问response缓冲区数据,再访问out缓冲区数据,所以在jsp里用out.write就好,用response.getwriter容易导致顺序错乱。

以上知识总结来自哔哩哔哩JavaWeb-08 Cookie和Session_哔哩哔哩_bilibili

感兴趣的可以去观看~~~

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值