java设计bs之服务器端

上传人:shaoy****1971 文档编号:114116316 上传时间:2019-11-10 格式:PPT 页数:75 大小:331.50KB
返回 下载 相关 举报
java设计bs之服务器端_第1页
第1页 / 共75页
java设计bs之服务器端_第2页
第2页 / 共75页
java设计bs之服务器端_第3页
第3页 / 共75页
java设计bs之服务器端_第4页
第4页 / 共75页
java设计bs之服务器端_第5页
第5页 / 共75页
点击查看更多>>
资源描述

《java设计bs之服务器端》由会员分享,可在线阅读,更多相关《java设计bs之服务器端(75页珍藏版)》请在金锄头文库上搜索。

1、B/S系统设计及相关技术,JSP服务器端技术,服务器端的任务,接受客户端的请求 将合适的内容发送给客户代理浏览器 HTML XML JS CSS,如何接收响应,TCP协议 Socket协议 HTTP协议 侦听80端口 Web服务器 微软方案: IIS ASP ASP .NET ISAPI/NSAPI Dynamic Link Library Java方案: SDK J2SE/J2ME/J2EE JSP 容器 Apache Tomcat,Java的B/S包括的主要内容,JSP 负责生成页面 表达式语言 自定义标签 Servlet 负责进行控制 Java Bean/EJB 负责业务逻辑 XML 负

2、责配置与数据传输 JDBC负责连接数据库,JSP预备式,脚本语言,JSP/ASP都是脚本语言 脚本语言是在HTML之中嵌入部分脚本 服务器端把脚本执行后输出,非脚本部分直接输出 JSP中以标记对作为脚本开始和结束的标志 JSP大小写敏感!,JSP示例-奇怪的嵌套, JSP示例 ”); if (h 早上好 下午好 晚上好 ,JSP示例-等价写法, JSP示例 ”); if (h ,JSP请求响应过程,JSP容器(Web Server)接收到对JSP页面的请求 如果对应的Class文件已经存在,则5,否则3 将JSP翻译成Java Servlet源码(.Java) 将Java Servlet源码伪

3、编译成Class文件(.class) 加载运行Class文件 执行结果发送给浏览器端,三种注释,JSP注释 Java文件中不存在,浏览器页面更不存在 Java注释 Java文件中存在,浏览器页面不存在 HTML注释 浏览器页面中存在, Java文件中当然存在,JSP基本元素,元素 指令元素 提供全局信息 独立于请求 不产生页面输出 为翻译提供信息 行为元素 为请求处理提供信息 脚本元素 在模板数据、行为元素中嵌入 模板数据 不经过JSP容器处理,直接发往客户端,JSP初级第一重,基本脚本元素,基本脚本元素,声明 declarations 声明全局变量以及局部变量 脚本片段 scriptlets

4、 执行代码 表达式 expressions 输出内容,声明,全局变量声明 局部变量声明 函数声明 =3”; %,脚本片段,可以包含任何符合Java规范的代码 out对象的输出 按照顺序出现在送往客户代理的HTML流中。 同一个转换单元的脚本片段,按顺序组合在一起,必须形成有效的语句序列 ,表达式,脚本片段通过out.println来产生输出流 大量的out.println导致易读性变差 ”) out.println(“变量i的值是:”+i); % 使用,与模板元素配合。 变量i的值是: %,转义, “” % % % %,第一重达到的境界,借助HTML实现静态模板数据 借助Java片段,使用Ja

5、va语言实现动态数据 可以实现一个无人机交互的动态页面,JSP初级第二重,JSP内置对象,内置对象,无需声明 直接使用,request,客户端的请求对象 取得客户端传给服务器的参数 getParameter(String name) getParameterNames() getParameterValues(String name) getQueryString() getCookies 取得属性值 getAttribute(String name) getAttributeNames() 取得客户端信息 getHeader(String name) getHeaders(String na

6、me) getRemoteAddr() getRemoteHost() 取得编码形式、客户请求协议版本、传输数据方法、Body长度,response,JSP对客户端的响应对象 增加客户端内容 addCookie(Cookie cook) addHeader(String name,String value) setHeader (String name,String value) setContentType(String contentType) 缓冲区 fluseBuffer() getBufferSize() getOutputStream() 重定向 sendError(int) se

7、ndRedirect(String location),附加 非内置对象 Cookie,Cookie cookie=new Cookie(String name, value) 名字、值和说明 getName getValue setValue(String) getComment setComment(String) 安全性 getDomain setDomain(String) getPath setPath(String) getMaxAge setMaxAge(Int) getSecure setSecure(Boolean),out,客户端输出流 输出 print println n

8、ewLine() 缓冲区 fluse() close() clear() clearBuffer() 缓冲区大小 getBufferSize() getRemaining(),page,作用域对象 JSP中有四级(个)作用域对象 页面上下文 page 请求上下文request 会话上下文session 应用上下文application Object page=this,pageContext,由容器创建,不直接使用 得到attribute、session、request、response、exception等其他对象 得到、修改或删除各个属性 forward(string urlPath)服务

9、器端重定向 include(String url)包含,session,保存用户信息,在整个会话期间存在 设置、取得属性 setAttribute(String name,Object value) getAttribute(String name) removeAttirbute(String name) Session时间 getCreationTime() getLastAccessedTime() getMaxInactiveInterval() Session生存 getId() invalidate(),application,整个服务器运行期间存在,服务器启动时创建,关闭时消亡。

10、 全局信息管理 getAttribute(String name) getAttributeNames() setAttribute(String name,Object Value) 取得服务器信息 getServletInfo() getInitParameter(String name),config,容器在Servlet初始化时,使用此对象传递信息 一般不直接使用 getServletConntext() getServletName() getInitParameter(String name) getInitParameterNames(),exception,用作异常处理,可以向

11、Error页面传递 产生错误的页面: 错误处理页面 输出错误信息 getLocalizedMessage() getMessage() toString() 代码跟踪 printStackTrace,第二重达到的境界,使用request、response、Cookie对象,可以与客户端人机交互了 使用Session、Application,可以保存长期信息了 可以方便了异常处理了 动态网页基本上都能实现了,JSP初级第三重,指令及行为元素,指令元素 page, 大部分属性定义都只能在每个转换单元中出现一次,page,language属性:定义使用的脚本语言,目前取值仅有java,为将来扩展用

12、info 属性:定义页面的描述信息 不直接使用。 import属性 声明导入页面中使用的Java包 可以多次定义,page,page属性 指定页面的字符编码格式 contentType属性 指定浏览器返回的数据类型 text/html isErrorPage 此页面是否是一个错误处理页面 errorPage 指定此页面的错误处理页面,page,session属性 是否使用Session true/false isELIgnored 是否忽略EL表达式 buffer属性 指定缓冲区大小 autoFlase 缓冲区溢出时是否自动发送,指令元素 taglib,JSP2开始提供标准标签以及自定义标签

13、taglib就是声明如何寻找所使用标签前缀的标签库 标签库可以位于同一台服务器的不同目录下 标签库可以位于另一台服务器上 ,指令元素 include,读入引用的公共文件 ,行为元素,行为元素、JSP标签、JSP标记 分为标准行为与自定义行为(自定义标签) 标准行为的前缀是 jsp,无需声明 使用XML语法格式 标签由前缀与行为构成 表现形式: 内容 ,基本标准行为元素,在JSP中,一共有20中标准行为元素 基本元素6种 用于JavaBean的3种 用于JSP文档的6种 用于XML的3种 用于标记文件的2种,标准行为元素 参数设定,和是用来为其他的标签设置参数值的标签 使用形式: 使用形式: ,

14、标准行为元素 包含, 编译时包含(静态)相当于include指令元素 运行时包含(动态)将参数传入另一个JSP页面,将页面的执行结果包含进来。 动态包含示例:公共页面GL.jsp 当前结果: ,include和param示例,文件a.jsp 这是文件A 文件b.jsp 这是文件A 其余部分与文件A相同,标准行为元素 HTML对象,HTML中,仍然可以嵌入Bean Applet等对象 HTML嵌入对象是使用object 或 embed标签的 是帮助生成这些html标签的元素 定义了如果浏览器端不支持嵌入对象,那么显示什么内容。,plugin和fallback使用形式, ,第三重达到的境界,pag

15、e 指令的使用完善了对JSP环境的控制 行为元素使得一些代码清晰直观了,将配置与代码相剥离。 可以说“会使用JSP开发B/S系统了”,JSP中级第四重,表达式语言,表达式语言,$表达式语言 目的:简单 变量访问形式自由 隐式变量类型转换 通过隐含范围对象简化属性操作 表现形式清晰,表达式语言 变量,数据存储采用字符串下标“”与点符 . 两种形式,且两形式可以混用。 如果包含特殊字符的情况下,只能使用字符串下标形式。 变量范围可以省略,如果省略的话,依据 page-request-session-application 的顺序进行查找。 字符串下标形式的字符串本身也可以是一个变量。 表达式变量的

16、值直接输出到HTML流,表达式语言 变量举例,$sessionScope.user.name $sessionScope.user“name” $user.name $sessionScope.userdata,表达式语言 运算,数学运算 () + - * / div % mod E 关系运算 = != = eq ne lt gt le ge 逻辑运算 & | ! and or not empty,表达式语言 类型转换,在EL中,隐含实现了变量类型转换,并且基本上将Null转化为“”、0等,避免了错误。但同时带来了编译隐患。 例如 $true $“12E3”+0.0 $null $null+0,与范围有关的隐含对象,pageScope 当前页內变量 requestScope 请求有效 sessionScope 会话有效 applicationScope 应用有效,与输入有关的隐含对象

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 职业教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号