77范文网 - 专业文章范例文档资料分享平台

使用jsp+servlet+ajax技术

来源:网络收集 时间:2018-12-08 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

JSP

B/S构架中,浏览器端与服务器端采用请求/响应模式进行交互,这个过程可分解为如下步骤: (1) 客户端接受用户输入,发送对系统的访问请求 (2) 客户端向应用服务器发送请求,等待服务器响应 (3) 数据处理 (4) 发送响应 Jsp执行过程:

(1) 翻译阶段(转换成java源码):当web服务器接收到jsp请求时,首先会对jsp文件

进行翻译,将翻译好的jsp文件通过引擎转换成可识别的java源码

(2) 编译阶段(编译源文件为字节码文件);将java源文件编译成可执行的字节码文件。 (3) 执行阶段(生成可执行的二进制字节码文件);将生成的页面返回到客户端 Jsp指令元素:

page指令:通过设置多个属性来定义jsp文件中的全局变量 注:page指令只能对当前自身页面进行设置 语法:

<%@ page 属性1=”属性值1” 属性2=”属性值2” 属性3=”属性值3”?? > Jsp脚本元素:表达式(express)、小脚本(scriptlet)、声明(declaration)的统称 小脚本:<%%>标记

表达式:<%=java表达式%>

声明:<%! Declaration;[Declaration;]??%>

Jsp内置对象:当编写jsp页面时,不需做任何声明就可以直接使用的对象

out:用于向客户端输出数据,常用方法是print(),这个方法在页面中打印字符串信息

例:<%

out.print(“你好!”); %>

request:包含有关浏览器请求信息,主要用于处理客户端请求

常用方法:

getParameter();此方法可以获得上一页面所提交的参数值

getParameterValues()获取到一个数组,这个数组中存储的就是所有选中的复选项对应的值 setCharacterEncoding()设置编码

JSP数据交互

response:用于响应客户请求并向客户端输出信息 常用方法:

addCookie(Cookie cookie)在客户端添加Cookie

setContentType(String type)设置HTTP响应的contentType类型 setCharacterEncoding(String character)设置编码

sedRedirect(String path)将请求重新定位到一个不同的URL上 转发与重定向:

转发:使用getRequestDispatcher()方法实现 重定向:使用sedRedirect(String path)

对比:

转发和重定向有什么区别:

转发和重定向都能实现页面跳转,不同之处表现在一下几方面: 重定向过程:

Web服务器向浏览器发送一个新的http请求,浏览器接受此响应后在发送一个新的http请求到服务器,服务器根据此请求寻找资源并发送给浏览器。它可以重定向到任意URL,不能共享request范围内的数据。

重定向是在客户端发挥作用,通过请求新的地址实现页面转向。

重定向是通过浏览器重新请求地址,在地址栏中可以显示转向后的地址。 转发过程:

Web服务器调用内部的方法在容器内部完成请求和转发动作,将目标资源发送给浏览器,它只能在同一个Web应用中使用,可以共享request范围内的数据。

转发是在服务器端发挥作用,通过forward方法将提交信息在多个页面间进行传递。 转发是在服务器内部控制权的转移,客户端浏览器的地址栏不会显出转向后的地址。 重定向的应用

使用超链接进行数据传递时,采用的事get方式提交请求,如果传递数据中存在中文,使用request对象直接获取获取时,容易产生乱码问题,因此,需要对数据进行重新编码。

由于使用request对象获取的数据类型均是String类型,因而可以使用String对象的方法实现数据重新编码。 语法:

new String(需要编码的数据.getBytes(“ISO-8859-1”),”GBK”);

状态管理 cookie

cookie的作用:

(1) 对特定对象的追踪,如访问者访问次数,最后访问时间,路径等 (2) 统计网页浏览次数

(3) 在cookie有效期内,记录用户登录信息

(4) 实现各种个性胡服务,如针对不同用户喜好以不同的风格展示不同的内容 在jsp中使用cookie

1. 使用page指令导入类javax.servlet.http.cookie

<%@page import=”javax.servlet.http.cookie”%> 2. 创建cookie对象

Cookie newCookie = new Cookie(String key,Object value) 3. 写入cookie

reponse.addCookie(newCookie) cookie对象常用方法:

setMaxAge(int expiry) 设置cookie的有效期,以秒为单位

setValue (String value) 在cookie创建时,为cookie赋予新的值 getName() 获取cookie的名称 getValue() 获取cookie的值 getMaxAge() 获取cookie的有效时间,以秒为单位

4. 读取cookie

例: <% Cookie[] cookies = request.getCookies(); String user = “”; String pwd = “”; If(cookies!=null){ for(int i =0;i

user = cookie[i].getValue();

}else if(cookies[i].getName().equals(“password”)){ pwd = cookies[i].getValue(); }

}

} %>

cookie的有效期

使用setMaxValue(int expiry)时,有以下几种情况

(1) 通常情况下expiry参数应为大于0的整数,表示cookie的有效存活时间 (2) 如果设置expiry参数等于0,表示删除cookie

(3) 设置expiry参数为-1或者不设置,表示cookie会在当前窗口关闭后失效 JSP内置对象session

回话:用户通过浏览器与服务器之间进行的一次通话 session对象: session机制:

session机制是一种服务端的机制,在服务器端使用类似于散列表的结构来保存信息,当程序接收到客户端的请求时,服务器首先会检查这个客户端是否已经创建了session。判断session是否创建是通过一个唯一的标示sessionid来实现的,如果在客户端请求中包含了一个sessionid,则说明在此之前已经为客户端创建了session,服务器就会根据这个sessionid将对应的session读取出来。否则,就会重新创建一个新的session,并生成一个与此session对应的sessionid,然后将sessionid在本次响应的过程返回到客户端保护。 问答:

session会返回到客户端,那么在客户端sessionid会保存在什么位置呢?

答:在客户端保存用户信息使用的是cookie,因此保存sessionid的方法也是使用cookie来实现。在客户端的cookie中,保存sessionid的名称类似于SESSIONID,而sessionid的值也是一串复杂字符串,例如jsessionid=2A11D30C7B32329D7C8BF16DC598C509,其中jsessionid就是sessionid的名称,后面的字符串就是分配的sessionid对应的值 使用session对象实现权限控制 session对象的常用方法

setAttribute(String key,String value) 以key,value的形式保存对象值 gettAttribute(String key) 通过key获取对象值 invalidate() 设置session对象失效 getId() 获取session Id

setMaxInactiveInterval(int interval) 设置session的非活动时间 getMaxInactiveInterval() 获取session的有效非活动时间,以秒为单位 session对象和浏览器的关系:

每个session对象都与浏览器一一对应,也就是说,重新开启一个浏览器窗口,相当于重新创建一个session对象。 session和cookie的对比:

(1)session是在服务器端保存用户信息,cookie是在客户端保存用户信息 (2)session中保存的是对象,cookie保存的是字符串

(3)session对象随回话结束而关闭,cookie可以长期保存在客户端

(4)cookie通常用于保存不重要的用户信息,重要的信息使用session保存 JSP内置对象Application

Application对象类似于系统的“全局变量”,用于实现用户之间的数据共享,且只有一个实例。

application的常用方法:

setAttribute(String key,Object value) 以key/value的形式保存对象值 getAttribute(String key) 通过key获取对象值 getRealPath(String path) 返回相对路径的真实路径 JSP常用的内置对象一览表: out 用于向客户端输出数据 request 主要用于客户端的请求处理 response 用于响应客户请求并向客户端输出信息 session 用于存储有关用户会话的所有信息

application 类似于系统的全局变量,用于实现用户之间的数据共享 JSP其他内置对象: pageContext 提供访问其他隐含对象的方法 pageContext对象的常用方法: getRequest(): 获得request对象 getResponse(): 获得response对象 getSession(): 获得session对象 getOut(): 获得out对象 setAttribute(): 保存属性 getAttribute(): 获得属性 include(): 包含其主页面在pageContext对象中保存的属性,只能值当前页面中获取 page 表示当前页面。类似于java中的this config 用于存放JSP编译后的初始数据 exception 表示JSP对象运行时产生的异常,该对象只能在错误页面(page指令中设定isErrorPage为true的页面)中才能使用 对象的范围 page范围:

单一JSP页面范围,page范围内的对象只能在创建对象的页面中访问。在page范围呢可以使用pageContext对象的setAttribute()和getAttribute()方法来访问具有这种范围类型的对象。page范围内的对象在客户端每次请求JSP页面时创建,在服务器发送响应或请求转发到其他的页面或资源后失效。

request对象范围

request对象在页面转发或包含中有效。在该范围内的对象同样可以通过调用request对象的setAttribute()与getAttribute()方法找到,同时在调用forward()方法转向的页面或者调用include()方法包含的页面时,都可以访问request范围内的对象。 session对象范围

JSP容器为每一次会话创建一个session对象,在回话期间,只要将对象绑定到session中,对象的范围就为session。在回话有效期间,都可以访问session范围内的对象。 application对象范围

当服务器启动后就会产生一个application对象,被所有用户所共享。所有的对象都可以访问application范围内的对象

JSP应用优化

数据库连接池

JSP开发业务应用

分页显示:

1. 确定每页显示数据数量 2. 计算显示页数

(1) 获取数据库中的数据

public int getCount(){ String sql = “select count(*) cnt from news”; int count = 0; //略

If(rs.next()){ count = rs.getInt();

}

return count;

}

(2) 计算总共需要划分为多少页

public int getTotalPage(int count,int pageSize){ int totalpage = 0;

totalpage

=

(count%pageSize

==

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库使用jsp+servlet+ajax技术在线全文阅读。

使用jsp+servlet+ajax技术.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/351396.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: