JavaEE学习笔记之Servlet
来源:互联网 发布:java web开发实战 编辑:程序博客网 时间:2024/06/08 09:31
同一用户的不同页面的共享数据
1.1 cookie技术
1.2 sendRedirect()转向
1.3 隐藏表单
1.4 session技术
session技术:
当用户打开浏览器,访问某个网站是服务器就在服务器内存中外该浏览器分配一个空间,该空间被这个浏览器独占
//得到session HttpSession hs = request.getSession(true); //向session中添加属性 hs.setAttrubute(String name, Object obj); //从session得到某个属性 String name = hs.getAttribute(String name); //从session删除某个属性 hs.removeAttribute(String name);
- session中属性存在的默认时间是30分钟(间隔时间,即所谓的发呆时间),你也可以在web.xml中修改(tomcat中的web.xml文件),或者是在程序中修改
- 当某个浏览器访问网站时,服务器会给浏览器分配一个唯一的session id并以此来区分不同的浏览器
- session的各个属性都会吃服务器的内存的
sendRedirect()转向
引用块内容
隐藏表单
<input type = "hidden" name="sex" value="1" />
servlet中显示图片
//在项目目录下放图片
PrintWriter out = response.getWriter();
out.println("<img src='???' >);"
Servlet操作数据库
特别要注意sql注入漏洞
select * from member where name='admin' and password='admin' or 1='1';
这样查出来的就是数据库中所有的信息在写登录验证时,使用jdbc连接数据库,查询语句如果是使用的sql语言拼接的方式,在输入框中输入 aaa’ or 1=’1’ 时,就会跳过登录界面
分页技术
首先需要定义四个变量
int pageSize //每页显示多少条记录
int pageNow //希望显示第几页
int pageCount //一共有多少页
int rowCount //一共有多少条记录
说明:
pageSize // 是程序员设定
pageNow //用户选择
rowCount //是从表中查询得到的
pageCount //计算出来的`
if(rowCount % pageSize == 0) pageCount = rowCount%pageSize;else pageCount = rowCount%pageSize + 1;
实际利用数据库查询的操作实现分页
//分页数据库查询核心代码select top ? * form table where id not in (select top ? id from table)//第一个问号的值是每页显示的条数,第二个问号的值是 (希望显示页数-1)的值//利用页面的跳转,每跳转一次就执行一次查询语句,显示当前查询的内容
cookie技术
cookie是在服务端生成,然后写回到客户端
cookie类似于Java中的Map集合(键值对),其名字就是Map的键,其值就是Map的值
cookie的名字和值的类型都是String类型
创建cookie
//在服务器端创建一个cookieCookie cookie = new Cookie("name", name);//该cookie的生存时间, 计时为 秒//如果不设置生存时间,该cookie是不会被保存的cookie.setMaxAge(30);//将该cookie写回到客户端,通过response对象来完成response.addCookie(cookie);
在客户端读取cookie
//从客户端得到所有的cookie信息Cookie[] allCookie = req.getCookie();int i=0;if(allCookie!=null){ //遍历该Cookie数组 for(i=0; i<allCookie.length;i++){ //依次取出 Cookie temp = allCookie[i]; //判断是否是需要的Cookie(通过cookie名称来识别) if(temp.getName().equals("name")){ //取出该cookie的值 String val = temp.getValue(); } }}
cookie和session的比较
- cookie保存在客户端,session保存在服务器端
- cookie的安全性比session要弱
- cookie通过网络在客户端与服务器端传输,而session保存在服务器端,不需要传输
- 加粗
Ctrl + B
- 斜体
Ctrl + I
- 引用
Ctrl + Q
- 插入链接
Ctrl + L
- 插入代码
Ctrl + K
- 插入图片
Ctrl + G
- 提升标题
Ctrl + H
- 有序列表
Ctrl + O
- 无序列表
Ctrl + U
- 横线
Ctrl + R
- 撤销
Ctrl + Z
- 重做
Ctrl + Y
可以使用冒号来定义对齐方式:
- JavaEE学习笔记之Servlet
- JavaEE学习笔记之Servlet/JSP(2)
- JavaEE学习笔记之Servlet/JSP(3)
- JavaEE学习笔记之Servlet/JSP(4)
- JavaEE学习笔记之Servlet/JSP(5)
- JavaEE学习笔记之Servlet/JSP(6)
- JavaEE学习笔记之Servlet/JSP(1)
- JavaEE学习笔记之Servlet/JSP—EL表达式
- JavaEE学习笔记分享之初识JavaEE
- 【JavaEE】javaEE学习笔记之事物
- JavaEE 学习整理笔记: Servlet 介绍
- JavaEE学习之路-Servlet Lifecycle
- javaee学习之路(六)Servlet过滤器
- javaee学习之路(七)Servlet监听器
- javaEE之------Hibernate学习笔记
- 学习笔记之javaEE基础
- javaEE servlet学习
- JavaEE学习03--Servlet
- 剑指offer面试题5——链表之从尾到头打印链表
- (一)切片
- Java 不同方式,不同位置创建String字符串的区别
- Fix could not install *smartsocket* listener
- quartz集成spring
- JavaEE学习笔记之Servlet
- HDU 5934 强连通分量
- 2017CCPC哈尔滨滚粗记
- solrCloud 集群搭建
- 设计模式(单例模式)
- const&内联&友元
- 网络层的协议
- 5位运动员参加了10米台跳水比赛,预测比赛结果
- Python学习(1)--变量与表达式