Servlet中的页面跳转?
两种方式,实现跳转:内部跳转(请求转发)、外部跳转(重定向)
内部跳转(请求转发)特点:在服务器内部完成页面之间的跳转;请求只有一次;浏览器地址不会改变。
request.getRequestDispatcher(“路径”).forward(reuqest,response);
request.getRequestDispatcher(“路径”).include(reuqest,response);

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

内部跳与外部跳最重要的区别:
内部跳转,请求为一次——request对象是同一个(不同页面中);可以利用request传递数据。
外部跳转,请求为二次——request对象不是同一个;不能使用request传递数据。

中文问题?
支持中文的编码格式:GBK(简体+繁体)、GB2312(简体)、UTF-8(unicode编码,支持国际通用语言编码)
MyEclipse工具中出现乱码?
菜单栏打开Window--->首选项(最后一个)-->基本选项(第一个)-->content Types -->Text(java source file)

程序中的乱码:
post提交处理方式:
在程序中的第一行写入:
request.setCharacterEncoding(“与jsp页面编码必须一致”);
response.setCharacterEncoding(“与jsp页面编码必须一致”);

get提交处理方式:
get提交不能按照post方式进行处理;原因是:数据提交到服务器之前,已经被浏览器设定了编码。(ISO-8859-1编码,标准英语)
String txtname = request.getParameter("txtname");
txtname = new String(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中使用全局变量。

最新文章

  1. android 关闭多个或指定activity
  2. [IOS 开发]TableView如何刷新指定的cell 或section
  3. 慕课网-Java入门第一季-6-10 练习题
  4. Interleaving Positive and Negative Numbers
  5. iOS红马甲项目Bug总结(2)
  6. Webserver issues | PHP manager for IIS
  7. STOI补番队胡策
  8. SolrCloud攻略
  9. AbstractHandlerMapping解读
  10. windows 线程
  11. PS图层混合算法之三(滤色, 叠加, 柔光, 强光)
  12. LeetCode之“动态规划”:Word Break && Word Break II
  13. scrapy 在迭代爬取时被拒 offsite 增加dont_filter=True
  14. 玩转spring boot——结合docker
  15. spring cloud 版本号与 boot版本之间的对应关系(版本不对,会导致pom无法引入)
  16. java 封装及this 用法
  17. Hive性能调优
  18. python ddt模块
  19. 一步一步教你搭建和使用FitNesse
  20. MFC 小知识总结二

热门文章

  1. 实战:考虑性能--Solr索引的schema设计
  2. 《Java JDK7 学习笔记》课后练习题1
  3. MongoDB学习笔记~为IMongoRepository接口添加了增删改方法,针对官方驱动
  4. android穿越之旅--如何弹出一个非比寻常的窗体
  5. 使用开发者工具调试jsp页面中的脚本
  6. FineReport实现根据点击次数奇偶性排序的方法
  7. CSS实现进度条和订单进度条
  8. rpc框架之HA/负载均衡构架设计
  9. 优才网Go名库讲解全套教程
  10. 学习SAP HANA SQL