`

servlet和jsp核心编程(第2版)第十一章jsp脚本元素的调用学习笔记

阅读更多
第十一章 用JSP脚本元素调用java代码
核心方法
1.JSP页面中的java代码的数量应该有所限制,至少可以使用一些辅助类,然后在JSP页面中调用它们,经验更丰富之后,应该考虑使用bean,MVC和定制标签。

2.将所有的类都放在包中。

3.对于jsp页面中的初始化和清理工作,可以使用jsp声明覆盖jspInit或jspDestroy,不要直接使用init或destroy。

4.使用单独的java类而非JSP声明来定义绝大多数方法。
学习笔记
、在JSP中调用Java代码
1.首先什么是JSP脚本元素的类型:JSP脚本元素用来插入Java代码,这些Java代码将出现在由当前JSP页面生成的Servlet中。jsp的页面组成可以是静态类容,指令,表达式,小脚本,声明,标注动作和注释。其中表达式(expression),小脚本(scriptlet);声明(declaration )统称为Jsp脚本元素。

2.使用什么样的解决方案,即我们在jsp中直接调用java代码还是间接使用java代码、又或者使用bean、使用MVC、还是使用struts框架,这些取决于项目的大小和复杂程度。

、JSP表达式的应用
1.首先一个实例:Current time:<%=new java.util.Date()%>该表达式在求值、转换成字符串后,插入到页面中。求值是在运行期间执行(我们也可以理解为,我们在访问该页面时执行)。

2.理解这个JSP表达式的后台运作,JSP表达式基本上成为由JSP页面生成的servlet中的print语句。常规的html语句转换为print语句,同时用双引号将文本引起来。而JSP表达式转换为没有双引号的print语句。这些print语句没有放在doGet方法中,而是放在一个新的方法_jspService中,无论是GET和POST请求,service方法都会调用_jspService方法。比如
<H1>A Random 
Number</H1><%=Math.random()%>
这两句就转换为
public void _jspService(HttpServletRequest request,HttpServletResponse response) Throws ServletException,IOException{
	response.setContentType("text/html");
	HttpSession session = request.getSession();
	JspWriter out = response.getWriter();//JSP页面中的out是一个JspWriter
	out.println("<H1>A Random Number</H1>"); 
	out.println(Math.random());	
}


3.如何查看这些JSP转换的servlet代码呢,一般路径为:install_dir/work/Standalone/localhost/_ 根据Tomcat的版本不同,路径也不一样,在我的机器上为C:\apache-tomcat-6.0.26\work\Catalina\localhost  然后进入项目名,选择所需查看的文件即可。

、编写scriptlet(小脚本)
1.<%java code%>
我们可以将任意代码插入到servlet中的_jspService方法中(由service方法调用)。注意JSP表达式不需要分号结尾,而大多数JSP 小脚本需要添加分号结尾。因为一般JSP表达式需要放在out或是write中,所以如果加上了分号,就等于out.print(;)这样显然不对。

2.理解JSP小脚本的后台运作,直接插入到_jspService方法中,不需要修改。

、使用声明
1.使用JSP声明可以将方法或字段的定义插入到servlet类的主定义中,位于对请求进行处理的_jspService方法之外。

2.我们一般不在JSP声明中覆盖service,doGet和doPost方法。因为这些方法会在_jspService中调用。而我们可以覆盖jspInit或jspDestroy方法完成初始化和清理工作。

3.当然每行声明的最后不要忘记写上分号。

、预定义变量
1._jspService自动定义了8个局部变量,有时也称隐含变量,这些常量是局部变量,不是常量。所以如果我们编写的代码不属于_jspService,我们就不能使用这些代码,所以,我们在jsp声明中就不能使用这些常量。

2.request和response,这两个变量就是分别关联HttpServletRequest和HttpServletRespose,这里要注意一般输出流会使用缓冲,所以我们可以在jsp页面的主体内设置HTTP状态代码和响应报头,也就是可以先编写有关内容,再编写相应的HTTP状态代码和响
应报头。

3.out,这个变量是用来将输出发送到客户程序的Writer,但是,这里使用的不是PrintWriter,而是JspWriter类型,它对输出的内容进行缓存。
4.Session,和HttpSession关联。

5.Application,就是一个ServletContext类型的变量,用来存放servlet和JSP页面的持续性数据,而我们如果将数据存储在实例变量中,则实例变量只能由存储数据的同一个servlet使用。

6.Config,是该页的ServletConfig对象,原则上,我们可以使用它读取初始化参数,但在实践中,初始化参数在jspInit中读取。而不是在_jspService。

7.PageContext,这个PageContext类,我们可以通过它访问页面的许多属性。我们可以调用getRequest,getReponse,getOut,getSession等方法,如果方法或构造函数需要访问多个与页面相关的对象,我们可以传递pageContext对象,这要比我们传递session,request,response,out等方便得多。

8.Page就是this。没有多大用处,创建它是为了在脚本语言还不是java的时代用做占位符。
分享到:
评论

相关推荐

    [JSP&Servlet;学习笔记(第2版)]

    **JSP(Java Server Pages)与Servlet...这个**[JSP&Servlet学习笔记(第2版)]**会涵盖这些主题,并可能包括示例代码、最佳实践和常见问题解答,帮助读者全面掌握JSP和Servlet的使用技巧,进一步提升Java Web开发能力。

    jsp&servlet;学习笔记_第2版_光盘(看评论酌情下载)

    学习笔记"及提供的源码,开发者可以全面了解JSP和Servlet的工作原理,学会如何创建动态Web应用,同时提升解决问题和实际开发的能力。结合实际项目练习,能够更好地将理论知识转化为实践经验,从而在Java Web开发领域...

    林学良Jsp&Servlet学习笔记

    **JSP(Java Server Pages)与Servlet是Java Web开发中的两个核心技术,它们在构建动态网页和处理客户端请求方面起着至关重要的作用。** **JSP技术:** JSP是一种服务器端脚本语言,用于创建动态网页。它允许开发者...

    JSP&Servlet学习笔记.pdf

    由于这部分内容是电子书中的学习笔记,电子书的内容并未直接给出,因此只能根据电子书的标题“JSP&Servlet学习笔记”和描述来推测可能涉及的知识点,而没有具体的电子书内容可以分析。如需进一步学习,建议查阅相关...

    JSP Servlet 学习笔记源码

    本学习笔记源码提供了全面的学习资源,涵盖了这两个技术的基础到高级应用,旨在帮助开发者深入理解并熟练掌握JSP和Servlet。 1. **JSP基础**: JSP是一种服务器端的脚本语言,它将HTML、CSS、JavaScript与Java代码...

    Jsp&Servlet学习笔记中的完整范例Gossip

    JSP的核心概念包括指令(directives)、动作(actions)、脚本元素(scripting elements)和内置对象(built-in objects)。 1. **指令**:如`&lt;%@ page %&gt;`, `&lt;%@ include %&gt;`, `&lt;jsp:include&gt;`等,用于设置页面...

    《Jsp&Servlet学习笔记 第二版》源码

    《Jsp&Servlet学习笔记 第二版》源码是一份宝贵的学习资源,它涵盖了Java Web开发中的核心组件——JSP(JavaServer Pages)和Servlet。这份源码集合旨在帮助开发者深入理解这两个技术,并通过实际的代码示例进行实践...

    jsp-servlet笔记源码

    **JSP(JavaServer Pages)与Servlet是Java Web开发中的两个核心技术,它们在构建动态Web应用程序中发挥着关键作用。本笔记源码深入探讨了两者之间的衔接机制,并提供了清晰易懂的代码示例,旨在帮助开发者更好地...

    jsp实用教程笔记

    三、JSP脚本元素 1. Scriptlet:在中编写Java代码,通常用于处理逻辑。 2. Expression Language (EL):一种简化访问JavaBean属性和集合数据的语言,如${expression}。 3. Declaration:声明变量或方法,供整个JSP...

    jsp学习笔记总结(收集)

    4. **JSP脚本元素** - **脚本let**:`! %&gt;`,用于定义变量或方法。 - **表达式**:`&lt;%= %&gt;`,将Java表达式的值转换为字符串并输出到页面。 - **声明**:`! %&gt;`,声明变量或类,但不会执行任何操作。 5. **JSP...

    jsp学习笔记

    【JSP学习笔记】 在Java Web开发中,JavaServer Pages(JSP)是用于创建动态网页的一种技术。JSP结合了HTML和Java代码,使得开发者可以在网页中嵌入Java表达式和脚本来处理服务器端逻辑。JSP与Servlet密切相关,...

    JSP_学习笔记

    【JSP 学习笔记】 JSP(Java Server Pages)是一种基于Java技术的服务器端脚本语言,用于创建动态Web内容。它属于Java EE(Java Platform, Enterprise Edition)组件,核心在于将静态HTML与动态Java代码相结合,...

    JSP学习笔记截屏1

    在《JSP学习笔记截屏1》中,我们可以预见到这是一份关于学习JSP过程中的记录,包含了韩顺平老师的视频教程内容和个人的学习心得。韩顺平老师是一位知名的Java和Web开发领域的讲师,他的课程通常深入浅出,易于理解,...

    JSP JDBC 学习笔记(基础)

    本学习笔记将深入探讨这两个技术的基础知识,以帮助初学者掌握它们的基本概念和应用。** ### JSP基础 1. **JSP概述**:JSP是一种基于Java的技术,它允许在服务器端生成HTML,使得开发者可以在网页中嵌入Java代码,...

    JSP&Serlet;学习笔记2

    **JSP(Java Server Pages)与Servlet是Java Web开发中的两个核心技术,它们在构建动态网页和Web应用程序中扮演着重要角色。本学习笔记主要聚焦于这两个技术的深度理解和实践应用。** **一、JSP简介** JSP是Java...

    Java学习笔记CCS AJAX DMS JSP servlet JavaScript等中文笔记整理.rar

    在这些学习笔记中,你可以深入理解Java的核心概念,包括语法、数据类型、控制结构、类与对象,以及异常处理等。Java_笔记整理部分可能详细介绍了这些基本概念,并提供了实际编程中的应用示例。 CSS(Cascading ...

    JSP Servlet笔记 (by金万林)

    **JSP(JavaServer Pages)和Servlet是Java Web开发中的两个核心技术,它们为构建动态、交互式的Web应用程序提供了强大的支持。** ### JSP基础 JSP是一种基于Java的服务器端技术,它允许开发者将HTML或者XML标记与...

    jsp2.0 学习笔记+完整源码

    本资料包包括了JSP 2.0的学习笔记和完整的源码,旨在帮助开发者深入理解和实践JSP 2.0的核心概念和技术。 **1. JSP 2.0新特性** JSP 2.0在JSP 1.2的基础上做了许多改进,引入了许多新特性和功能: - **表达式语言...

    Head First Servlets & JSP 学习笔记

    - **JSP页面结构**:包含HTML、JSP指令、脚本元素和表达式。JSP在服务器端转换为Servlet执行。 - **JSP动作标签**:如`&lt;jsp:include&gt;`,`&lt;jsp:forward&gt;`,简化代码,减少Java代码的使用。 以上只是《Head First ...

    jsp学习笔记——初学者的选择

    【JSP学习笔记——初学者的选择】 JSP(JavaServer Pages)是JavaEE平台中用于构建动态网页的应用技术。作为初学者,理解JSP的基本概念和技术特性至关重要。 1. **为何选择JSP?** JSP的出现主要是为了解决...

Global site tag (gtag.js) - Google Analytics