【JSP】第一个JSP程序:Hello,JSP

2023-11-07

JSP就是Servlet。如果不会Servlet,就无法理解JSP。通过本文,你将学到如何实现第一个JSP程序,以及JSP程序的实现原理。


JSP全称是Java Server Pages,它和Servlet技术一样,都是SUN公司定义的一种用于开发动态web资源的技术。

JSP诞生背景

虽然servlet技术能够开发出动态效果的网页,但是有一个问题,就是通过servlet开发时很冗杂,例如,下一个如下页面:
在这里插入图片描述

需要在一个Servlet类中写如此多得输出语句,使得编写很繁琐;尤其是当做一个庞大的网站时,更是显得无力。
于是,SUN公司推出了一种JSP技术:在JSP页面写HTML和Java代码。JSP自动完成上图中的转换。提高了程序员的开发效率。

JSP核心特性:

  1. JSP的核心就是servlet!!!
  2. 写JSP就像在写html,但JSP技术允许在页面中嵌套java代码,为用户提供动态数据。
  3. 相比servlet而言,servlet很难对数据进行排版,而JSP除了可以用java代码产生动态数据的同时,也很容易对数据进行排版。

第一个JSP程序

创建一个dynamic web project,在【WebContent】的根目录下利用eclipse的工具模板创建一个jsp文件;

第一个JSP程序

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
    
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<font color=red>这是我的第一个JSP页面。</font>
</body>
</html>

执行结果:
在这里插入图片描述

第一行代码解析:

  1. language指定页面中使用哪种作为第二语言;
  2. contentType、charset:告诉浏览器我是什么内容类型,以及使用什么编码
  3. pageEncoding:JSP内容编码;

JSP实现原理

JSP的特点
1)JSP的运行必须交给tomcat服务器!!!!
tomcat的work目录: tomcat服务器存放JSP运行时的临时文件
2)JSP页面既可以写html代码,也可以写java代码
(html页面不能写java代码 。而JSP页面可以写java代码)

执行过程

问题: 访问http://localhost:8080/day12/hello.JSP 如何显示效果?

  1. 访问到hello.JSP页面,tomcat扫描到JSP文件,在%tomcat%/work把JSP文件翻译成java源文件,并存于 ”Tomcat安装目录/work/Catalina/localhost/项目名/org/apache/JSP” 里;
    (hello.JSP -> hello_JSP.java) (翻译
  2. tomcat服务器把java源文件编译成class字节码文件 (编译
    (hello_JSP.java -> hello_JSP.class)
  3. tomcat服务器构造hello_JSP类对象(反射)
  4. tomcat服务器调用hello_JSP类里面方法,返回内容显示到浏览器。
    在这里插入图片描述

为什么JSP就是Servlet

JSP把01.hello.JSP翻译的java文件:
在这里插入图片描述
其中的HttpJSPBase类():
在这里插入图片描述

public abstract class org.apache.jasper.runtime.HttpJSPBase 
				extends javax.servlet.http.HttpServlet 
					implements javax.servlet.JSP.HttpJSPPage {
}

结论:

  1. JSP就是一个servlet程序!!!
  2. servlet的技术可以用在JSP程序中!
  3. JSP的技术并不是全部适用于servlet程序!

生命周期

Servlet的生命周期:
1)构造方法(第1次访问)
2)init方法(第1次访问)
3)service方法
4)destroy方法

JSP的生命周期

  1. 翻译: JSP->java文件
  2. 编译: java文件->class文件(servlet程序)
  3. 走Servlet的生命周期
    1. 构造方法(第1次访问)
    2. init方法(第1次访问):在JSP中叫:_JSPInit()
    3. service方法:_JSPService()
    4. destroy方法:_JSPDestroy()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【JSP】第一个JSP程序:Hello,JSP 的相关文章

随机推荐