Serlvet学习笔记之三—数据库的操作

import java.sql.*;
import java.io.*;
import javax.servlet.http.*;
public class Logincl extends HttpServlet{
    public void doGet(HttpServletRequest req,HttpServletResponse res){
        Connection ct=null;
        Statement sm=null;
        ResultSet rs=null;
        try {
            String u=req.getParameter("username");
            String p=req.getParameter("passwd");
//连接Oracle数据库
            Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
             ct=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:mydev","dev1","dev1");
             sm=ct.createStatement();
             rs=sm.executeQuery("select passwd from users where username=‘"+u+"‘");
            //注入漏洞("select * from users where username=‘"+u+"‘ and passwd=‘"+p+"‘ or 1=‘"+1+"‘");
            if(rs.next()){
                String dbPasswd=rs.getString(1);
                if(dbPasswd.equals(p)){
                    res.sendRedirect("welcome");
                }
            }else {
                res.sendRedirect("login");  //跳转的URL
            }
        } catch (Exception e) {
            e.printStackTrace();
        }finally{                 //关闭数据库资源
            try {
                if(rs!=null){
                    rs.close();
                }
                if(sm!=null){
                    sm.close();
                }
                if(ct!=null){
                   ct.close();
                }
            } catch (Exception ce) {
                ce.printStackTrace();
            }
        }
    }
    public void doPost(HttpServletRequest req,HttpServletResponse res){
        this.doGet(req, res);
        }
}
时间: 2024-08-25 04:33:44

Serlvet学习笔记之三—数据库的操作的相关文章

Django 学习笔记之三 数据库输入数据

假设建立了django_blog项目,建立blog的app ,在models.py里面增加了Blog类,同步数据库,并且建立了对应的表.具体的参照Django 学习笔记之二的相关命令. 那么这篇主要介绍往数据库中添加数据,django默认的是sqlite3数据库. 在建立完django_blog项目后,不要忘了把 blog 加入到 settings.py 中的 INSTALLED_APPS 中. 一.同步数据库,创建相应的表 具体的参照Django 学习笔记之二的的同步数据库. 二.数据输入 下

mysql学习笔记——对数据库的操作

一.启动/关闭 数据库服务: 1.打开cmd命令提示符窗口 2.输入命令 net start mysql  后,回车,则启动了mysql服务 3.输入命令 net stop mysql  后,回车,则关闭了mysql服务 二.登录数据库 1.打开cmd命令提示符窗口 2.启动mysql服务 net start mysql 3.登录   输入命令  mysql -u 用户名(如root) -p 回车 4.输入对应密码,回车 三.创建数据库 命令:create database 数据库名称; 其中,

Android:日常学习笔记(10)———使用LitePal操作数据库

Android:日常学习笔记(10)---使用LitePal操作数据库 引入LitePal 什么是LitePal LitePal是一款开源的Android数据库框架,采用了对象关系映射(ORM)的模式,将平时开发时最常用的一些数据库功能进行了封装,使得开发者不用编写一行SQL语句就可以完成各种建表.増删改查的操作.并且LitePal很"轻",jar包大小不到100k,而且近乎零配置,这一点和Hibernate这类的框架有很大区别.目前LitePal的源码已经托管到了GitHub上. 关

Symfony2学习笔记之数据库操作

数据库和Doctrine让我们来面对这个对于任何应用程序来说最为普遍最具挑战性的任务,从数据库中读取和持久化数据信息.幸运的是,Symfony和Doctrine进行了集成,Doctrine类库全部目标就是给你一个强大的工具,让你的工作更加容易. Doctrine是完全解耦与Symfony的,所以并不一定要使用它. 一个简单例子:一个产品,我们首先来配置数据库,创建一个Product对象,持久化它到数据库并把它读回来. 首先我们需要创建一个bundle: $php app/console gene

MySQL学习笔记之三 表类型

你能用的数据库引擎取决于MySQL在安装时候是如何被编译的.要添加一个新的引擎,就必须编译MySQL.仅仅为了添加一个特性而编译应用程序的想法对于Windows的开发人员来说可能有点小题大做,得不偿失,但是在Unix的世界里,这已经成为了标准.在缺省的情况下,MySQL支持三个引擎:ISAM.MyISAM和HEAP.另外两种类型InnoDB和Berkley(BDB),也常常可以使用. ISAM ISAM是一个定义明确且历经时间考验的数据表格管理方法,它在设计之初就考虑到数据库被查询的次数远远大于

《Hibernate学习笔记之三》:联合主键的映射

<Hibernate学习笔记之三>:联合主键的映射 就如在前面所举的例子一样,是使用的id作为唯一的主键,一般情况下我们也只使用唯一的一个属性作为主键,但是在实际中,我们可能会遇到几个属性作为主键的情况,因此,在本篇博文中,就来介绍下,联合主键的映射关系应该如何来做?? 联合主键的映射有两种方式来进行实现. 1.使用映射文件 XXX.bhm.xml 2.使用Annotation Hibernate首先需要使用联合主键的实体类必须实现Serializable接口,即为了使序列能够被序列化进行传输

Citrix XenMobile学习笔记之三:MAM移动应用管理(Mobility Application Management)

产品简介 思杰(Citrix)在其全面的企业移动解决方案中提供了企业级移动应用管理(MAM)功能.XenMobile MAM 版由CloudGateway发展而来.CloudGateway是思杰进入MAM的跳板.该产品的所有功能在XenMobile的MAM版中都有,现在叫做App版,思杰还有带有完整功能的企业版.XenMobile的移动应用管理组件运行在iOS.安卓.Windows.Windows Phone.Mac OS X.黑莓甚至塞班上.XenMobile支持iOS与安卓上的原生应用.MA

Windows phone 8 学习笔记(2) 数据文件操作(转)

Windows phone 8 应用用于数据文件存储访问的位置仅仅限于安装文件夹.本地文件夹(独立存储空间).媒体库和SD卡四个地方.本节主要讲解它们的用法以及相关限制性.另外包括本地数据库的使用方式. 快速导航:一.分析各类数据文件存储方式二.安装文件夹三.本地文件夹(独立存储空间)四.媒体库操作五.本地数据库 一.分析各类数据文件存储方式 1)安装文件夹 安装文件夹即应用安装以后的磁盘根文件夹,它提供只读的访问权限.它在手机中对应的路径为" C:\Data\Programs\{XXXXXXX

easyui学习笔记1—增删改操作【转载】

最近公司要用easyui,这里自己看了官网几篇文章,遇到些问题,大多数的问题都是敲代码的时候笔误,其他有些地方确实需要注意一下,这里做些笔记. 1.在mysql中建好表之后修改id字段为递增字段,发现这个奇怪的mysql语法,如下 alter table student change id id int auto_increment; 这句是在student表已经建好的情况下来修改字段id为自增列,奇怪的是为嘛change id id,并且后面还要带上id的类型int? 2.html5标记 如何