/*练习题:
* 在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. IE11和传统asp.net的兼容问题

    有一个后台程序是用传统asp.net webform做的,今天发现用chrome浏览没有问题, 反而用IE就出2个问题了. 原来IE静静地升级到11了 1. url里带上session Id 2.gr ...

  2. segger 烧写superboot

    选择友善之臂的superboot ,然后才能运行minitool工具进行下载系统,boot->kernel->root   nand flash 启动方式,minitool烧写 bootl ...

  3. Session的工作机制详解和安全性问题(PHP实例讲解)

    我们先简单的了解一些http的知识,从而理解该协议的无状态特性.然后,学习一些关于cookie的基本操作.最后,我会一步步阐述如何使用一些简单,高效的方法来提高你的php应用程序的安全性以及稳定行. ...

  4. java中创建线程的几种方法及区别

    1,实现Runnable接口创建线程 特点: A:将代码和数据分开,形成清晰的模型 B:线程体run()方法所在的类可以从其它类中继承一些有用的属性和方法 C:有利于保持程序风格的一致性 2,继承Th ...

  5. pic计数

    #include <pic.h> //用的是PICC编译器 __CONFIG (HS & PROTECT & PWRTEN & BOREN & WDTDIS ...

  6. Mysql 注意细节

    1.无法连接远程数据库,是因为远程服务器并没有开通权限,提供给其他机子连接: 在服务器机子 开通权限: 1)进去MySql 2)mysql>GRANT   ALL   PRIVILEGES    ...

  7. hadoop 启动停止命令

    1       批量启动与停止 1.1  Start-all.sh # Start all hadoop daemons.  Run this on master node. bin=`dirname ...

  8. NOIP200205均分纸牌

                                                                  均分纸牌 描述 有 N 堆纸牌,编号分别为 1,2,…, N.每堆上有若干张 ...

  9. 文字处理控件TX Text Control X10独家揭秘(一):数据源自动处理

    TX Text Control即将发布的X10版本,将升级重点还是放到了其比较优势的流式布局报表设计和生成上.慧都获得了来自其开发商Text Control GmbH公司的一手资料,迫不及待的为大家带 ...

  10. oracle 序列 ,check约束

    ====================序列 //查询当前用户序列 select * from user_sequences //查询所有序列 select * from all_sequences; ...