×

jsp简介及工作原理 jsp js

jsp简介及工作原理(简述jsp 工作原理)

admin admin 发表于2022-09-04 10:27:34 浏览120 评论0

抢沙发发表评论

本文目录

简述jsp 工作原理


客户访问这个页面的时候,只要该文件没有发生过更改,JSP引擎就直接调用已经装载的Servlet。如果已经做过修改的话,那就会再次执行以上过程,翻译、编译并装载。其实这就是所谓的“第一人惩罚”。因为首次访问的时候要执行一系列以上的过程,所以会耗费一些时间;以后的访问就不会这样了。
jsp是由servlet发展过来的,你应该知道jsp主要是用来做页面显示的,早期jsp没出现之前servlet担当这一角色,servlet编写前端页面时非常繁琐效率低的,jsp实在servlet的基础上做了一层封装,更倾向于表现层,现在的servlet更倾向于业务逻辑层,这样做的目的也就是分层.把业务层和表现层的代码分离开来,便于开发和维护.jsp在运行的第一次速度会比较慢,因为第一次他需要编译成servlet的文件,实际上你运行的就是一个jsp翻译过来的servlet.

jsp的学习资料


--== 西安电子科技大学JSP在线视频课程 第31~35讲 ==--
本教程出自西安电子科技大学网络教育学院,由王晓华讲师主讲,共35讲。
具体内容如下:
网络程序设计 第1讲
网络基础介绍。网络程序设计发展过程及分类。
网络程序设计 第2讲
NetBIOS编程基础知识。邮槽和管道基础知识。SOCKET编程基础知识。
网络程序设计 第3讲
这节主要讲了SOCKET编程基础知识、服务器端编程步骤、客户机端编程步骤、HTML语法基础
网络程序设计 第4讲
这节主要讲了文字标签 、影像标签、背景标签 、链接标签 、表格标签 、序列标签 、表单标签 。
网络程序设计 第5讲
这节主要讲了大量文字输入标签;框架标签;JSP简介;安装配置JSP运行环境;如何启动Tomcat服务器 。
网络程序设计 第6讲
这节主要讲了JSP页面和服务目录;JSP的运行原理。
网络程序设计 第7讲
这节主要讲了JSP页面的基本结构;变量和方法的声明
网络程序设计 第8讲
这节主要讲了Java程序片;表达式;JSP中的注释.
网络程序设计 第9讲
这节主要讲了 JSP指令标签;page指令标签;include指令标签
网络程序设计 第10讲
这节主要讲了 3.7 JSP动作标签;3.7.1 include动作标签; 3.7.2 param动作标签;3.7.3 forward动作标签;3.7.4 plugin动作标签;3.7.5 useBean动作标签
网络程序设计 第11讲
这节主要讲了JSP内置对象;request对象的基本概念和用例 %
网络程序设计 第12讲
这节主要讲了request对象中处理处理汉字信息;request对象常用方法举例;request对象的用户注册实例;HTML表单和表格的概念和实例。%
网络程序设计 第13讲
这节主要讲了 4.2 response对象;4.2.1 动态响应contentType属性;4.2.2 response的HTTP文件头;4.2.3 response重定向;4.2.4 response的状 态行 %
网络程序设计 第14讲
这节主要讲了4.3 session对象;4.3.1 session对象的id;4.3.2 session对象与URL重写;4.3.3 session对象的常用方法
网络程序设计 第15讲
这节主要讲了session对象的常用方法
网络程序设计 第16讲
这节主要讲了利用session对象的计数器;out对象的基本概念和用例;application对象的基本概念和用例;application对象的基本方法;使用application对象的制作留言板。
网络程序设计 第17讲
这节主要讲了5.1 File类;File对象的构造方法;5.1.1 获取文件的属性;5.1.2 创建目录
这节主要讲了5.1.3 删除文件和目录;5.2 使用字节流读写文件;
网络程序设计 第19讲
这节主要讲了5.2.2 BufferedInputStream和BufferedOutputStream类;5.3 使用字符流读写文件;5.3.1 FiIeReader和FileWriter类;5.3.2 BufferedReader和BufferedWriter
网络程序设计 第20讲
这节主要讲了5.4 回压字符流;5.5 数据流
网络程序设计 第21讲
这节主要讲了5.6 对象流;Hashtable类的常用方法
网络程序设计 第22讲
这节主要讲了5.7 RandomAccessFile类;5.8 文件上传
网络程序设计 第23讲
这节主要讲了5.9 文件下载;5.10 分页读取文件;6.0 JSP中使用数据库;6.1 数据源
网络程序设计 第24讲
这节主要讲了6.2 DBC桥接器;6.3 查询记录;6.3.1 顺序查询
网络程序设计 第25讲
这节主要讲了6.3.2 游动查询;6.3.3 随机查询;6.3.4 参数查询;6.3.5 排序查询;6.3.6 分析结果集查询;6.3.7 使用通配符查询
网络程序设计 第26讲
这节主要讲了6.4 更新记录;6.5 添加记录;6.6 删除记录
网络程序设计 第27讲
这节主要讲了6.7 用结果集更新数据库中的表;6.8 分页显示记录;6.9 连接数据库的其他方式
网络程序设计 第28讲
这节主要讲了6.9.2 连接Sql2000数据库;6.10 查询Excel电子表格;6.11 使用同步连接.
网络程序设计 第29讲
这节主要讲了6.12 网上投票实例 (本讲绝大部分时间需参考书本)
网络程序设计 第30讲
这节主要讲了第七章 JSP与JavaBean;6.1 编写JavaBean和使用JavaBean;6.1.2 使用bean
网络程序设计 第31讲
这节主要讲了6.2 bean的存放目录;6.2.1 getProperty动作标签;6.2.2 setProperty动作标签
网络程序设计 第32讲
这节主要讲了6.2.2 setProperty动作标签;6.3 bean的辅助类
网络程序设计 第33讲
这节主要讲了6.4 JSP与bean结合的例子 (本讲绝大部分时间需参考书本)
网络程序设计 第34讲
这节主要讲了一、网络程序设计概述;二、 JSP简介;三、 JSP语法 ;四、 JSP内置对象
网络程序设计 第35讲
这节主要讲了五、JSP中的文件操作;六、JSP中使用数据库;七、JSP与JavaBean;八、大作业基本形式
本次提供的是第31~35讲!
Good Luck!Thanks!^_^
Download From www.5udm.Com
很好的资料,靠你自己了

Tomcat中JSP引擎工作原理


JSP运行环境:执行JSP代码需要在服务器上安装JSP引擎,比较常见的引擎有WebLogic和Tomcat。把这些支持JSP的web服务器配置好后。就可以再客户端通过浏览器来访问JSP页面了。默认端口一般是7001.JSP生命周期:JSP处理请求的方法就是把这些请求都统一看做Servlet。由于这个原因,JSP的很多功能和生命周期,都由Java Servlet技术标准定义的。这种限制,在动态内容方面更加明显。所以学习JSP的时候,需要温习Servlet的内容和标准。JSP网络应用服务器框架:在符合J2EE规范的服务器构建起来之后,就可以编写JSP页面了,在HTML页面中嵌入JSP脚本,该页面就成为JSP页面了。JSP脚本用特定的标记括起来,如《%...%》,或者《JSP》…《/JSP》。JSP的工作流程如下:当其读到HTML的代码的时候,就直接输出到客户端,而如果读到嵌入JSP脚本的时候,就需要对这些脚本进行另外的翻译和处理,得到输出之后再输出到客户端。下面通过一个简单页面编写来了解JSP网络应用的框架:1.JSP客户端交互JSP的大部分工作就是与客户端进行交互。客户端一般指的是浏览器,它们与置于服务器端得JSP页面进行交互。JSP脚本中所有的Java语句都是在服务器执行,服务器接受客户端提交的请求,通过一定的处理之后,将结果返回给客户端,客户端得到的仅仅是HTML代码。下面是一个JSP的HelloWorld程序代码:《html》 《head》 《title》HelloWorld for JSP《/title》 《/head》 《body》 《h1》HelloWord for JSP《/h1》 《%out.println(“《h3》Hello World!《/h3》“);%》 《/body》 《/html》 2.交互过程的流程在一般的客户端和服务器端的交互中,是用HTTP协议,客户端通过下面4个步骤也服务器段进行交互:(1)客户端和服务器端建立连接(2)发送客户端请求(3)服务器返回应答给客户(4)客户端关闭连接所有的请求都是由客户端主动发出的,而服务器一直出于被动的监听状态。用户在浏览器键入要访问的地址,按回车键确认后,浏览器开始与服务器建立连接,从这时开始,就开始了一次交互过程。浏览器通过一段时间的等待后,从服务器得到响应,并且把相应的信息以HTML方式呈现给用户。用户在浏览网站的过程中,实际上包含了很多这样的交互应答过程。在客户端与JSP页面的交互过程中,只有服务器接收请求和返回应答的动作可能不一样,其他与上面过程基本一致。基本情况如下:(1)服务器在收到一个请求后首先要分析这个请求,如果请求的页面只是一般的HTML页面,服务器就直接读出HTML页面并返回给客户端(2)如果客户端请求的是JSP页面,服务器调用JSP引擎翻译处理所请求的JSP页面,并将翻译和处理之后的HTML返回给客户端(3)如果遇到JavaBeans组件,JSP引擎将调用相应的JavaBeans组件,得到JavaBeans的返回值,最后返回给JSP页面3.JSP引擎的工作原理当一个JSP页面第一次被访问的时候,JSP引擎将执行以下步骤:(1)将JSP页面翻译成一个Servlet,这个Servlet是一个java文件,同时也是一个完整的java程序(2)JSP引擎调用java编译器对这个Servlet进行编译,得到可执行文件class(3)JSP引擎调用java虚拟机来解释执行class文件,生成向客户端发送的应答,然后发送给客户端以上三个步骤仅仅在JSP页面第一次被访问时才会执行,以后的访问速度会因为class文件已经生成而大大提高。当JSP引擎街道一个客户端的访问请求时,首先判断请求的JSP页面是否比对应的Servlet新,如果新,对应的JSP需要重新编译。4.对请求信息的处理在大部分的交互过程中,一个JSP页面首先对用户提出的请求进行分析,然后从请求中得到有用的数据,比如接收用户提交的数据或者请求的方法,然后进行相应的处理。而这就需要了解得到传入参数的方法和得到用户其他信息的方法。(1)得到传入参数的方法在交互过程中,服务器必须从客户端得到一些数据,来帮助处理过程的进行。这些数据包括用户身份验证数据(如用户名、密码等)以及其他中要信息。而这些数据的载体,就是用户提交的请求。请求的组成主要有两部分,一是头信息。头信息包含了以下信息:请求的方法(GET和POST)、请求的URL和浏览器信息。其他信息包含了一些数据信息。首先要了解的是GET方法发送请求时,这种方法是客户端用来向服务器段请求信息的,所以在请求中不包含信息体。用户只能把请求的内容作为参数附加在URL后面进行发送,参数之间用“&”符号隔开,如代码:一个典型的GET请求的表单get.html《html》 《head》 《title》Get《/title》 《/head》 《body》 《h1》Get Method《/h1》 《form action = “submit.jsp“ method = “GET“》 username《input name = “uername“ value = “aaa“》《br》 password《inpput type = password name = “password“ value = “111111“》《br》 《input type = submit value = “submit“》 《/form》 《/body》 《/html》 (代码中有一个表单,表单在定义的时候,定义了属性method=“GET”,这表明表单提交的方法是GET。这个表单向服务器提交两个参数,其中一个是username,缺省值为aaa,另外一个是password,其缺省值是111111。)这个页面只是得到了输入数据,只有submit.JSP才能实现提交这个页面的数据。这就是需要用到JSP了,代码如下:submit.JSP《html》 《head》 《title》submit《/title》 《/head》 《body》 《h1》submit《/h1》 request method:《%=request.getMethod() %》《br》 user name:《%=request.getParameter(“user“) %》《br》 password:《%=request.getParameter(“password“) %》《br》 《/body》 《/html》 在这个JSP页面中是用了JSP的内置对象request的两个方法,一个是getMethod,用来获取当前请求的类型,另一个是getParameter,用来获取指定参数的值。在get.html中单击submit按钮,就可以显示表单请求方法,用户名以及密码等信息。(2)得到其他信息的方法得到非用户输入的其他参数信息,就需要用到其他的方法。如下所示是一个得到客户端信息的简单程序。根据这个程序我们可以初步了解如何得到客户端信息的大致思路。代码如下:《html》 《head》 《title》得到消息《/title》 《/head》 《body》 《h1》请求中所包含的URL《/h1》《br》 《%=request.getQueryString()%》《br》 《/body》 《/html》
-jsp

简述JSP的工作原理和访问数据库的一般步骤


实际开发中以MVC设计模式为主,强制性地使应用程序的输入、处理和输出分开。
现在的JSP页面中的代码已经减少了很多,只是简单地完成了输出,实际上在开发中,JSP中最好只包含一下3中类型的代码:
•接收属性:接收从Servlet传递过来的属性。
•判断语句:判断传递到JSP中的属性是否存在。
•输出内容:使用迭代或者VO进行输出。
在JSP页面中唯一允许导入的包只能是java.util包,值要能把握住这一点,即可开发出一个简洁、清晰的JSP页面。
访问数据库要用到jdbc技术。
首先加载驱动:Class.forName(“驱动包.类名称“);
然后获得连接:Connection conn = DriverManager.getConnection(“连接路径,端口,数据库名“,“数据库用户名“,“密码“);
然后获得PreparedStatement:PreparedStatement pstmt = conn.prepareStatement(“sql语句“);
之后就按照检索和增删改的区别分别执行不同的代码。
-js

jsp的工作原理是什么


JSP工作原理 原创
2019-03-04 14:01:10
2点赞

lmm0513
码龄3年
关注
1. 当用户访问一个JSP页面时,会向一个Servlet容器(Tomcat等)发出请求;
2. 如果页面有所改动,则servlet容器首先要把JSP页面(假设为test.jsp)转化为Servlet代码(test.java),再将其转化为class文件(test.class文件);这种过程(编译)会耗费时间
3. JSP容器负责调用从JSP转换来的servlet,这些servlet负责提供服务相应用户请求;如果用户有多个请求,则容器会建立多个线程处理多个请求;
4. 容器执行字节码文件(包括调用的servlet:formprocessor.java字节码),并将其结果返回到客户端;(返回的最终方式是有servlet输出html格式的文件流)
写评论
评论
2
2
分享
-jsp

jsp的执行过程是怎样的


JSP的执行过程

JSP的执行过程主要可以分为以下几点:

客户端发出请求。

Web容器将JSP转译成Servlet源代码。

Web容器将产生的源代码进行编译。

Web容器加载编译后的代码并执行。

把执行结果响应至客户端。

过程介绍

客户端发出请求,请求为JSP,web容器就会找出相应的servlet进行处理。

将servlet转成字节码文件。

将字节码文件加载到web容器里。

这时会在web容器里建立实例。

进行初始化。

通过service接受请求。

然后web容器会自动产生两个对象servlet和service最后进行销毁。

扩展资料:

JSP的运行原理

WEB容器(Servlet引擎)接收到以。jsp为扩展名的URL的访问请求时,它将把该访问请求交给JSP引擎去处理。Tomcat中的JSP引擎就是一个Servlet程序,它负责解释和执行JSP页面。

每个JSP页面在第一次被访问时,JSP引擎将它翻译成一个Servlet源程序,接着再把这个Servlet源程序编译成Servlet的class类文件,然后再由WEB容器(Servlet引擎)像调用普通Servlet程序一样的方式来装载和解释执行这个由JSP页面翻译成的Servlet程序。-js

Tomcat 5.x把为JSP页面创建的Servlet源文件和class类文件放置在“《TOMCAT_HOME》\work\Catalina\《主机名》\《应用程序名》\”目录中,

Tomcat将JSP页面翻译成的Servlet的包名为org.apache.jsp.《JSP页面在WEB应用程序内的目录名》。

JSP规范也没有明确要求JSP中的脚本程序代码必须采用Java语言,JSP中的脚本程序代码可以采用Java语言之外的其他脚本语言来编写,但是,JSP页面最终必须转换成Java Servlet程序。

可以在WEB应用程序正式发布之前,将其中的所有JSP页面预先编译成Servlet程序。

参考资料:

百度百科——JSP(java服务器页面)


执行JSP页面的原理是什么


执行JSP页面的原理:

在一个JSP文件第一次被请求时,JSP引擎把该JSP文件转换成为一个Servlet。而这个引擎本身也是一个Servlet。JSP的运行过程如下所示:

  1. JSP引擎先把该JSP文件转换成一个Java源文件(Servlet),在转换时如果发现JSP文件有任何语法错误,转换过程将中断,并向服务端和客户端输出出错信息。

  2. 如果转换成功,JSP引擎用javac把该Java源文件编译成相应的class文件。

  3. 创建一个该Servlet(JSP页面的转换结果)的实例,该Servlet的jspInit()方法被执行,jspInit()方法在Servlet的生命周期中只被执行一次。

  4. jspService()方法被调用来处理客户端的请求。对每一个请求,JSP引擎创建一个新的线程来处理该请求。如果有多个客户端同时请求该JSP文件,则JSP引擎会创建多个线程。每个客户端请求对应一个线程。以多线程方式执行可以大大降低对系统的资源需求,提高系统的并发量及响应时间。但不过也应该注意多线程的编程限制,由于该Servlet始终驻于内存,所以响应是非常快的。-jsp

  5. 如果.jsp文件被修改了,服务器将根据设置决定是否对该文件重新编译,如果需要重新编译,则将编译结果取代内存中的Servlet,并继续上述处理过程。

  6. 虽然JSP效率很高,但在第一次调用时由于需要转换和编译而有一些轻微的延 迟。此外,在任何时候如果由于系统资源不足的原因,JSP引擎将以某种不确定的方式将Servlet从内存中移去。当这种情况发生时jspDestroy()方法首先被调用。-js

  7. 然后Servlet实例便被标记加入“垃圾收集”处理。可在jspInit()中进行一些初始化工作,如建立与数据库的连接,或建立网络连接,从配置文件中取一些参数等,在jspDestory()中释放相应的资源。-jsp


简述JSP运行原理


SP部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成HTML、XML或其他格式文档的Web网页,然后返回给请求者。JSP技术以Java语言作为脚本语言,为用户的HTTP请求提供服务,并能与服务器上的其它Java程序共同处理复杂的业务需求。-js

JSP将Java代码和特定变动内容嵌入到静态的页面中,实现以静态页面为模板,动态生成其中的部分内容。JSP引入了被称为“JSP动作”的XML标签,用来调用内建功能。另外,可以创建JSP标签库,然后像使用标准HTML或XML标签一样使用它们。-jsp

标签库能增强功能和服务器性能,而且不受跨平台问题的限制。JSP文件在运行时会被其编译器转换成更原始的Servlet代码。JSP编译器可以把JSP文件编译成用Java代码写的Servlet,然后再由Java编译器来编译成能快速执行的二进制机器码,也可以直接编译成二进制码。-js

扩展资料:

特点

1、能以模板化的方式简单、高效地添加动态网页内容。

2、可利用JavaBean和标签库技术复用常用的功能代码(设计好的组件容易实现重复利用,减少重复劳动)。标签库不仅带有通用的内置标签(JSTL),而且支持可扩展功能的自定义标签。

3、有良好的工具支持。

4、继承了Java语言的相对易用性。

5、继承了Java的跨平台优势,实现“一次编写,处处运行”。因为支持Java及其相关技术的开发平台多,网站开发人员可以选择在最适合自己的系统平台上进行JSP开发;不同环境下开发的JSP项目,在所有客户端上都能顺利访问。-jsp

6、页面中的动(控制变动内容的部分)/静(内容不需变动的部分)区域以分散但又有序的形式组合在一起,能使人更直观地看出页面代码的整体结构,也使得设计页面效果和程序逻辑这2部分工作容易分离(外观视图与逻辑分离)。从而方便分配人员并发挥各自长处,实现高效地分工合作。-js

7、可与其它企业级Java技术相互配合。JSP可以只专门负责页面中的数据呈现,实现分层开发。


JSP运行原理什么


1、当用户访问一个JSP页面时,会向一个Servlet容器(Tomcat等)发出请求;

2、如果页面有所改动,则servlet容器首先要把JSP页面(假设为test.jsp)转化为Servlet代码(test.java),再将其转化为class文件(test.class文件);这种过程(编译)会耗费时间-jsp

3、JSP容器负责调用从JSP转换来的servlet,这些servlet负责提供服务相应用户请求;如果用户有多个请求,则容器会建立多个线程处理多个请求;

4、容器执行字节码文件(包括调用的servlet:formprocessor.java字节码),并将其结果返回到客户端(返回的最终方式是有servlet输出html格式的文件流)。

扩展资料:

语言优点:

1、一次编写,到处运行。除了系统之外,代码不用做任何更改。

2、系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP的局限性JSP的优势是显而易见的。

3、强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。-js

4、多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。

5、支持服务器端组件。web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供web页面调用,以增强系统性能。JSP可以使用成熟的JAVA BEANS 组件来实现复杂商务功能。-jsp

参考资料来源:百度百科--JSP