JSP学习笔记02 - JSP页面及运行原理

1、JSP页面

1、JSP页面简介

一个JSP页面中可以有普通的HTML标记和JSP规定的JSP标记,以及通过标记符号
<% %>加入的Java程序片。一个JSP页面按文本文件保存,扩展名是jsp
在传统的HTML页面文件中加入Java程序片JSP标记就构成了一个JSP页面。一个JSP页面可由5种元素组合而成:
(1)普通的HTML标记符
(2)JSP标记,如指令标记、动作标记。
(3)变量和方法的声明
(4)Java程序片
(5)Java表达式
注:

  • 文件的名字必须符合标识符规定
  • 文件名字区大小写。
2、设置Web服务目录

必须将编写好的JSP页面文件保存到Tomcat服务器的某个Web服务目录中,只有这样,远程的用户才可以通过浏览器访问该Tomcat服务器上的JSP页面。
人们常说的一个网站,实际上就是一个Web服务目录

  • 根目录
    如果Tomcat服务器的安装目录E:\apache-tomcat-8.5.50\,那么Tomcat的Web服务目录根目录E:\apache-tomcat-8.5.50\webapps\ROOT
    用户用http://localhost:8080/test.jsp访问根目录下的JSP页面test.jsp

  • webapps下的Web服务目录
    Tomcat服务器安装目录webapps下的任何一个子目录都可以作为一个Web服务目录。比如在webapps下新建子目录ch1,那么ch1就成为一个Web服务目录
    将JSP页面文件保存到webapps下的Web服务目录中,那么应当在浏览器器的地址栏中输入Tomcat服务器IP地址或域名)、端口号Web服务目录JSP页面的名字。
    比如test.jsp保存到D:\apache-tomcat-8.0.3\webapps\ch1中,
    那么,浏览器的地址栏中输入的内容为:http://localhost:8080/ch1/test.jsp。

  • 新建Web服务目录
    可以将Tomcat服务器所在计算机的某个目录(非webapps下的子目录)设置成一个Web服务目录,并为该Web服务目录指定虚拟目录,即隐藏Web服务目录的实际位置,用户只能通过虚拟目录访问Web服务目录中的JSP页面
    例如:将test.jsp保存到任意目录如D:\ch1中,并让用户分别使用myjsp虚拟目录访问此Web服务目录,那么

  1. 用记事本打开conf文件夹中的主配置文件server.xml,在</Host>的前面加入:
<Context path="/myjsp" docBase="D:\ch1" debug="0" reloadable="true" />
  1. 保存并重新启动 tomcat服务器。
    在浏览器的地址栏中输入http://localhost:8080/myjsp/test.jsp就可以正确的访问D:\ch1test.jsp页面。

二、JSP运行原理

当服务器上的一个JSP页面第一次请求执行时,服务器上的JSP引擎首先将JSP页面文件转译成一个java文件,并编译这个java文件生成字节码文件,然后执行字节码文件响应客户的请求
字节码文件的主要工作是:

  • 把JSP页面中普通的HTML标记符号交给客户的浏览器执行显示
  • 负责处理JSP标记,并将有关的处理结果发送到客户的浏览器
  • 执行“<%”和“%>”之间的Java程序片(JSP页面中的动态部分),并把执行结果交给客户的浏览器显示。
  • 多个客户请求一个JSP页面时,Tomcat服务器为每个客户启动一个线程,该线程负责执行常驻内存的字节码文件来响应相应客户的请求。这些线程由Tomcat服务器来管理,将CPU的使用权在各个线程之间快速切换,以保证每个线程都有机会执行字节码文件
    JSP的处理过程:
    jsp运行原理
    注意:如果对JSP页面进行了修改、保存,那么tomcat服务器会生成新的字节码文件。
    实例:

三、JSP与Java Servlet的关系

Java Servlet是Java 语言的一部分,提供了用于服务器编程APIJava Servlet就是编写在服务器端创建对象Java类,习惯上称之为Servlet类,Servlet类的对象习惯上称之为一个servlet
JSP技术就是以Java Servlet为基础,提供了Java Servlet的几乎所有好处,当客户请求一个JSP页面时,Tomcat服务器自动生成Java文件(如first1$jsp.java)、编译Java文件,并用编译得到的字节码文件服务器端创建一个servlet。但是JSP技术不是Java Servlet技术的全部,它只是Java Servlet技术的一个成功应用
对于某些Web应用,就可能需要JSP+Javabean+servlet来完成,即需要服务器再创建一些servlet对象配合JSP页面来完成整个Web应用程序的工作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值