Servlet基础学习二(共享数据,操作数据库)
2014-02-20 13:50
253 查看
一、共享数据
(1)cookie技术:
服务器在客户端保存用户的信息,数据量不大,保存在C:Documents and Settings。
cookie的作用:
a.保存用户登录信息,一定时间不用重新登录
b.记录用户访问网站的喜好
c.网站的个性化
(2)sendRedirect():
传送信息快,但只能传输字符串。格式sendRedirect(url?"变量1名="+值&"变量2名 ="+值&...)
中文需要处理乱码情况。
(3)隐藏表单 <input type=hidden>
(4)session技术:当用户提出请求时,服务器会为该用户分配一个独立的内存空间。
如购物车/登录用户的信息/用户权限 多组键值对 session默认存在时间是30min
操作数据库:(验证用户信息)
需要的jar包1.拷贝到WEB-INF/lib目录下【独用lib库】 2.拷贝到%tomcat%commons/lib目录下【公用lib库】
sql注入漏洞:
解决方法:通过用户名查找数据库中匹配的密码,然后与输入的密码比较,判断是否相同。
(1)cookie技术:
服务器在客户端保存用户的信息,数据量不大,保存在C:Documents and Settings。
cookie的作用:
a.保存用户登录信息,一定时间不用重新登录
b.记录用户访问网站的喜好
c.网站的个性化
(2)sendRedirect():
传送信息快,但只能传输字符串。格式sendRedirect(url?"变量1名="+值&"变量2名 ="+值&...)
中文需要处理乱码情况。
(3)隐藏表单 <input type=hidden>
(4)session技术:当用户提出请求时,服务器会为该用户分配一个独立的内存空间。
如购物车/登录用户的信息/用户权限 多组键值对 session默认存在时间是30min
//得到session HttpSession hs=request.getSession(true); //添加属性 hs.setAttribute(String name,Object val); //得到属性 String att=hs.getAttribute(String name); //删除属性 hs.removeAttribute(String name);
操作数据库:(验证用户信息)
public void doGet(HttpServletRequest req,HttpServletResponse res) { try{ //接受用户名和密码 String u=req.getParameter("username"); String p=req.getParameter("passwd"); //连接数据库 Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver") //得到连接 Connectiong ct=DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:端口号:databaseName=数据库名",用户名,密码); //创建Statement Statement sm=ct.createStatement(); ResultSet rs=sm.executeQuery("select top 1 * from users where username="+u+" and passw="+p+""); //验证 if(rs.next()){ } } catch(Exception(ex) {ex.printStackTrace();} finally{ try { if(rs!=null)//关闭顺序不可变 rs.close(); if(sm!=null) sm.close(); if(ct!=null) ct.close() } catch{Exception e){ exprintStackTrace(); } } }
需要的jar包1.拷贝到WEB-INF/lib目录下【独用lib库】 2.拷贝到%tomcat%commons/lib目录下【公用lib库】
sql注入漏洞:
select * from users where username="admin" and password="admin" or 1="1"这样会输出数据库该表的全部内容。
解决方法:通过用户名查找数据库中匹配的密码,然后与输入的密码比较,判断是否相同。
相关文章推荐
- servlet小总结3----同一用户的不同页面的共享数据的四种方法,及Servlet中操作数据库时等
- (大数据工程师学习路径)第一步 Linux 基础入门----文件系统操作与磁盘管理
- SQLserver学习day03 数据表基本概念和操作的学习与管理 数据库关系图
- 数据库(学习整理)----4--Oracle数据查询(基础点1)
- YII2框架学习 基础篇(二) YII2数据库操作
- ThinkPHP 数据库操作之数据表模型和基础模型 ( Model )
- (大数据工程师学习路径)第四步 SQL基础课程----创建数据库并插入数据
- java学习数据库操作基础更规范的写法——————工具类
- servlet学习---第三天(同一用户的不同页面数据共享)
- MySQL 基础学习一 数据库以及单表的基本操作
- Oracle基础学习三之数据操作及伪列
- (大数据工程师学习路径)第一步 Linux 基础入门----目录结构及文件基本操作
- 很全面的Mysql数据库、数据库表、数据基础操作笔记(含代码)
- Oracle基础学习二:表的创建 数据的操作 在VS程序中的查询显示
- 一步一步跟我学习hadoop(7)----hadoop连接mysql数据库执行数据读写数据库操作
- java学习数据库操作基础更规范的写法——————调用类
- Servlet学习之三不同页面数据共享
- 【VC++ 中使用ADO操作数据库学习笔记】 基础环境的设置
- Android基础教程——数据存储之操作数据库SQLlite(一)
- C++数据库操作学习笔记:ADO基础知识