request 代表转发 (在服务器 内部执行的 一次,url地址不会发生改变,可以携带我们的参数)
response 代表重定向 (在客户端执行的 两次请求,url肯定会发生改变 它其也可以携带我们的参数,基本很少用)
用你的a 项目跳转到b 项目必须使用重定向
增,删除,修改,都要使用重定向(避免在服务器一直提交)
查询:用转发
form 重定向拼接参数也是这样获取 request.getParameter();
转发 这样获取: request.getAttribute(“mess”); request.setAttribute(“mess”, “注册失败”);
获取值都是用request.方法(区分转发和提重定向的是方法)
返回的值的时候:request.方法 转发
response.方法 重定向
数据源,管理,处理,分配,销毁连接
jndi -拿到数据源(dataSoures)-创建连接—连接池来进行管理(容器Tomcat,自动装配)
分页的总结:
工具类
1.获取当前页(pageIndex)
2.每页的页量(pageSize)
3.获取总记录数(totalPageCount)
4.获取总页数(totalPageSize)注意点(当你的总记录数/页量的时候,有多余的数据的时候,totalPageSize+1)
5.查询出你的集合(每一页的数据)
展示界面,判断是否是第一次进入,如果是第一次进入,让其转发到处理界面,获取数据(一定不要忘记了return),
然后另一个处理界面 跟据你获取的pageIndex来进行处理。就是给你其设置的工具类进行赋值,记住,最后要把相应的数据转发过去。
session
//设置session的有交期 以秒为单位 如果时间过了,账户会失效,就比如QQ记住密码,密码过期
session.setMaxInactiveInterval(5);
session 是一个会话,每一个会话都有一个唯一的sessionId,session 是存在服务器,存的数据一般是比较重要,安全性也比较高(也就是每 打开一个网页 (新建一个窗口))
cookie 跟swssion 是对应的,把是数据存在客户端
application 这个内置对象的生命周期是随着你的tomcat的开启,而产生这个内置对象(统计网站访问的次数)
(存在那个内置对象,就通过那个内置对象来获取)
//把数据存在request内置对象里面,通过标签跳转过去产,是获取不到值,原因:a 标签其实就是跟你的重定向相似,改变了url地址,也就是重新发送了一次请求
//session 内置对象来获取值,只要你的会话不关闭,都能获取到值,也就是在一次会话里
//application内置对象,只要你的容器(Tomcat)没有关闭,都能获取到值
//内置对象人作用域 从大到小:applicaton>session>request>pageContext;
表示当前面 作用域也是在当前页里面 同样是通过setAttribute 来存值,setAttribute所有内置对象的这个方法getAttribute,返回的都是object
//pageContext.setAttribute(“userName”,“admin”)(比较少用)
reqest.setAttribuer(“userName”,“admin”)
pageContext.getAttribute(“userName”)
上传图片
form 表单:
method:必须用post类型
enctype:不能使用默认的。要改成:enctype=“multipart/form-data”
//转换为迭代器
例:Iterator iterator=list.iterator();
//获取到from表单里的name的值
例:String key=fileItem.getFieldName();
例:if(key.equals(“pid”)){
//获取到文件的名
例:String fileName=fileItem.getName();