一、session和cookie的区别
cookie:
cookie是客户端的解决方法,服务器发来的信息以文本形式存在cookie中。(存放数据大多为搜索数据)
cookie没有session安全
不占用服务器资源
session:
session是保存在服务器,服务器会以某种形式将客户端的信息存于服务器中。当客户端第一次访问服务器的时候, 会创建一个session,并且这个session会有一个session id用来识别客户端,这个session id就存于cookie中。(用
户信息等重要信息要存在session中)。
当用户量特别多时,过多使用session会使服务器压力过多,适当的可以使用cookie存储信息。
二、ServletContext对象
表示当前整个应用程序
特点:
唯一性 一个应用对应一个servlet上下文
一直存在 只要容器不关闭或者应用不卸载,就会一直存在。
三、重定向和转发
重定向:
response.sendRedirect("路径");
重定向是客户端行为,执行后地址会发生变化,也就是说执行一次重定向,至少向服务器端发起了两次请求。
重定向路径有三种写法:相对路径,绝对路径,根路径。(下一章会有详细的网络路径解析)
转发:
request.getRequestDispatcher("路径").forward(request,response);
转发是服务端行为,执行后地址不会发生改变,客户端也就发了一次请求。
转发路径有两种写法:相对路径,根路径
四、request对象
//用于获取html表单中的值
request.getParameter("表单中name值")
五、编码
为什么会出现乱码问题。
我使用的idea字节编码采用的utf-8(三个字节),但是tomcat服务器采用的是ISO8859-1(欧洲的一种编码格式,一个字节)
浏览器采用的字节编码也不一定是utf-8,所以在编译文件我会出现差错
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");