JSP概念和JSP原理

JSP概念

1.概念:

  Java Server Pages:java服务器端页面

    可以理解为:一个特殊的页面,其中既可以指定定义html标签,又可以定义java代码

    用于简化书写

  JSP(全称JavaServer Pages)是由Sun Microsystems公司主导创建的一种动态网页技术标准。JSP部署于网络服务器上,可以响应客户端发送的请求,

并根据请求内容动态地生成HTML、XML或其他格式文档的Web网页,然后返回给请求者。JSP技术以Java语言作为脚本语言,为用户的HTTP请求提供服务,

并能与服务器上的其它Java程序共同处理复杂的业务需求

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>$Title$</title>
  </head>
  <body>
  
  <%
    System.out.println("hello jsp");
  %>
  
  <h1>hi~jsp</h1>
  </body>
</html>

页面:

 

控制台: 

JSP原理

JSP本质上就是一个Servlet

1、浏览器想服务器发送请求,不管访问的是什么资源,其实都是在访问Servlet,所以当访问一个jsp页面时,其实也是在访问一个Servlet,

服务器在执行jsp的时候,首先把jsp翻译成一个Servlet,所以我们访问jsp时,其实不是在访问jsp,而是在访问jsp翻译过来的那个Servlet

 

 

(1)、当一个jsp文件第一次被访问的时候,jsp引擎(Servlet)首先会把这个jsp文件转换成一个java源文件。如果转换成功,Servlet就会用javac把这个java源文件编译成相应的.class文件,并将.class文件加载到内存中。如果该jsp页面已经有了对应的Servlet,则根据请求动态生成标准的Html页面。

(2)、创建一个Servlet实例,执行该实例的jspinit()方法。

(3)、创建并启用一个新的线程,用新的线程去调用jspService()方法。如果有多个客户请求该jsp文件,jsp文件的Servlet就会创建多个线程,每一个客户请求就会对应一个线程。

(4)、浏览器调用jsp文件的时候,Servlet就会把浏览器的请求和对浏览器的响应,都会封装成HttpServletRequest和HttpServletResponse对象,

并且同时调用Servlet实例中的.jspService()方法,把这两个对象作为参数传递到.jspService()方法中。

(5)、jspService()方法执行之后就会将Html 内容放回给客户端。

2、在jsp中编写的html代码和java代码都会编译成jspService()方法中午,在jsp中编写的java代码则会原封不动的翻译java代码。

而html代码则会翻译成out.write(“<html标签>\r\n”);的形式输出到浏览器。浏览器接收到html代码之后就会解析执行html代码。

 

 

posted @ 2022-08-11 15:14  魔光领域  阅读(52)  评论(0编辑  收藏  举报