JSP基础①

网友投稿 264 2022-09-16

JSP基础①

文章目录

​​JSP初识​​​​JSP快速入门​​

​​搭建环境​​​​导入 JSP 依赖​​​​创建JSP页面​​

​​JSP原理​​

JSP初识

JSP(全称:Java Server Pages):Java 服务端页面。是一种动态的网页技术,其中既可以定义 HTML、JS、CSS等静态内容,还可以定义 Java代码的动态内容,也就是 ​​JSP = HTML + Java​​。如下就是jsp代码

Title

JSP,Hello World

<% System.out.println("hello,jsp~"); %>

上面代码 ​​h1​​ 标签内容是展示在页面上,而 Java 的输出语句是输出在 idea 的控制台。

JSP 作用:简化开发,避免了在Servlet中直接输出HTML标签。

我们可以通过一个例子来了解它的好处:

比如我们现在我们想要在打开网页之后动态的显示用户名,如下:

如果用Servlet来实现:

上面的代码有大量使用到 ​​writer​​ 对象向页面写标签内容,这样我们的代码就显得很麻烦;将来如果展示的效果出现了问题,排错也显得有点力不从心。如果用JSP来实现:

上面代码可以看到里面基本都是 ​​HTML​​​ 标签,而动态数据使用 Java 代码进行展示;这样操作看起来要比用 ​​servlet​​ 实现要舒服很多。

JSP快速入门

想要使用JSP只需要三步:

搭建环境导入JSP依赖创建JSP页面

搭建环境

创建一个maven的 web 项目,项目结构如下:

​​pom.xml​​ 文件内容如下:

Title

hello jsp

<% System.out.println("hello,jsp~"); %>

启动服务器并在浏览器地址栏输入 ​​​​idea​​​ 的控制台看到输出的 ​​hello,jsp~​​ 内容。

JSP原理

我们之前说 JSP 就是一个页面,那么在 JSP 中写 ​​html​​​ 标签,我们能理解,但是为什么还可以写 ​​Java​​ 代码呢?

因为 JSP 本质上就是一个 Servlet。接下来我们聊聊访问jsp时的流程

浏览器第一次访问​​hello.jsp​​ 页面​​tomcat​​​ 会将​​hello.jsp​​​ 转换为名为​​hello_jsp.java​​​ 的一个​​Servlet​​​​tomcat​​​ 再将转换的​​servlet​​​ 编译成字节码文件​​hello_jsp.class​​​​tomcat​​ 会执行该字节码文件,向外提供服务

我们可以到项目所在磁盘目录下找 ​​target\tomcat\work\Tomcat\localhost\jsp-demo\org\apache\jsp​​​ 目录,而这个目录下就能看到转换后的 ​​servlet​​

打开 ​​hello_jsp.java​​ 文件,来查看里面的代码

由上面的类的继承关系可以看到继承了名为 ​​HttpJspBase​​​ 这个类,那我们在看该类的继承关系。到资料中的找如下目录: ​​资料\tomcat源码\apache-tomcat-8.5.68-src\java\org\apache\jasper\runtime​​​ ,该目录下就有 ​​HttpJspBase​​ 类,查看该类的继承关系

可以看到该类继承了 ​​HttpServlet​​​ ;那么 ​​hello_jsp​​​ 这个类就间接的继承了 ​​HttpServlet​​​ ,也就说明 ​​hello_jsp​​​ 是一个 ​​servlet​​。

继续阅读 ​​hello_jsp​​​ 类的代码,可以看到有一个名为 ​​_jspService()​​​ 的方法,该方法就是每次访问 ​​jsp​​​ 时自动执行的方法,和 ​​servlet​​​ 中的 ​​service​​ 方法一样 。

而在 ​​_jspService()​​ 方法中可以看到往浏览器写标签的代码:

以前我们自己写 ​​servlet​​​ 时,这部分代码是由我们自己来写,现在有了 ​​jsp​​ 后,由tomcat完成这部分功能。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:年味儿有了新变化,梅见青梅酒出现在年轻人的年货清单上!
下一篇:JSP基础②
相关文章

 发表评论

暂时没有评论,来抢沙发吧~