好文档 - 专业文书写作范文服务资料分享网站

广东海洋大学 JSP程序设计 WEB开发技术 复习提纲

天下 分享 时间: 加入收藏 我要投稿 点赞

《JSP程序设计》

一、概述

1.3 JSP页面与Web服务目录 1. 访问JSP页面的四种方式:

(1)根目录:.\\webapps\\Root,直接通过http://127.0.0.1/JSP文件名访问 (2)webapps下的Web服务目录:.\\webapps\\MyWeb,

可通过http://127.0.0.1/MyWeb/JSP文件名访问,新建后不必重启Tomcat服务器; (3)新建Web服务目录:需要事先配置conf文件夹下的server.xml,添加:

(4)在已建立好的Web服务目录下新建路径,通过网址相对路径的方式也能访问文件。

1.4 JSP运行原理

1.JSP页面的运行原理:

(1)当服务器上的一个JSP页面被第一次请求执行时,服务器上的JSP引擎首先将JSP页面文件转译成一个java文件,并对该文件编译生成字节码(.class)文件,然后执行字节码文件响应用户的请求。

(2)当该JSP页面再次被请求执行时,JSP将直接执行字节码文件来响应用户,从而提高JSP页面的访问速度。

2.JSP页面的执行过程:

(1)JSP引擎将JSP页面中的HTML标记发送到用户浏览器,由浏览器中的HTML解释器负责解释执行HTML标记;

(2)JSP引擎处理JSP标记,并将有关的处理结果发送到用户浏览器上;

(3)执行“<%%>”之间的Java程序片,把执行结果以字符串的形式交由用户浏览器显示; (4)当多个用户请求一个JSP页面时,Tomcat服务器为每个用户启动一个线程,负责执行字节码文件响应请求。

二、JSP页面与JSP标记 2.1 JSP页面的基本结构

(1)HTML标记(2)JSP标记(3)变量/方法的声明(4)Java程序片(5)Java表达式 <%@ page contentType=\ <%!int sum; // 数据声明 public int getFactorSum(int n) { // 方法声明 sum = n; return sum; } %>

<% out.println(\ // java程序片 %> <%=sum%>

2.2 变量和方法的声明

<%! 变量/方法声明语句 %>

(1)在整个JSP页面内有效,与<%!、%>位置无关,习惯写在前面; (2)在<%!和%>中声明的变量成为JSP页面(类)的成员变量;

(3)多用户访问JSP页面时,页面的成员变量在多个线程之间共享。

(4)避免用户在操作成员变量时变量被其他用户修改,有以下两种方法:

① 合理配置变量作用域;

② 对操作成员变量的方法使用synchronize关键字修饰。

2.3 Java程序片

<% Java程序片 %>

(1)一个JSP页面可以有许多可分割的Java程序片,JSP引擎会按顺序执行它们; (2)Java程序片中声明的变量称为JSP页面的局部变量;

(3)多用户访问JSP页面时,页面的Java程序片在多个线程中独立运行。

2.4 表达式

<%=表达式%>

(1)不能在表达式中插入语句,如<%=x=100%>是错误的; (2)<%和=之间不能有空格;

(3)表达式的值交由服务器计算,计算结果以字符串的形式发送至用户端显示。

2.5 JSP中的注释

(1)HTML注释:用户可通过浏览器查看HTML注释的内容;

(2)JSP注释:编译JSP页面时将忽略JSP注释,用户无法查看JSP注释的内容。

<%-- JSP注释 --%>

2.6 JSP指令标记(静态)

2.6.1 page指令标记 —— 定义JSP页面的属性及其取值

<%@ page 属性=\取值1\取值2\%>

page属性的取值:

(1)language:脚本语言,目前只能取java(默认取值); (2)import:为 JSP页面引入Java核心包中的类,

如:<%@ page import=\默认引入了java.lang.*, javax.servlet, javax.servlet.jsp.*和javax.servlet.http.*;

(3)contentType:确定JSP页面响应的MIME类型(打开方式)及字符编码;

如:<%@ page contentType=\<%@ page contentType=\

contentType属性只能指定一个值,不允许指定多值; (4)session:是否需要使用内置的session对象(见4.3节),默认为true; (5)buffer:设置内置输出流out对象(见4.4节)的缓冲区大小,默认8KB,取值none表示不使用缓冲区;

(6)autoFlush:当out对象的缓冲区被填满时,缓冲区是否自动刷新,默认true;

当取值false时,缓冲区满会出现缓存溢出异常; buffer取值none时该属性无法设置。

(7)isThreadSafe:设置JSP页面是否可多线程访问,默认true;

(8)info:JSP页面设置一个常用且经常修改的字符串值,可通过getServletInfo()方法调用。

2.6.2 include指令标记 —— 在该指令处静态插入一个文件

<%@ include file=\文件URL\

插入的jsp文件中,page指令的contentType属性的值要与原文件保持一致。

2.7 JSP动作标记(动态)

2.7.1 param动作标记 —— 为其他标记以名值对的形式传递参数

不能单独使用,只能作为include、forward和plugin动作的子标记使用。

2.7.2 include动作标记 —— 动态加载文件

[注]include指令标记与include动作标记的区别:

include指令标记:编译时处理文件,依赖于当前JSP页面,执行速度快;

include动作标记:运行时处理文件,可使用param子标记灵活处理,执行速度慢;

2.7.3 forward动作标记 —— 页面重定向

地址不变,属于服务器端的跳转,可用param子标记向跳转页面传参; 转向的文件可以使用request内置对象获取param子标记的name属性的值

2.7.4 plugin动作标记 —— 加载Java plugin插件,运行Java applet小程序

提示用户浏览器是否支持插件下载的信息

2.7.5 useBean动作标记 —— 创建、使用JavaBean(见第七章)

习题二:

T2:两次(Java程序片在多线程中独立运行)

T3:不允许,允许(contentType属性只能指定一个值) T4:第一个用户显示sum的值为610,第二个用户显示sum的值为610+600=1210。 T6:见2.7.2[注]

广东海洋大学 JSP程序设计 WEB开发技术 复习提纲

《JSP程序设计》一、概述1.3JSP页面与Web服务目录1.访问JSP页面的四种方式:(1)根目录:.\\webapps\\Root,直接通过http://127.0.0.1/JSP文件名访问(2)webapps下的Web服务目录:.\\webapps\\MyWeb,可通过http://127.0.0.1/MyWeb
推荐度:
点击下载文档文档为doc格式
0hkeb24n15371qz5d0ci05ej21u0yu00k0z
领取福利

微信扫码领取福利

微信扫码分享