J2EE逐项攻破(三)——JSP

前一篇博客提到Servlet技术,而本篇所要阐述的正是Servlet的一项扩展应用--JSP。

基础

产生背景

在Servlet中向客户端浏览器输出页面时,我们会使用相当多的诸如

PrintWriter out = resp.getWriter();

out.println("<html><head>");

out.println("...");

。。。

这样的语句,此番操作是极其繁琐的,往往我们更希望像操作html语言一样,在服务器端达到所见即所得的效果,到底有没有一种技术使我们通过直接写html标签的文本来完成向浏览器发送页面的效果呢?那便是JSP了。

概念剖析

JSP:Java Server Pages,基本实现上便是一种Servlet,便是说JSP也是在服务器端运行的一段程序。

当浏览器第一次访问jsp文件时,Servlet容器会自动将jsp文件代码编译成Servlet程序(也可以通过预编译工具提前对jsp进行编译),并进一步得到执行,在以后的访问中,如果jsp文件没有进行更改,则不对jsp文件进行编译,这也是为什么在第一次访问jsp资源时速度较慢的原因。

调用流程

1.客户端向服务器端提出请求;

2.服务器端处理请求

--生成请求对象HttpServletRequest(包含客户端信息)

--生成相应对象HttpServletResponse(包含服务器响应信息)

--调用JspServlet的service方法,会执行编译对应jsp文件的操作,生成对应的java、class文件,包含对应jsp文件的java类,继承自HttpJspBase。

--实例化对应jsp类

--调用其父类的service方法

--调用重写方法_jspService(该方法中包含对所写jsp页面编译后的程序)

3.生成响应页面,并将其传给Servlet容器。

4.Servlet将响应返回给客户端

5.Srvlet容器调用destory方法销毁实例化对象

流程图:

类似于Servlet,对于Jsp的请求,我们同样可以找到相关的配置信息

在tomcat文件\conf\web.xml下,有这样的配置信息

开篇已经提到,jsp其实就是servlet,而从配置文件看,根据url-pattern属性,我们便可以知道jsp无非是作为了一种文件后缀名被Tomcat捕获执行,这样其实换了另外了文件扩展名,做好配置文件,也可以同样实现jsp所要达到的效果。

这里需要强调的是客户端在第一次请求jsp页面时,Servlet容器会编译对应的jsp页面,生成相关java、class文件,这两个文件可以在Tomcat文件夹下可以找到:\work\Catalina\localhost\test_jsp\org\apache\jsp,打开java文件可以看到相关的方法,这样我们就明白了Tomcat其实是帮我们把写的jsp页面转换成了怎样的一个类。

特点

jsp与js

jsp页面的编写极像是html页面,其中可以夹带java脚本代码,形式上看,这点便像是html页面中写一些js代码一样,根本上的不同便在于jsp是运行在服务器端的一项技术,是为了servlet向浏览器发送html页面方便而设计,方便开发人员像写html页面一样去编写servlet。

而js最初的产生是为了实现在客户端进行表单验证,但后来的发展,其功能变得越来越强大,已经成为前段不可或缺的一项基本技术。

jsp与asp

1.jsp的跨平台性--java的运行机制所决定

2.web服务器支持--这点体会的并不是太深刻,先在这里占上吧

3.组件模型--jsp涉及到javabean的一些东东,而asp使用基于win32的com组件模型

4.脚本语言--JSP内可以写java或JS,而asp页面中使用VBScript或JScript

总结

该篇文章对jsp的响应技术做了介绍,其实在弄懂了servlet技术的前提下jsp也就不那么难了,对于jsp里一些细节上的东西,比如内置对象、标签等的内容随着在后面的逐步应用相信也会得到相应的理解和学习





J2EE逐项攻破(三)——JSP

时间: 2024-10-03 18:00:19

J2EE逐项攻破(三)——JSP的相关文章

J2EE动态网页技术—JSP

学习JSP,我们需要知道的是什么是JSP?JSP有什么特点?JSP与svelte有什么关系? 第一个概念:JSP是服务器端运行的一种脚本语言,这类似的语言还有CGI.ASP.PHP等.          CGI:采用单进程模式,每次请求服务器端的一个服务,都需要启动一个新的线程.所以当有多个用户同时进行CGI请求的时候,服务器就会打开多个进程,加重了服务器的负担,使服务器的执行效率变得越来越低下. ASP:是微软所开发一种后台脚本语言,特点简单易用,其局限性在于只能在微软的服务器平台上良好运行,

JSP总结(三)——JSP中九大内置对象(汇总)

注:后缀为汇总的基本上是整理一些网上的. 一.九大内置对象分类: 1. request  请求对象 类型 javax.servlet.ServletRequest        作用域 Request 2. response  响应对象 类型 javax.servlet.SrvletResponse       作用域  Page 3. pageContext   页面上下文对象 类型 javax.servlet.jsp.PageContext      作用域    Page 4. sessi

三 JSP 技术

一 JSP 概述 1. 本质:在 HTML 语言中混合 Java 程序代码,由服务器端 Java 语言引擎解释执行.其中,HTML 负责描述信息显示格式,JSP 负责描述处理逻辑. 2. JSP 代码运行环境:需要系统安装 JSP 引擎,最常用的如 Tmocat 和 Apache. 3. JSP 开发的典型方式: a) 直接使用:显示简单的动态效果. b) JSP+JavaBeans:需要与数据库连接,管理诸如账号之类的信息. c) JSP+JavaBeans+Servlet:将事物逻辑和表现逻

开启 J2EE(四)—JSP及运行原理

JSP之了解 全称Java Server Pages,通过在HTML中嵌套Java代码实现动态网页. 可以从下面四个方面去认识一下JSP: 1.动态内容模板 动态的HTML,接受处理客户的请求,可以填充不同的业务逻辑. 2.使用定制的Java代码扩展HTML 本质是对标签的动态更新.JSP生成的标签代码可以是HTML也可以是XML等其它标签语言. 3.被编译成Servlet 本质是Servlet,在开发阶段JSP是一种文本的脚本的基于模板化的语言,运行时会被编译成Servlet的格式,执行的生命

J2EE总结(三)——深入理解JSP开发工作原理

一.JSP及其工作原理 1.JSP(JavaServer page)Java服务器页面,从名字上看,它类似于ASP,并且是在服务端编写的一种技术. 2.用于开发动态web页面的技术 为什么它可以用来开发动态web页面呢?这与它在编写时用到的技术有关.它采用HTML来定义页面的结构,但是在jsp中允许编写Java代码,并且允许开发人员在页面中使用request,response,out等对象实现与浏览器的交互,所以jsp也是一种动态web页面开发技术. 举个例子: 输出当前的时间,在html中嵌套

[J2EE基础]初识JSP和Servlet

近期须要用到J2EE,就開始学习与J2EE相关的知识了. JSP是一种Javaserver端技术,它用于在网页上显示动态内容. Tomcat相关知识 JSP的运行过程 JSP的页面构成元素 JSP的凝视 静态和动态include JSP标准标签库 JSP的九大内置对象: Out:一个缓冲的输出流,向client输出内容 page:当前JSP页面本身,它是java.lang.Object类的实例 request:提取浏览器提交的信息 response:server对客户的请求做出响应.向clien

j2ee中如何拦截jsp页面?

加filter: public class RightFilter implements Filter { public void init(FilterConfig filterConfig) throws ServletException { } public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOExcep

咸鱼入门到放弃8--jsp&lt;三&gt;jsp内置对象

NO. 内置对象 类型 1 pageContext javax.servlet.jsp.PageContext 2 request javax.servlet.http.HttpServletRequest 3 response javax.servlet.http.HttpServletResponse 4 session javax.servlet.http.HttpSession 5 application javax.servlet.ServletContext 6 config jav

JSP应用开发 -------- 电纸书

第 1 章:JSP及其相关技术导航作者:邓子云,赫斌等    来源:希赛网    2014年02月28日 JSP程序员常用的技术 第1章 JSP及其相关技术导航 [本章专家知识导学] JSP是一种编程语言,也是一种动态网页开发技术,要用它完成实践项目工程的开发,需要掌握的知识点比较多.为了让读者对JSP这一开发技术的知识体系有个全面.清晰的了解,为后续的学习打下基础,本章将首先讲述作为一名JSP程序员应该掌握的技术知识体系和本书的内容安排.接着,对JSP技术进行了简要的介绍,使读者了解JSP技术