JSP+Servlet+EL+JSTL+Ajax学习笔记.doc_第1页
JSP+Servlet+EL+JSTL+Ajax学习笔记.doc_第2页
JSP+Servlet+EL+JSTL+Ajax学习笔记.doc_第3页
JSP+Servlet+EL+JSTL+Ajax学习笔记.doc_第4页
JSP+Servlet+EL+JSTL+Ajax学习笔记.doc_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

JSP+Servlet+EL+JSTL+Ajax学习笔记JSP基础语法一、 JSP基础语法51. JSP注释5(1) 5(2) 5(3) 52. JSP脚本代码5(1) 定义全局变量、方法、类5(2) 定义局部变量、或编写Java语句5(3) 输出语句53. page指令5(1) page指令语法5(2) page指令例子5l 设置MIME类型(contentType属性)6l 设置编码(pageEncoding属性)6l 错误页的设置(errorPage属性)6l 导包操作(import属性)64. JSP动作指令6(1) JSP的7个动作指令6(2) 跳转指令(jsp:forward)6l jsp:forward语法6l 例子6(3) 参数传递指令(jsp:param)6l jsp:param语法6l jsp:param指令的作用6(4) 包含指令(jsp:include)6l 静态包含(include不常用)6l jsp:include语法6l 动态包含(较常用)6(5) jsp:plugin指令(不常用)6l jsp:plugin语法6l jsp:plugin作用7(6) jsp:useBean指令7l jsp:useBean语法7l jsp:useBean作用7(7) jsp:setProperty指令7l jsp:setProperty语法7l jsp:setProperty作用7(8) jsp:getProperty指令7l jsp:getProperty语法7l jsp:getProperty作用7JSP内置对象二、 JSP内置对象71. JSP的9个内置对象72. 四种属性范围8(1) page范围8(2) request范围8(3) session范围8(4) application范围8(5) 四中属性范围的内置对象共有的方法83. request对象8(1) request对象的说明8(2) request对象的主要方法8l 与request属性相关8l 与request参数相关8l 与request请求头相关8l 与request请求正文相关8l 其它8(3) 表单提交方式8l post9l get94. response对象9(1) response对象说明9(2) response对象的主要方法9l request响应头相关9l request响应相关9l request响应的字符编码相关9l request响应缓冲区相关9l URL相关9l request响应状态相关9l 其他95. session对象9(1) session对象说明9(2) session对象的主要方法9l session绑定对象(属性)相关9l session会话相关106. application对象10(1) application对象说明10(2) application对象主要方法10l application属性相关10l application上下文或路径相关10l application日志相关10l application版本相关10l 其他107. config对象10(1) config对象说明10(2) config对象主要方法108. out对象11(1) out对象说明11(2) out对象主要方法119. pageContext对象11(1) pageContext对象说明11(2) pageContext对象主要方法11l pagContext属性相关11l pageContext页面对象相关11l 其它11JavaBean三、 JavaBean111. JavaBean简介11(1) JavaBean的本质11(2) JavaBean的约束11(3) 关于JavaBean的名词11(4) Web开发的文件目录结构及其作用122. JavaBean与表单12(1) 表单的参数自动赋值给JavaBean12(2) 例子123. JavaBean的删除12(1) 指定JavaBean实例属性范围12(2) 删除指定范围的JavaBean实例12四、 Servlet121. Servlet简介12(1) Servlet的实现过程12(2) 自定义Servlet的结构(HelloWorld)122. Servlet生命周期13(1) Servlet生命周期过程13(2) Servlet生命周期对应的方法133. Servlet取得初始化参数13(1) 配置Servlet的初始化参数13(2) Servlet取得初始化参数144. Servlet取得内置对象14(1) Servlet取得session对象14(2) Servlet取得application对象145. Servlet跳转14(1) 服务端跳转14(2) 客户端跳转146. Servlet过滤器14(1) Servlet过滤器的本质14(2) Servlet过滤器的例子14(3) Servlet过滤器的配置157. Servlet监听器15(1) Servlet监听器的功能15(2) 监听接口15l 监听application主要实现如下接口15l 监听session主要实现如下接口15l 监听request主要实现如下接口16(3) 配置Servlet监听器16表达式语言(EL)五、 表达式语言(EL)161. EL简介16(1) EL功能16(2) EL存取变量16(3) EL的内置对象16(4) EL的“.”与“”运算符16(5) 自动转变类型172. EL运算符17(1) EL的算术运算符17(2) EL关系运算符17(3) EL逻辑运算符17(4) Empty 运算符17(5) 条件运算符173. EL的取值举例17(1) 取得四种属性范围里的属性值17(2) 取得cookie值17(3) 取得头信息值(header)17(4) 取得pageContext值17JSTL标签六、 JSTL标签181. JSTL标签简介18(1) JSTL说明18(2) JSTL标签分类18(3) JSTL标签库的使用与配置182. 核心标签库18(1) 核心标签库的主要标签18(2) 标签18(3) 标签18(4) 标签18(5) 标签18(6) 标签19(7) 、标签19(8) 标签19(9) 标签19(10) 标签20(11) 标签20(12) 标签203. 国际化标签库20(1) 国际化标签库20(2) 标签20(3) 标签21(4) 标签21(5) 标签21(6) 标签21(7) 标签21(8) 标签21(9) 标签22(10) 标签224. SQL标签库22(1) SQL标签库的主要标签22(2) 标签22(3) 标签22(4) 标签23(5) 标签23(6) 标签23(7) 标签235. XML标签库23(1) XML标签库的主要标签23(2) XPath说明24(3) 标签24(4) 标签24(5) 标签24(6) 标签24(7) 、和标签25(8) 标签25(9) 标签25(10) 标签256. 函数标签库25(1) 函数标签库说明25(2) 函数标签库里的主要函数257. 自定义标签(极少用)26(1) 标签支持类26(2) 标签描述文件(.tld文件)26(3) 使用自定义的标签26Ajax七、 Ajax261. Ajax技术简介26(1) Ajax核心技术26(2) XMLHttpRequest对象属性26(3) XMLHttpRequest对象的主要方法26(4) XMLHttpRequest.open()26(5) XMLHttpRequest.send()26(6) XMLHttpRequest.setRequestHeader()262. XMLHttpRequest的创建与使用26(1) 根据不同的浏览器创建XMLHttpRequest对象(通用)26(2) XMLHttpRequest对象的使用271、 JSP基础语法1. JSP注释(1) 这种注释是客户端可以看到的注释,建议不要使用(2) 这种注释是客户端看不到的注释,属于Java语言的注释(3) 这种注释是客户端看不到的注释,属于JSP的注释2. JSP脚本代码(1) 定义全局变量、方法、类定义的全局变量,每次刷新页面该变量都不会重新创建。(2) 定义局部变量、或编写Java语句定义的局部变量,每次刷新页面该变量会重新创建。(3) 输出语句例如:3. page指令(1) page指令语法page指令,通常位于JSP页面的顶端,一个JSP页面可以使用多条page指令。page指令的语法格式如下:例如:下面依次介绍page指令各属性的意义:language:声明当前JSP页面使用的脚本语言的种类,因为页面是JSP页面,该属性的值通常都是java,该属性的默认值也是java,所以通常无须设置。extends:指定JSP页面编译所产生的Java类所继承的父类,或所实现的接口。import:用来导入包。下面几个包是默认自动导入的,不需要显式导入。默认导入的包有:java.lang.*、javax.servlet.*、javax.servlet.jsp.*、javax.servlet.http.*。session:设定这个JSP页面是否需要HTTP Session。buffer:指定输出缓冲区的大小。输出缓冲区的JSP内部对象:out用于缓存JSP页面对客户浏览器的输出,默认值为8kb,可以设置为none,也可以设置为其他的值,单位为kb。autoFlush:当输出缓冲区即将溢出时,是否需要强制输出缓冲区的内容。设置为true时为正常输出;如果设置为false,则会在buffer溢出时产生一个异常。 isThreadSafe:true模式表示它以多线程方式运行。false模式表示它是以Singleton模式运行。info:设置该JSP程序的信息,也可以看做其说明,可以通过Servlet.getServletInfo()方法获取该值。如果在JSP页面中,可直接调用getServletInfo()方法获取该值,因为JSP页面的实质就是Servlet。errorPage:指定错误处理页面。如果本页面产生了异常或者错误,而该JSP页面没有对应的处理代码,则会自动调用该指令所指定的JSP页面。因为JSP内建了异常机制支持,所以JSP可以不处理异常,即使是checked异常。isErrorPage:设置本JSP页面是否为错误处理程序。如果该页面本身已是错误处理页面,则通常无须指定errorPage属性。contentType:用于设定生成网页的文件格式和编码方式,即MIME类型和页面字符集类型,默认的MIME类型是text/html;默认的字符集类型为ISO-8859-1。(2) page指令例子l 设置MIME类型(contentType属性)contentType属性用于设置JSP页面的显示形式,即设置MIME类型。常用的是contentType=text/html; charset=GBK 以网页类型显示。还可以是contentType=application/msword; charset=gbk 以word文档类型显示。l 设置编码(pageEncoding属性)在JSP中如果pageEncoding属性存在则JSP页面的编码由pageEncoding的值决定,否则是由contentType中的charset的值决定。若都不存在则是ISO-8859-1编码。l 错误页的设置(errorPage属性)设置了errorPage属性后,当页面程序出错时,服务器会自动跳转到设置的页面上。例如:。但是该error.jsp页面也要设置成是错误处理的页面,要有如下的page设置:。l 导包操作(import属性),使用import属性可以导入外部的jar包。注意:在page的所有属性中只有import属性可以重复使用。4. JSP动作指令(1) JSP的7个动作指令jsp:forward: 执行页面转向,将请求的处理转发到下一个页面。 jsp:param: 用于传递参数,必须与其他支持参数的标签一起使用。 jsp:include: 用于动态引入一个 JSP 页面。 jsp:p1ugin: 用于下载 JavaBean 或 Applet 到客户端执行。 jsp:useBean: 使用 JavaBean。 jsp:setProperty: 修改 JavaBean 实例的属性值。 jsp:getProperty: 获取 JavaBean 实例的属性值。(2) 跳转指令(jsp:forward)l jsp:forward语法jsp:forward page=relativeURL| l 例子该跳转属于服务器跳转,服务器跳转也可以传递参数。(3) 参数传递指令(jsp:param)l jsp:param语法l jsp:param指令的作用param指令用于设置参数值,这个指令本身不能单独使用,单独的param没有实际意义,param指令可与以下三个指令结合使用: jsp:include 、jsp:forward 、jsp:plugin。(4) 包含指令(jsp:include)l 静态包含(include不常用)静态包含只是简单的替换。不能传递参数。例如:l jsp:include语法jsp:include page=relativeURL flush=true flush属性用于指定输出缓存是否转移到被导入文件中。如果指定为true,则包含在被导入文件中;如果指定为false,则包含在原文件中。 l 动态包含(较常用)动态包含可以传递参数,例如:jsp:param value= name=param/注意:动态包含可以包含一个含有与当前页面相同变量名的文件,而不出错。但静态包含不能!(5) jsp:plugin指令(不常用)l jsp:plugin语法 jsp:param name=parameterName value=parameterValue | / + text message for user l jsp:plugin作用标签表示执行一个Applet或Bean,有可能的话还要下载一个Java插件用于执行它。元素用于在浏览器中播放或显示一个对象(典型的就是Applet和Bean),而这种显示需要在浏览器的java插件。当Jsp文件被编译,送往浏览器时,元素将会根据浏览器的版本替换成或者元素。(6) jsp:useBean指令l jsp:useBean语法id:JavaBean实例化的对象名。class:JavaBean的包点类名称。scope:实例化对象的属性范围。l jsp:useBean作用实例化一个JavaBean。(7) jsp:setProperty指令l jsp:setProperty语法name:JavaBean的实例名。proterty:JavaBean的属性名。value:JavaBean需要设置的属性值。param:request对象中的参数名。l jsp:setProperty作用标签表示用来设置JavaBean中的属性值。(8) jsp:getProperty指令l jsp:getProperty语法name:JavaBean的对象名,用于指定从哪个JavaBean中获取属性值property:JavaBean中的属性名,用于指定获取JavaBean中的哪个属性值l jsp:getProperty作用标签表示获取JavaBean的属性的值并将之转化为一个字符串,然后将其插入到输出的页面中。注意:在使用之前,必须用来创建它。不能使用来检索一个已经被索引了的属性。能够和JavaBeans组件一起使用,但是不能与Enterprise Java Bean一起使用。2、 JSP内置对象1. JSP的9个内置对象内置对象作用request封装用户请求(javax.servlet.http.HttpServletRequest)response向用户做出响应(javax.servlet.http.HttpServletResponse)pageJSP页面本身(javax.servlet.jsp.HttpJspPage)session客户和服务器间的会话(javax.servlet.http.HttpSession)application于服务器启动时开始运行,在用户间共享全局变量(javax.servlet.ServletContext)config包括servlet初始化要用的参数(javax.servlet.ServletConfig)out向客户端输出(javax.servlet.jsp.JspWriter)pageContext用于访问page的各种对象(javax.servlet.jsp.PageContext)exception异常(java.lang.Throwable)2. 四种属性范围(1) page范围只能在一个页面中保存属性,跳转之后无效。(2) request范围只在一次请求中保存,服务器跳转后依然有效。(3) session范围在一次会话范围中有效,无论是哪种跳转都有效,但是新打开的浏览器无法使用。(4) application范围在服务器上保存,所有用户都可使用。范围最大。(5) 四中属性范围的内置对象共有的方法返回值 方法声明 说明void setAttribute(String key,Object obj) 设置属性的属性值object getAttribute(String name) 返回指定属性的属性值voidremoveAttribute(String name)删除某属性及其属性值3. request对象(1) request对象的说明request对象是javax.servlet.http.HttpServletRequest接口的实例化对象。其主要作用是:用来接收客户端发送的请求信息,例如:请求参数、发送的头信息等。(2) request对象的主要方法l 与request属性相关public void removeAttribute(String name) 从此请求中移除属性。public void setAttribute(String name, Object obj) 存储此请求中的属性。public Object getAttribute(String name) 以 Object 形式返回指定属性的值。 public Enumeration getAttributeNames() 返回包含此请求可用属性的名称的 Enumeration。l 与request参数相关public String getParameter(String name) 以 String 形式返回请求参数的值public Map getParameterMap() 返回此请求的参数的Map。public Enumeration getParameterNames() 返回包含此请求中所包含参数的名称的 String 对象的 Enumeration。public String getParameterValues(String name) 返回包含给定请求参数拥有的所有值的 String 对象数组l 与request请求头相关public long getDateHeader(String name) 以表示Date对象的long值的形式返回指定请求头的值。public String getHeader(String name) 以 String 的形式返回指定请求头的值。public Enumeration getHeaderNames() 返回此请求包含的所有头名称的枚举。public Enumeration getHeaders(String name) 以 String 对象的 Enumeration 的形式返回指定请求头的所有值。public int getIntHeader(String name) 以 int 的形式返回指定请求头的值。l 与request请求正文相关public void setCharacterEncoding(String env) 重写此请求正文中使用的字符编码的名称。public String getCharacterEncoding() 返回此请求正文中使用的字符编码的名称public int getContentLength() 返回请求正文的长度(以字节为单位)public ServletInputStream getInputStream() 使用 ServletInputStream 以二进制数据形式获取请求正文。public BufferedReader getReader() 使用 BufferedReader 以字符数据形式获取请求正文。l 其它public String getContentType() 返回请求正文的 MIME 类型public String getContextPath() 返回请求 URI 指示请求上下文的那一部分。public String getMethod() 返回用于发出此请求的 HTTP 方法的名称,例如 GET、POST 或 PUT。public String getRequestedSessionId() 返回客户端指定的会话 ID。public boolean isRequestedSessionIdValid() 检查请求的会话 ID 是否仍然有效。public Cookie getCookies() 返回包含客户端随此请求一起发送的所有 Cookie 对象的数组。(3) 表单提交方式l post提交之后地址栏看不到参数值,不会进行地址重写。较为安全。l get提交之后可以在地址栏看到提交的内容,进行地址重写,有长度限制。4. response对象(1) response对象说明response对象的主要作用是用于对客户端的请求进行回应,将WEB服务器处理后的结果发给客户端。response对象属于javax.servlet.http.HttpServletResponse接口的实例。(2) response对象的主要方法l request响应头相关public void addDateHeader(String name, long date) 用给定名称和日期值添加响应头。public void addHeader(String name, String value) 用给定名称和值添加响应头。public void addIntHeader(String name, int value) 用给定名称和整数值添加响应头。public boolean containsHeader(String name) 返回一个 boolean 值,指示是否已经设置指定的响应头。public void setDateHeader(String name, long date) 用给定名称和日期值设置响应头。public void setHeader(String name, String value) 用给定名称和值设置响应头。public void setIntHeader(String name, int value) 用给定名称和整数值设置响应头。l request响应相关public boolean isCommitted() 返回指示响应是否已提交的 boolean 值。public void setContentLength(int len) 设置 HTTP servlet 中响应的内容正文的长度public void setContentType(String type) 设置将发送到客户端的响应的内容类型,如果该响应尚未提交。public ServletOutputStream getOutputStream() 返回适用于在响应中编写二进制数据的 ServletOutputStream。public PrintWriter getWriter() 返回可将字符文本发送到客户端的 PrintWriter 对象。l request响应的字符编码相关public void setCharacterEncoding(String charset) 设置将发送到客户端的响应的字符编码 public String getCharacterEncoding() 返回用于此响应中发送的正文的字符编码l request响应缓冲区相关public void flushBuffer() 强行将缓冲区中的所有内容写入客户端。public void reset() 清除缓冲区中存在的所有数据以及状态代码和头。public void resetBuffer() 清除响应中底层缓冲区的内容,而不清除头或状态代码。public void setBufferSize(int size) 设置响应正文的首选缓冲区大小。public int getBufferSize() 返回用于该响应的实际缓冲区大小。l URL相关public String encodeRedirectURL(String url) 对指定 URL 进行编码public String encodeURL(String url) 通过将会话 ID 包含在指定 URL 中对该 URL 进行编码public void sendRedirect(String location) 使用指定重定向位置 URL 将临时重定向响应发送到客户端。l request响应状态相关public void sendError(int sc, String msg) 使用指定状态将错误响应发送到客户端。public void sendError(int sc) 使用指定状态代码并清除缓冲区将错误响应发送到客户端。 public void setStatus(int sc) 设置此响应的状态代码。l 其他public String getContentType() 返回用于此响应中发送的 MIME 正文的内容类型。public void addCookie(Cookie cookie) 将指定 cookie 添加到响应。5. session对象(1) session对象说明session对象是javax.servlet.http.HttpSession接口的实例。session最多的用处是用户的登录与注销(退出)。(2) session对象的主要方法l session绑定对象(属性)相关public void removeAttribute(String name) 从此会话中移除与指定名称绑定在一起的对象。public void setAttribute(String name, Object value) 使用指定名称将对象绑定到此会话。public Object getAttribute(String name) 返回与此会话中的指定名称绑定在一起的对象public Enumeration getAttributeNames() 返回包含绑定到此会话的所有对象的名称的 String 对象的 Enumeration。l session会话相关public void invalidate() 使此会话无效,然后取消对任何绑定到它的对象的绑定。public long getCreationTime() 返回创建此会话的时间public String getId() 返回包含分配给此会话的唯一标识符的字符串public long getLastAccessedTime() 返回客户端上一次发送与此会话关联的请求的时间public void setMaxInactiveInterval(int interval) 指定在 servlet 容器使此会话失效之前客户端请求之间的时间间隔,以秒为单位。public int getMaxInactiveInterval() 返回 servlet 容器在客户端访问之间将使此会话保持打开状态的最大时间间隔,以秒为单位。public ServletContext getServletContext() 返回此会话所属的 ServletContext。public boolean isNew() 如果客户端还不知道该会话,或者客户端选择不加入该会话,则返回 true。6. application对象(1) application对象说明application对象是javax.servlet.ServletContext接口的实例。(2) application对象主要方法l application属性相关public void removeAttribute(String name) 从 servlet 上下文中移除具有给定名称的属性。public void setAttribute(String name, Object object) 将对象绑定到此 servlet 上下文中的给定属性名称。public Object getAttribute(String name) 返回具有给定名称的 servlet 容器属性public Enumeration getAttributeNames() 返回包含此 servlet 上下文中可用属性的名称的 Enumeration。l application上下文或路径相关public String getContextPath() 返回 Web 应用程序的上下文路径。 public String getRealPath(String path) 为给定虚拟路径返回包含实际路径的 String。public URL getResource(String path) 返回指向映射到指定路径的资源的 URL。public nputStream getResourceAsStream(String path) 以 InputStream 对象的形式返回位于指定路径上的资源public Set getResourcePaths(String path) 返回指向 Web 应用程序中资源的所有路径的类似目录的清单public RequestDispatcher getRequestDispatcher(String path) 返回一个 RequestDispatcher 对象,它充当位于给定路径上的资源的包装器。public String getInitParameter(String name) 返回包含指定上下文范围初始化参数值的 Stringpublic Enumeration getInitParameterNames() 以 String 对象的 Enumeration 的形式返回上下文初始化参数的名称l application日志相关public void log(String msg) 将指定消息写入 servlet 日志文件(通常是一个事件日志)。public void log(String message, Throwable throwable) 将给定 Throwable 异常的解释性消息和堆栈跟踪写入 servlet 日志文件。l application版本相关public int getMajorVersion() 返回此 servlet 容器支持的 Java Servlet API 的主版本。public int getMinorVersion() 返回此 servlet 容器支持的 Servlet API 的次版本。public String getServerInfo() 返回正在其上运行 servlet 的 servlet 容器的名称和版本。l 其他public String getMimeType(String file) 返回指定文件的 MIME 类型public ServletContext getContext(String uripath) 返回与服务器上的指定 URL 相对应的 ServletContext 对象。public RequestDispatcher getNamedDispatcher(String name) 返回充当指定 servlet 的包装器的 RequestDispatcher 对象。 public String getServletContextName() 返回与此ServletContext相对应的 Web 应用程序的名称7. config对象(1) config对象说明config对象是javax.servlet.ServletConfig接口的实例。该对象可以获取到web.xml的配置参数。(2) config对象主要方法String getInitParameter( String name ) 返回名称为name的促使参数的值。Enumeration getInitParameters() 返回这个JSP所有的促使参数的名称集合。ServletContext getContext() 返回执行者的servlet上下文。String getServletName() 返回servlet的名称。8. out对象(1) out对象说明out对象是javax.servlet.jsp.JspWriter接口的实例。该对象提供对输出流的访问。(2) out对象主要方法void clear() 清除输出缓冲区的内容,但是不输出到客户端。void clearBuffer() 清除输出缓冲区的内容,并输出到客户端。void close() 关闭输出流,清除所有内容。void flush() 输出缓冲区里面的数据。int getBufferSize() 获取以kb为单位的目前缓冲区大小。int getRemaining() 获取以kb为单位的缓冲区中未被占用的空间大小。boolean isAutoFlush() 是否自动刷新缓冲区。void newLine() 输出一个换行字符。void print(*) 将指定类型的数据输出到Http流,不换行。void println(*) 将指定类型的数据输出到Http流,并输出一个换行符。Appendable append(?) 将一个字符或者实现了CharSequence接口的对象添加到输出流的后面。9. pageContext对象(1) pageContext对象说明pag

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论