JSP和Servlet是Java EE规范的两个基本成员,他们是Java Web开发的重点知识,也是Java EE开发的基础知识。
1.1page指令
page指令通常位于JSP页面的顶端,一个JSP页面可以使用多条page指令。page指令的语法格式如下:
<%@page
[language="Java"]
[extends="package.class"]
[import="package.class|package.*,..."]
[session="true|false"]
[buffer="none|8KB|size Kb"]
[autoFlush="true|false"]
[isThreadSafe="true|false"]
[info="text"]
[errorPage="relativeURL"]
[contentType="mimeType[;charset=characterSet]"|"text/html;charSet=ISO-8859-1"]
[pageEncoding="ISO-8859-1"]
[isErrorPage="true|false"]
%>
Get方式的请求:直接在浏览器地址栏输入访问地址所发送的请求或提交表单发送请求时,该表单对应的form元素没有设置method属性,或设置method属性为get,这几种请求方式都是Get方式的请求。Get方式的请求会将请求参数的名和值转换成字符串,并附加在原URL之后,因此可以在地址栏中看到请求参数名和值。且Get请求传送的数据量较小,一般不能大于2KB。
Post方式的请求:这种方式通常使用提交表单(由formHTML元素表示)的方式来发送,且需要设置from元素的method属性为post。Post方式传送的数据量较大,通常认为Post请求参数的大小不受限制,但往往取决于服务器的限制,Post请求传输的数据量总比Get传输的数据量大。而且Post方式发送的请求参数的值放在HTML HEADER中传输,用户不能在地址栏里看到请求参数值,安全性相对较高。
转发(forward):执行forwar后仍是上一次请求;forward的目标页可以访问原请求的请求参数,因为依然是同一次请求,所有原请求的请求参数、request范围的属性全部存在;地址栏里请求的URL不会改变。
重定向(redirect):执行redirect后生成第二次请求;redirect的目标页不能访问原请求的请求参数,因为是第二次请求了,所有原请求的请求参数、request范围的属性全部丢失;地址栏改为重定向的目标URL。相当于在浏览器地址栏里输入新的URL后按回车键。