Servlet基础知识
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、httpservletrequest详解
getrequesturl:获取请求资源路径
getrequesturi:获取请求资源名
getremoteaddr:获取发送请求的客户端地址
getremotehost:获取发送请求的客户端主机名
2、requestforward实现Exam_1向Exam_2(两者都在项目ServletExam中)转发参数或对象;如果forward多次,request和response对象还是同一个
语句:request.setattribute("name",name)//设置request域的值,name为Exam_1中的变量
request.getrequestdispatcher("(不用写/ServletExam)/Exam_2").foword(request,response)//把request和response对象传递给Exam_2页面;两个servlet的response和request对象是同一个;
在Exam_2中:string name=request.getparameter("name")//获取Exam_1传来的变量name;
request.getrequsetdispatcher("/Exam_2")是发给服务器处理的,让服务器调用Exam_2;
sendredirect()是实现页面重定向,也可以传递参数,发生在浏览器;
而request.getrequestdispatcher()发生在服务器;浏览器中地址还是显示Exam_1的地址;
3、分页
1、定义四个变量 pagenow:表示第几页;pagecount:表示共有多少页;pagesize:每页显示的记录数;rowcount:共有多少条记录(数据库的记录数);
2、确定pagecount的算法
1、if(rowcount%pagesize==0){pagecount=rowcount/pagesize;}
else{pagecount=rowcount/pagesize+1;}
2、pagecount=rowcount%pagesize==0?rowcount/pagesize:pagecount=rowcount/pagesize+1;
3、pagecount=(rowcount-1)/pagesize+1;
4、会话技术
1、会话:用户打开一个浏览器,访问一个网站,只要不关闭浏览器,不管访问多少资源,直到浏览器关闭,整个过程称为一次会话。
2、会话技术:cookie技术和session技术
3、cookie被保存在浏览器缓存(临时文件夹)中,可以看做是一张表,只能保存string类型,供服务器来读取,可以被多个浏览器共享。
cookie有两个方法getname()、getvalue()
//新建一个cookie
cookie mycookie=new cookie("name","mycookie");新建一个cookie
cookie.setmaxage(3600);设置生命周期为一小时,不设置则关闭浏览器就失效。
resonse.addcookie(mycookie);返回浏览器,保存cookie
在另一个servlet中读取所有cookie,再选中需要的cookie
cookie cookies[]=request.getcookies();
system.out,println(cookie.length);//打印cookie的个数
//遍历cookie
for(int i=0;i
out.println(mycookie.getname()+mycookie.getvalue());取得cookie的值
}
多个cookie放在一个cookie文件夹中
删除某个cookie
cookie.setmaxage(0);response.addcookie(cookie);
4、session name(string)属性名相同时,则替换属性值 value(object对象类型)存在服务器端 供某个浏览器独享,其他的浏览器访问则再新建一个session
//创建session
httpsession session=request.getsession(FALSE、TRUE可写可不写);FALSE时没有session则不创建,TRUE时没有session则创建一个
session.setattribute("uname","查敏");穿件
session.setinteractiveage(60);默认为30min
//获取session
httpsession session=request.getsession();
string uname=(string)session.getattribute("uname");
session.removeattribute("uname");删除某个属性