1 / 24

Web 应用中的全局变量

Web 应用中的全局变量. 1.cookie 技术 2.sendRedirect() 方法 3. 隐藏表单技术 4.session 技术. Cookie( 小甜饼 ) 技术. 服务器在客户端保存用户的信息,就是 Cookie 技术。 这些信息 数据量并不大 ,服务器需要时可以从客户端读取,一般保存在客户端 C:Document and Settings 目录里 。. Cookie 在 Web 应用中的表现. 1. 保存用户名、密码,在一定时间内不用登录。 2. 记录用户访问网站的喜好 ( 例如网站背景音乐等 )

egan
Download Presentation

Web 应用中的全局变量

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Web应用中的全局变量 • 1.cookie技术 • 2.sendRedirect()方法 • 3.隐藏表单技术 • 4.session技术

  2. Cookie(小甜饼)技术 • 服务器在客户端保存用户的信息,就是Cookie技术。 • 这些信息数据量并不大,服务器需要时可以从客户端读取,一般保存在客户端C:\Document and Settings目录里。

  3. Cookie在Web应用中的表现 • 1.保存用户名、密码,在一定时间内不用登录。 • 2.记录用户访问网站的喜好(例如网站背景音乐等) • 3.网站的个性化服务,例如定制服务、内容等。例如订阅天气预报等

  4. sendRedirect()方法 • 通过该方法将一个信息传递给下一个页面, • 例如:sendRedirect(“welcome?userName=oyhj”); • 的形式。 • 优点:传递信息的速度很快。 • 缺点:它只能传递一个字符串,而不能传递对象。

  5. sendRedirect()方法(续) • sendRedirect(“welcome?userName=oyhj”); • (1) welcome代表要跳转到的servlet的url。 • (2) servlet名和变量名之间要有个?。 • (3) 如果传递两个以上的变量,变量之间要用&。 • (4) 如果传递的是中文,需要进行编码处理。

  6. sendRedirect()应用案例 • 对用户登录系统进行改进,在欢迎界面显示用户的姓名。 • 源码见UserLogin(V1.1)

  7. 隐藏表单 • 隐藏表单是最常见的一种方式,也是最简单的一种。 • <form action=login> • <input type=hidden name=oyhj value=aaa> • </form> • 见源码:HiddenFormTest

  8. Session技术 • 当用户打开浏览器访问某个网站时,网站服务器就会在它的内存为这个浏览器分配一个“空间”,这个“空间”被该浏览器独享。空间中存放的数据默认生存时间是30min,可以修改。

  9. Session在Web中的应用 • (1) 实现网上交易平台的购物车功能。 • (2) 保存用户的登录信息 • (3)防止用户非法登录到某个页面

  10. Session的使用 • 可以把Session理解成一张二维表,这个表有两列。每一行是Session的一个属性,行数没有限制。 • 一个属性包括两个部分,一个部分是属性的名字,另一个是属性的值。

  11. Session的使用 • (1) 得到Session对象 • HttpSession hs=request.getSession(true); • (2) 向Session添加属性 • hs.setAttribute(String name,Object value); • (3) 从Session得到某个属性 • String name=hs.getAttribute(String name); • (4) 从Session中删除某个属性 • hs.removeAttribute(String name);

  12. Session使用的注意事项 • 1. Session中属性默认的生存时间是30min,可以对时间进行修改。a)在web.xml文件中(服务器的)。b)在程序中修改。 • 2.Session属性的过期时间指的是间隔时间,而不是累计时间。 • 3.当某个浏览器访问网站时,服务器会给每个浏览器分配一个唯一的Session id,用来区分每个浏览器。 • 4.因为Session的属性是要占用服务器内存的,建议谨慎使用Session。

  13. Session应用案例 • 在用户登录中,防止用户非法登录到欢迎界面。 见源码:UserLogin(V1.2)

  14. Servlet中操作数据库 • Servlet中操作数据库,与普通java文件中操作数据库类似,需要注意的是要将JDBC驱动的jar包引入。 • (1)将JDBC驱动的jar包放到%TOMCAT_HOME%\common\lib目录中。 • (2)将JDBC驱动的jar包放到当前应用的lib目录里。 • 注: (1)是当前Web服务器下所有web应用的公共jar包。 • (2) 是当前web应用的jar包。

  15. Servlet中操作数据库 • 将用户登录系统进行改进,用户名和密码放在数据库里。 • 创建数据库脚本: • create table userInfo • ( UserID int not null auto_increment, • UserName varchar(10), • Password varchar(10), • E-mail varchar(30), • Sex varchar(10), • Grade int, primary key(UserID)); • 源码见:UserLogin(V1.3)

  16. Servlet中访问数据库 • 建议:Servlet里面不要写太多的业务逻辑,这样不利用修改,而且影响程序的层次结构。 • 源码见:UserLogin(V1.3.1)

  17. 在Servlet中显示图片 • (1) 在Web应用的目录下,建立一个专门用来保存图片的文件夹(例如Image)。 • (2) 在Servlet里面添加代码: • <img src=“Image/图片名”>即可。 • 源码见:UserLogin(V1.3.2) • 注:img是Html语言里面的一个标签。

  18. Web应用中的分页技术 • 分页是任何一个网站(bbs,购物商城,blog)等必备的显示技术之一,因此有必要掌握。

  19. 分页技术 • 分页算法: • (1) int pageSize: 每页显示多少条记录 • (2) int pageCurrent:当前显示第几页 • (3) int pageCount:共有多少页 • (4) int rowCount:共有多少条记录 • if(rowCount%pageSize==0) • pageCount=rowCount/pageSize; • else • pageCount=rowCount/pageSize+1;

  20. 分页技术 • 以MySQL为例:将第N页的记录显示出来,可采用如下SQL语句: • select * from userInfo limit (N-1)*pageSize,pageSize; • 注:limit子句使用方法: • (1) select * from userInfo limit M; • 将表中前M条记录取出 • (2) select * from userInfo M,N; • 从表的第M+1条记录开始向后取出N条。 • 以SQL Server为例:将第N页的记录显示出来,可采用如下SQL语句: • Select top pageSize * from userInfo where UserID not in • (select top pageSize*(pageCurrent-1) UserID from userInfo);

  21. 分页技术案例 • 对用户管理系统进行修改,在欢迎界面分页显示所有合法用户的相关信息。 • 见源码:UserLogin(V1.4)

  22. 利用超链接显示第几页 • 利用超链接将分页的个数显示出来,用户可以随意查看第几页的内容。 • 在Welcome页面完成超链接,本质是Welcome自己连接自己,但是要将“第几页的信息”传递进来。 • 源码见:UserLogin(V1.4.1)

  23. 测试分页的效率 • 实际应用中,一张表中的记录会有十几万条,甚至上百万条。扩大表中的记录个数,查看分页效率如何。 • Insert into userInfo(UserName,Password,E-mail,Sex,Grade) select UserName,Password,E-mail,Sex,Grade from userInfo • 采用该SQL语句,表中记录成2的指数倍增加。

  24. 显示上一页和下一页 • 如果要分的页数大多,也不利用用户选择,此时可添加上一页和下一页功能。 • 源码见:UserLogin(V1.4.2)

More Related