JavaWeb笔记全整理——JSP服务器渲染技术

本篇我来讲解一下JSP技术,.jsp文件在我们的web工程项目中可以说随处可见,那么jsp究竟是什么?我们下面来一一讲解。

观看本篇的前置知识:Java基础、HTML、Xml和Servlet与Tomcat

如果你还不具备以上的知识可以看我之前整理的Java笔记,里面的内容都有~记得关注哦~

JavaSE笔记_i_Water_boy的博客-优快云博客

JavaWeb笔记整理——HTML、CSS、JavaScript_html css java-优快云博客

JavaWeb开发笔记图解整理(二)——XML、Tomcat、Servlet_在浏览器输入两个网址访问到servlet-优快云博客

一、服务器渲染技术

我们在使用Servlet进行编写,服务端的内容时,有时候会根据用户的输入打印一个网页:

以上的通过服务器给浏览器打印一个网页,这个过程就是服务器渲染技术。

但是可以看到,这样来打印一个网页,不仅代码量十分多余,而且对于程序员来说也很不好维护,所以就出现了jsp技术,帮助程序员来更好的在服务器渲染一个网页。

二、JSP

jsp快速入门

我们新建一个javaweb工程项目,引入jsp相关的jar包(servlet 、jsp),并创建一个jsp文件:

可以看到,jsp文件的内容和html文件几乎一模一样,不同的地方在于第一行的文件头。

这里就是jsp的第一个特点:可以作为html文件处理,html的语法,在jsp中完全适用。

我们先编写一个简单的网页:

 启动服务器并在浏览器中看一看:

可以看到,和我们通常使用html编写的网页完全一样。

 而jsp和html必然也是不同的。

这就要说道jsp的第二个特点:jsp本质上是一个Servlet,性能和Java相关联。

也就是说jsp是Servlet和html的集合体,我们既可以在jsp中编写html标签,也可以在jsp中编写java代码:

输出结果:

我们通过在jsp中写<% %>标签,就可以在里面编写Java代码。

jsp注意事项和细节 

jsp不能像html一样通过浏览器直接访问,必须要先启动Tomcat服务器再在浏览器上显示。

jsp运行原理

第一次访问jsp页面的时候Tomcat会把jsp解析为一个.java文件,然后会把Java源文件编译为一个.class文件。

为了让大家看到jsp类的继承关系图,我们再引入一个jar包:

从这里我们就可以看到Jsp的继承关系,它本身就是继承了HttpServelt类的,所以它本身就是一个servlet,而它又有自己的一套方法,就是我们jsp的页面的方法。

jsp page指令

contentType表示jsp返回的数据类型,这里其实就是对应了我们servlet中的一个response.setContentType()方法,设置文件类型为这个"text/html;charset=UTF-8"。

language表示jsp翻译后支持什么样的语言,这里支持Java。

jsp三种脚本

声明脚本

<%! %> 这里可以对Java代码中的变量进行声明。

代码脚本

<% %>  这里编写Java代码

表达式脚本

<%=%> 这里可以填入Java代码中的变量的值,这样就可以再jsp页面中显示出来:

jsp内置对象(重要)

jsp内置对象指的是在Tomcat翻译jsp页面为一个Servlet后,内部提供的几个对象。内置对象可以直接使用,不需要手动定义。

1. out 向客户端输出数据,out.println("");

2. request 客户端的 http 请求

3. response 响应对象

4. session 会话对象

5. application 对应 ServletContext

6. pageContext jsp 页面的上下文,是一个域对象,可以 setAttribue(),作用范围只是本页面

7. exception 异常对象 , getMessage()

8. page 代表 jsp 这个实例本身

9. config 对应 ServletConfig

四大域对象

pageContext、request、session、application这四个对象都可以用来存储数据,但是他们的作用范围不同。

pageContext对象在本jsp页面中作用,在其他jsp页面中就会找不到:

request对象在一次http请求中有效,在下一个请求中,当前设置的属性就失效了。

 

 session对象在一次会话中有效,如果关闭浏览器(即开启下一个会话),当前设置的属性就失效。

application对象只要服务器保持开启状态就一直有效。

 

jsp的请求转发标签

page属性中填写的是/jsp1.jsp,也就是要转发到的web资源路径


 下一篇我们讲解EL表达式和jstl技术,来进一步优化我们的jsp页面~ 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值