web里面Servlet高级应用的基础介绍

Servlet中的页面跳转?

两种方式,实现跳转:内部跳转(请求转发)、外部跳转(重定向)

内部跳转(请求转发)特点:在服务器内部完成页面之间的跳转;请求只有一次;浏览器地址不会改变。

request.getRequestDispatcher(“路径”).forward(reuqest,response);

request.getRequestDispatcher(“路径”).include(reuqest,response);

 

外部跳转(重定向)特点:通知客户端重新发送请求;请求次数为二次;浏览器地址栏会改变。

response.sendRedirect(“路径”);

 

内部跳与外部跳最重要的区别:

内部跳转,请求为一次——request对象是同一个(不同页面中);可以利用request传递数据。

外部跳转,请求为二次——request对象不是同一个;不能使用request传递数据。

 

中文问题?

支持中文的编码格式:GBK(简体+繁体)、GB2312(简体)、UTF-8(unicode编码,支持国际通用语言编码)

MyEclipse工具中出现乱码?

菜单栏打开Window--->首选项(最后一个)-->基本选项(第一个)-->contentTypes -->Text(javasource file)

 

程序中的乱码:

post提交处理方式:

在程序中的第一行写入:

request.setCharacterEncoding(“与jsp页面编码必须一致”);

response.setCharacterEncoding(“与jsp页面编码必须一致”);

 

get提交处理方式:

get提交不能按照post方式进行处理;原因是:数据提交到服务器之前,已经被浏览器设定了编码。(ISO-8859-1编码,标准英语)

String txtname = request.getParameter("txtname");

txtname = newString(txtname.getBytes("ISO-8859-1"),"与jsp页面编码必须一致");

 

Session的会话跟踪技术?

1. 什么是Session?

Session(会话)——客户端一次请求,服务器端一次响应;这个过程称之为会话。

什么是JavaWeb的会话跟踪技术?

在服务器端记录客户端的相关信息,客户端第二次以后的访问;服务器能够识别每一个客户端。

如何使用会话跟踪技术?

使用会话跟踪技术核心对象:Session对象。

Session对象:每一个客户端第一次访问服务器的时候,服务器分配一个唯一的SessionID给用户,下一次访问服务器的时候,根据SessionID区分每一个用户。(跟银行类似)

注意:每一个Session对象,相互独立;默认以浏览器为单位(同一个浏览器默认为同一个用户,浏览器关闭session消失)。

Session用来存、取数据使用,常用方法:

setAttribute(“名字”,”值”);

getAttribute(“名字”);

注意:只要能够获取到session对象,都可以使用session中的数据(跟跳转方式无关)。

设置Session有效时间(Session默认30分钟):

setMaxInactiveInterval(时间值单位秒)。

invalidate();当前Session立即失效(退出)。

 

会话跟踪技术:

Cookie(原理:通过浏览器往客户端写入Cookie文件,来识别不同的用户;也可以设置        有效日期)

Session(利用Session对象,完成客户追踪;浏览器关闭session就消失(不可用);                session.invalidate() session立即失效)

URL重写、隐藏域技术(URL重写是通过地址栏,不断的传递SessionID来区分用户)。

 

Cookie 与Session 异同:

相同:都可以实现会话跟踪(存放用户的相关信息)。

不同点:Cookie不以浏览器关闭为标准;以设置的有效时间为标准(可以实现离线跟踪)。

 Session必须保证浏览器不关闭的情况,才能获取到。

 

Servlet中的线程安全

Servlet在运行时,只有一个实例对象(通过Servlet的生命周期);保证用户能够独立访问Servlet,采用了多线程技术。

作用:效率更高,用户与用户之间独立开。

缺点:线程安全问题(多个线程,同时操作一个变量(数据))

解决方案:尽量不要在Servlet中使用全局变量。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值