/*练习题:
* 在Mysql数据库中创建一个person数据表,添加三个字段,id,user,password,并录入几条记录
*
*练习题:定义一个login.html,里面定义了两个请求字段:user,password,发送请求到loginServlet。
*再创建一个,LoginServlet(需要继承自HttpServlet,并重写doPost方法)
*在其中获取请求的user,password
*
*利用jdbc从person表中查询有没有和页面输入的user,password对应的记录
*
*若有则相应Hello:XXX,若没有,相应sorry:XXX XXX 为user
* */

------------------------------------------------------------------------------------------------------------------

首先在mysql中建立一个表名我person的表,然后再将连接数据库的开源包导进去

------------------------------------------------------------------------------

在lib下面的web.xml文件配置为:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">

<!-- loginServlet的配置和映射 -->
<servlet>
<servlet-name>loginServlet</servlet-name>
<servlet-class>com.lanqiao.javatest.LoginServlet1</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>loginServlet</servlet-name>
<!-- /loginServlet是login.html中表单的提交方法 -->
<url-pattern>/loginServlet</url-pattern>
</servlet-mapping>

</web-app>

-------------------------------------------------------------------------------------------

在WebContent下面建立的表单login.html,使类,配置文件,表单建立起来了连接

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>表单的提交方法</title>
</head>
<body>
<form action="loginServlet" method="post">
<p>
username:<input type="text" name="username"/>
password:<input type="password" name="password"/>
<br><br>
<input type="submit" value="Submit"/>
</p>
</form>
</body>
</html>

-------------------------------------------------------------------------------------

LoginServlet1类:

public class LoginServlet1 extends HttpServlet{

//HttpServlet: 是一个 Servlet, 继承自 GenericServlet. 针对于 HTTP 协议所定制.

@Override
//重写doPost方法
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
PrintWriter out=resp.getWriter();

String username1=req.getParameter("username");
String password1=req.getParameter("password");

String sql="select count(id) from person where "
+ "username=? and password=?";
Connection connection=null;
PreparedStatement preparedStatement=null;
ResultSet resultSet=null;
try {
//获取连接数据库的文件
Class.forName("com.mysql.jdbc.Driver");
String url="jdbc:mysql:///test";
String username2="root";
String password2="lxn123";

connection=DriverManager.getConnection(url, username2, password2);
preparedStatement=connection.prepareStatement(sql);
preparedStatement.setString(1, username1);
preparedStatement.setString(2, password1);
resultSet=preparedStatement.executeQuery();

if(resultSet.next()){
int count=resultSet.getInt(1);
if (count>0) {
out.println("Hello:"+username1);
}
else{
out.println("Sorry:"+username1);
}

}
} catch (Exception e) {
e.printStackTrace();
}
finally {
if (resultSet!=null) {
try {
resultSet.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (preparedStatement!=null) {
try {
preparedStatement.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (connection!=null) {
try {
connection.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}

}

javaWEB小练习:在数据库中查找相同的username和password的更多相关文章

  1. db2数据库中查找数据库表

    模糊查找db2数据库中的数据库表: select tabname,remarks from syscat.tables where TABNAME like  'DM%' select 'DROP T ...

  2. javaweb利用javabean将数据库中内容遍历在页面输出

    效果如下图 它所实现的就是把数据库中一个表中所有的数据一条一条以表格的形式输出在网页上, 实现方法如下 首先我们要从数据库读取数据,这里要借助javabean来方便我们传递数据 以上面的为例,我要输出 ...

  3. apropos - 在 whatis 数据库中查找字符串

    总览 (SYNOPSIS) apropos keyword ... 描述 (DESCRIPTION) apropos 命令在一些特定的包含系统命令的简短描述的数据库文件里查找关键字, 然后把结果送到标 ...

  4. SQL Server 在数据库中查找字符串(不知道表名的情况下 查找字符串)

    declare @key varchar(30)set @key = '广州' --替换为要查找的字符串DECLARE @tabName VARCHAR(40),@colName VARCHAR(40 ...

  5. SQL 在数据库中查找拥有此列名的所有表

    SELECT TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME='Column' #"Column"为要查询 ...

  6. 为什么 as sysdba着陆方法oracle数据库,为什么刚刚输入username和password我们都可以登录?

    事实上,这是oracle问题数据库的身份验证方法 该 sqlnet.ora在文件 SQLNET.AUTHENTICATION_SERVICES= (NTS) 变 SQLNET.AUTHENTICATI ...

  7. mybatis查询mysql 数据库中 BLOB字段,结果出现乱码

    起因 mybatis-plus 通过Mapper 查询数据,映射出来的BLOB字段中的yml数据中文是乱码的 --- DefaultValue: '' Formula: '' HintContent: ...

  8. 将 node.js 的数据保存到 mongo 数据库中

    Mongo 数据库 安装 首先到 Mongo 的官方网站下载安装程序:http://www.mongodb.org/,我下载的文件名为:mongodb-win32-x86_64-2008plus-2. ...

  9. iOS数据库之查找功能的实现

    首先引入文件: libsqlite3. FMDB(包含Global.m,Global.h文件) 关闭arc 用mesaSqlite创建一个数据库,引入文件中 其次: 首先,在Global.h文件中找到 ...

随机推荐

  1. WebService之Axis2(5):会话(Session)管理

    WebService给人最直观的感觉就是由一个个方法组成,并在客户端通过SOAP协议调用这些方法.这些方法可能有返回值,也可能没有返回值.虽然这样可以完成一些工具,但这些被调用的方法是孤立的,当一个方 ...

  2. J2EE MyBatis使用

    MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis .20 ...

  3. tomcat war包部署

    平常的开发我们都是通过IDE进行项目的部署,但有时候我们不得不进行手工部署(例如在Server上). 手工部署分为以下几步: 第1步: 用maven打war包 (假如得到的war包名为: appkit ...

  4. Effective C++ 4.设计与声明

    //条款18:让接口容易被正确使用,不易被误用 // 1.如果客户企图使用某个接口而却没有获得他所预期的行为,那么这个代码就不该通过编译. // 2.促进正确使用的方法包括接口的一致性,以及与内置类型 ...

  5. php4.3.4.4、apache2.0.4.8、mysql 4.0.26、window7 配置过程

    apache的安装不需要过程,直接默认安装,下一步 下一步就Ok了. php4的安装: 1 将php-4.0.4-Win32.zip(最新版本4.0.4)解压缩到硬盘的一个目录中,例如解压到E:php ...

  6. 构造方法特点,void

    构造方法特点: 1.和类有相同的名字 2.无返回值 3.被默认强制void void作用:====>>说明声明的方法没有返回值 构造方法作用: -->初始化实例属性 -->用于 ...

  7. Spring 中的 Bean 配置

    内容提要 •IOC & DI 概述 •配置 bean –配置形式:基于 XML 文件的方式:基于注解的方式 –Bean 的配置方式:通过全类名(反射).通过工厂方法(静态工厂方法 & ...

  8. contentProvider

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools=&q ...

  9. 夺命雷公狗---node.js---11之文件上传

    我们在做文件上传前需要用npm来安装一个插件先, 首先打开项目所在的目录,然后按住shift键然后右键鼠标进入命令行安装formidable 然后开始编写上传的静态页面: <!DOCTYPE h ...

  10. 安装 Apache 出现 <OS 10013> 以一种访问权限不允许的方式做了一个访问套接字的尝试

    在安装Apache的过程中出现: 仔细查看提示: make_sock: could not bind to address 0.0.0.0:80 恍然大悟,计算机上安装了IIS7,80端口已占用. 打 ...