注意:
doGet(HttpServletRequest request, HttpServletResponse response)中用response.sendRedirect("")传的参数是
用request接收(与jsp中的response和request不一样,这里只是变量),而在使用session的时候要使用HttpSession
得到session,在获得session中的对象的时候,一样样得到session:
HttpSession hs=request.getSession();然后hs.getAttribute(
"");
跟jsp中不一样,jsp中直接就是request.getAttribute("");----
注意一个是变量(servlet)一个是真的对象(jsp)不同页面共享数据:
1,cookie
cookie可以用来做什么?
a)保存用户名,密码,在一定的时间不用重复登录
b)记录用户访问网站的爱好(比如有无背景音乐,网页的背景颜色)
c)网站的个性化,,比如定制网站的服务,内容
cookie的使用:
在服务器创建一个Cookie
Cookie c=
new Cookie(
"color",
"red");
设置时间
c.setMaxAge(3000);(这里的大于等于小于0的情况跟session的时间一样)
//将Cookie回写到客户端
response.addCookie(c);
获得cookie:
Cookie getCookie[]=
request.getCookies();
2,sendRedirect
优点:传送信息的速度快
缺点:它只能传送字符串,而不能传送一个对象
3,seesion
得到session:HttpSession hs=request.getSession(
true);
向session中添加属性:hs.setAttribute(String name,Object name);
得带某个属性:String name=
hs.getAttribute(String name);
从session中删除某个属性:hs.removeAttribute(String name);
hs.hs.getMaxInactiveInterval(秒数);
如果大于0,则保留session的时间就为这个秒数(不是总的时间,而是中间不操作的时间)
等于0,则是清除session
<
0,则会一直保留该session
4,隐藏表单提交
tomcat的运用:
在连接数据库放几个.jar文件的时候:
1)可以放在WEB-
INF下的lib文件下,但是这样这能让这一个web项目用
2)放在tomcat的公共lib下,这样所有的web都能用
Sql的注入漏洞:
验证密码的时候同时验证用户名和密码:
"select * from user_name='' and user_pwd='' "
如果密码是' or 1='1' 这样密码是错的也能登录,因此要一个一个的验证
比较session 和Cookie:
1)存在的位置cookie保存在客户端,session保存在服务器端
2)安全性:
比较而言,cookie的安全性比session的安全性弱(cookie保存的密码在保存cookie的文件下是看的见的)
3)网络传输量:
· cookie通过网络在客户端与服务器传输,而session不需要网络传输
4)生命周期
servletConText(保存在服务器---共享*******
注意与session和Cookie的区别):
注意:因为servletContext中的数据会长时间的保留在服务器,会占用内存,因此建议不要向servletContext中
添加大量的数据
他的生命周期是从创建开始,到服务器关闭结束:
ServletContext sc=
this.getServletContext();
sc.setAttribute("name",
"lu");
String name=(String)sc.getAttribute(
"name");
转载请注明原文地址: https://mac.8miu.com/read-508687.html