《JSP数据交互总结》

1.1.1为什么需要动态网页

  静态网页的内容是固定的,不能提供个性化和定制化的服务,因此,动态网页技术逐渐发展起来。

1.1.2什么是动态页面

  动态网页是指在服务器端运行的使用程序语言设计的交互式网页,它们会根据某种条件的变化,返回不同的网页内容。

  动态网页需要使用服务器端脚本语言。

  动态网页的优势是什么?

      1.交互性:即网页会根据用户的要求和选择而动态改变和显示内容。

      2.自动更新:即无须改变页面代码,便会自动生成新的页面内容,可以大大节省工作量。

      3.随机性:即当不同的时间,不同的人访问同一网址时会产生不同的页面效果。

1.1.3如何实现动态网页

  以JSP技术为核心,结合其他相关技术

1.1.4为什么学习B/S架构技术

  C/S(Client/Server, 客户端/服务器端)

  B/S(Browser/Server,浏览器/服务器)

  bs:客户端-服务器
  cs:浏览器-服务器
  2000年以前,c/s结构占据开发领域的主流,随着b/s结构的发展,c/s结构已经逐步被b/s结构取代
  数据安全性
  数据实时性
  网络应用限制:前者仅适用于局域网内部用户或宽带用户,后者几乎适用于所有的网络结构
  服务响应及时性

1.1.5什么是B/S架构

  B/S架构的Web应用程序由于不在受安装客户端的限制,访问极其简便,因此越来越多地被企业采用。

1.1.6B/S架构的工作原理

  1.浏览器接受用户的输入

  2.浏览器向服务器端发送请求

  3.数据处理

  4.发送响应

1.1.7什么是URL

  URL(Uniform Reaource Locator)统一资源定位符

1.1.8URL的组成

  1.协议:HTTP协议,即超文本传输协议

  2.服务器域名或IP:由服务器收集用户请求,经过处理再返回响应到浏览器端

  3.端口号:服务器用于内外部通信的通道

  4.路径:包含两层含义.

1.2.1Tomcat服务器

  Tomcat是一个免费的开源的Web容器

1.3JSP简介

   1.跨平台性,易维护性,易管理性等优点

 

1.4JSP页面组成

    由静态内容,指令,表达式,小脚本,声明,标准动作,注释等元素构成

1.4.1静态内容

  静态内容是JSP页面中的静态文本,其基本是HTML文本,与java 和JSP语法无关

1.4.2JSP指令元素

  JSP指令以“<%@”开始,以“%>”结束

  page指令

        page指令用来设定JSP页面的全局属性,该配置作用于整个JSP页面。语法格式为<%@page 属性="属性值" 属性="属性值"%>。        

       page指令包含13个属性,如下:
        (1)language 用来指明所使用的脚本语言类型
        (2)extends  用来指定该JSP页面生成的Servlet继承于哪个父类
        (3)import   用来指定要导入的Java包 
            默认导入的包有:
            java.lang.*;
            java.servlet.*;
            java.servlet.jsp.*;
            java.servlet.http.*;
        (4)session  用来指定该JSP页面是否可以使用session对象
        (5)buffer    指定是否使用缓冲区
        (6)autoFlush 指定缓冲区是否自动进行强制输出
        (7)isThreadSafe 指定该JSP文件是否支持多线程的使用
        (8)info      设置该JSP页面的相关信息
        (9)errorPage 指定当该JSP文件发生异常错误时,网页跳转到的能处理此异常的JSP文件
        (10)isErrorPage 指定该JSP文件是否为能处理异常的JSP文件
        (11)contentType 指定该JSP文件的MIME类型及网页编码格式
        (12)pageEncoding 指定网页的编码格式
        (13)isELIginclude指令nored  指定该JSP文件是否支持EL表达式

   include指令 

        include指令用于在JSP文件中include一个包含文本或代码的文件,使用include指令包含文件,执行时,先  将文件的内容插入到include指令所在的位置,执行完被包含文件的内容后,在继续执行该JSP文件。语法格式:     <%@ include file="被包含文件的URL"%>。

    taglib指令

         taglib指令用来声明此JSP文件使用了自定义的标签,同时制定所引用的标签库并设置前缀。语法格式为:
<%@ taglib uri="taglibrary's uri" prefix="tagPrefix"%> uri属性制定标签库的存放位置,prefix制定该标     签库的前缀。如:<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
1.4.3JSP脚本元素
    小脚本,表达式,声明,统称为JSP脚本元素
  小脚本:<% %>

  表达式:<%= %>

  声明: <%! %>

1.4.4JSP中的注释

  <!--  HTML注释(客户端可以看到源代码)  -->

  <%-- JSP注释(客户端看不到源代码)  --->

  <%  //使用预定格式将日期转换成字符串   %>

1.5JSP的执行过程

  1.翻译阶段

  2.编译阶段

  3.执行阶段

1.6JSP九大内置对象

内置对象特点:

1.            JSP规范提供,不用编写者实例化。

2.            通过Web容器实现和管理

3.            所有JSP页面均可使用

4.            只有在脚本元素的表达式或代码段中才可使用(<%=使用内置对象%><%使用内置对象%>)

 常用内置对象:

1.            输出输入对象:request对象、response对象、out对象

2.            通信控制对象:pageContext对象、session对象、application对象

3.            Servlet对象:page对象、config对象

4.            错误处理对象:exception对象

 

对象常用方法说明:

1.out对象(数据流 javax.servlet.jsp.jspWriter)

方法名 说明
printprintln 输出数据
newLine 输出换行字符
flush 输出缓冲区数据
close 关闭输出流
clear 清除缓冲区中数据,但不输出到客户端
clearBuffer 清除缓冲区中数据,输出到客户端
getBufferSize 获得缓冲区大小
getRemaining 获得缓冲区中没有被占用的空间
isAutoFlush 是否为自动输出

2.request对象(请求信息 javax.servlet.http.HttpServletrequest)

方法名 说明
isUserInRole 判断认证后的用户是否属于某一成员组
getAttribute 获取指定属性的值,如该属性值不存在返回Null
getAttributeNames 获取所有属性名的集合
getCookies 获取所有Cookie对象
getCharacterEncoding 获取请求的字符编码方式
getContentLength 返回请求正文的长度,如不确定返回-1
getHeader 获取指定名字报头值
getHeaders 获取指定名字报头的所有值,一个枚举
getHeaderNames 获取所有报头的名字,一个枚举
getInputStream 返回请求输入流,获取请求中的数据
getMethod 获取客户端向服务器端传送数据的方法
getParameter 获取指定名字参数值
getParameterNames 获取所有参数的名字,一个枚举
getParameterValues 获取指定名字参数的所有值
getProtocol 获取客户端向服务器端传送数据的协议名称
getQueryString 获取以get方法向服务器传送的查询字符串
getRequestURI 获取发出请求字符串的客户端地址
getRemoteAddr 获取客户端的IP地址
getRemoteHost 获取客户端的名字
getSession 获取和请求相关的会话
getServerName 获取服务器的名字
getServerPath 获取客户端请求文件的路径
getServerPort 获取服务器的端口号
removeAttribute 删除请求中的一个属性
setAttribute 设置指定名字参数值

 

3.response对象(响应 javax.servlet.http.HttpServletResponse)

方法名 说明
addCookie 添加一个Cookie对象
addHeader 添加Http文件指定名字头信息
containsHeader 判断指定名字Http文件头信息是否存在
encodeURL 使用sessionid封装URL
flushBuffer 强制把当前缓冲区内容发送到客户端
getBufferSize 返回缓冲区大小
getOutputStream 返回到客户端的输出流对象
sendError 向客户端发送错误信息
sendRedirect 把响应发送到另一个位置进行处理
setContentType 设置响应的MIME类型
setHeader 设置指定名字的Http文件头信息

4.session对象(会话 javax.servlet.http.HttpSession)

方法名 说明
getAttribute 获取指定名字的属性
getAttributeNames 获取session中全部属性名字,一个枚举
getCreationTime 返回session的创建时间
getId 获取会话标识符
getLastAccessedTime 返回最后发送请求的时间
getMaxInactiveInterval 返回session对象的生存时间单位千分之一秒
invalidate 销毁session对象
isNew 每个请求是否会产生新的session对象
removeAttribute 删除指定名字的属性
setAttribute 设定指定名字的属性值

5.pageContext对象(页面上下文 javax.servlet.jsp.PageContext)

方法名 说明
forward 重定向到另一页面或Servlet组件
getAttribute 获取某范围中指定名字的属性值
findAttribute 按范围搜索指定名字的属性
removeAttribute 删除某范围中指定名字的属性
setAttribute 设定某范围中指定名字的属性值
getException 返回当前异常对象
getRequest 返回当前请求对象
getResponse 返回当前响应对象
getServletConfig 返回当前页面的ServletConfig对象
getServletContext 返回所有页面共享的ServletContext对象
getSession 返回当前页面的会话对象

 

6.application对象(应用程序 javax.servlet.ServletContext)

方法名 说明
getAttribute 获取应用对象中指定名字的属性值
getAttributeNames 获取应用对象中所有属性的名字,一个枚举
getInitParameter 返回应用对象中指定名字的初始参数值
getServletInfo 返回Servlet编译器中当前版本信息
setAttribute 设置应用对象中指定名字的属性值

7.config对象(Servlet的配置信息 javax.servlet.ServletConfig)

方法名 说明
getServletContext 返回所执行的Servlet的环境对象
getServletName 返回所执行的Servlet的名字
getInitParameter 返回指定名字的初始参数值
getInitParameterNames 返回该JSP中所有的初始参数名,一个枚举

8.page对象(当前JSP的实例,java.lang.object)

它代表JSP被编译成Servlet,可以使用它来调用Servlet类中所定义的方法

9.exception对象(运行时的异常,java.lang.Throwable)

被调用的错误页面的结果,只有在错误页面中才可使用,

即在页面指令中设置:<%@page isErrorPage=true%>

 

Request(Javax.servlet.ServletRequest)它包含了有关浏览器请求的信息.通过该对象可以获得请求中的头信息、Cookie和请求参数。

Response(Javax.servlet.ServletResponse)作为JSP页面处理结果返回给用户的响应存储在该对象中。并提供了设置响应内容、响应头以及重定向的方法(如cookies,头信息等)

Out(Javax.servlet.jsp.JspWriter)用于将内容写入JSP页面实例的输出流中,提供了几个方法使你能用于向浏览器回送输出结果。

pageContext(Javax.servlet.jsp.PageContext)描述了当前JSP页面的运行环境。可以返回JSP页面的其他隐式对象及其属性的访问,另外,它还实现将控制权从当前页面传输至其他页面的方法。

Session(javax.servlet.http.HttpSession)会话对象存储有关此会话的信息,也可以将属性赋给一个会话,每个属性都有名称和值。会话对象主要用于存储和检索属性值。

Application(javax.servle.ServletContext)存储了运行JSP页面的servlet以及在同一应用程序中的任何Web组件的上下文信息。

Page(Java.lang.Object)表示当前JSP页面的servlet实例

Config(javax.servlet.ServletConfig)该对象用于存取servlet实例的初始化参数。

Exception(Javax.lang.Throwable)在某个页面抛出异常时,将转发至JSP错误页面,提供此对象是为了在JSP中处理错误。只有在错误页面中才可使用<%@page isErrorPage=true%>

 

Jsp内置对象

功能

主要方法

out

向客户端输出数据

print() println() flush() clear() isAutoFlush() getBufferSize()   close() …………

request

向客户端请求数据

getAttributeNames() getCookies() getParameter() getParameterValues() setAttribute() getServletPath() …………..

response

封装了jsp产生的响应,然后被发送到客户端以响应客户的请求

addCookie() sendRedirect() setContentType()

flushBuffer() getBufferSize() getOutputStream()

sendError() containsHeader()……………

application

 

 

config

表示Servlet的配置,当一个Servlet初始化时,容器把某些信息通过此对象传递给这个Servlet

getServletContext() getServletName() getInitParameter()   getInitParameterNames()……………

page

Jsp实现类的实例,它是jsp本身,通过这个可以对它进行访问

flush()………

pagecontext

为JSP页面包装页面的上下文。管理对属于JSP中特殊可见部分中己经命名对象的该问

forward() getAttribute() getException() getRequest() getResponse()   getServletConfig()

getSession() getServletContext() setAttribute()

removeAttribute() findAttribute() ……………

session

用来保存每个用户的信息,以便跟踪每个用户的操作状态

getAttribute() getId()   getAttributeNames() getCreateTime() getMaxInactiveInterval()

invalidate() isNew()

exception

反映运行的异常

getMessage()…………

 

 

原文地址:https://www.cnblogs.com/lowerma/p/11255085.html