jsp mysql做登入界面_用jsp实现网站登录界面的制作,并连接数据库

这里介绍一下怎样连接数据库,并用jsp制作一个简单的登录界面

1.首先需要搭建好环境,有Tomcat,eslipse,jdk等,并配置好环境变量,并安装好数据库,这里我使用的数据库是mysql数据库,并下载了一个MySQL的图形界面的软件,当上面的准备工作完成后就可以开始做了。

2.(1)首先应该连接好数据库

这是数据库的图形显示界面,

(2)打开后首先创建一个mysql新连接。

(3)然后在这个界面设置好这个连接点的名字,还有密码,密码需要记住,在以后打开mysql后连接数据库的的时候需要输入,其他的内容不需要修改,完成后点击确定即可。

(4)在这个连接点的wzw1下新建一个表

(5)新建表以后需要在表格中填入信息,因为我们用到的是用户的用户名和密码,所以建立user和password

(6)点击添加字段

(7)添加字段以后然后继续填入信息

(8)然后点击保存,在弹出的界面中输入表的名字

(9)我新建的表名是wzw2,打开然后看到这个界面,说明,建表成功

这样,你就完成了mysql的对于建立登陆界面的初级设置。

3,接下来,打开eslipse,新建一个这样的工程

会出现如下界面

第一次打开需要配置好tomcat

然后输入工程名,点击finish即可

4.建立好工程后,从你的mysql-connector-java下找到下图所示的文件,将他复制下来

打开创建的工程,在文件名为WebContent下的WEB—INF下的lib文件下,粘贴复制的内容,这样就可以把mysql和这个工程相连接,如下图所示

这样就连接成功了

5.然后可以新建一个jsp文件

输入自己想命名的文件名,点击finish

打开jsp文件会出现如下界面,需要将charset=ISO-8859-1改为charset=utf-8

写jsp文件需要了解一些html的编写语法,下面是我的代码

function$(id) {return document.getElementById(id); //这个是返回一个id格式命名的对象,比如说下面的用户名标签里面的id是“user”,那么返回的就是user这个对象,

//返回的对象可以留给下面的check()方法使用

}function check(){//check()方法是用来判断是否跳转到下一个jsp界面。

var user=$("user").value;var psd=$("psd").value;//用user和psd获取对象的信息

$("userinfo").innerHTML="";

$("psdinfo").innerHTML="";//用userinfo和psdinfo来书写提示内容,例如没有输入用户名这个提示信息,没有输入密码等,

if(user=="")//如果用户名为空,将userinfo的内容赋为如下内容,即可以显示提示信息

{

$("userinfo").innerHTML="用户名不能为空";

$("user").focus();return false;//这时候不能跳转页面,所以返回为false

}if(psd=="")

{

$("psdinfo").innerHTML="密码不能为空";//同上

$("psd").focus();return false;

}return true;

}//script之中写的是Java的内容,下面的是

登录
//这个标签是用来引用下一个jsp文件,引用方式是通过看check(),如果是true就进入下一个界面,否则就停在这个界面。
用户名
密码
登录结果

Connection conn = null;

PreparedStatement pstmt= null;

ResultSet rs= null;//定义好链接,执行,和结果

String driverName = "com.mysql.jdbc.Driver";

String userName= "root";//数据库的名

String userPwd = "199762";//数据库密码

String dbName = "wzw1";//数据表的名字

String url1 = "jdbc:mysql://localhost:3306/" +dbName;

String url2= "?user=" + userName + "&password=" +userPwd;

String url3= "&useUnicode=true&characterEncoding=UTF-8";//规定好字符集

String url = url1 + url2 + url3;//将上面三条的信息总起来

request.setCharacterEncoding("UTF-8");//规定好字符集

Class.forName(driverName);//连接数据库

conn = DriverManager.getConnection(url);//把信息传过来

String sql = "select * from wzw1 where user=? and password=?";//查询的命令

pstmt = conn.prepareStatement(sql);//执行

String user = request.getParameter("userName");//获取上一个页面的信息

String password = request.getParameter("userPwd");

pstmt.setString(1, user);//对两个内容进行处理

pstmt.setString(2, password);

rs= pstmt.executeQuery();//查询

if(rs.next()) {%>

用户 登陆成功!

用户名或密码错误!

rs.close();

}if(pstmt != null) {

pstmt.close();

}if(conn != null) {

conn.close();//这里哪里出现问题了,就关掉那个变量

}%>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/417832.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

decimal 和 numeric (Transact-SQL)

带固定精度和小数位数的数值数据类型。 decimal[ (p[ , s] )] 和 numeric[ (p[ , s] )] 固定精度和小数位数。使用最大精度时,有效值从 - 10^38 1 到 10^38 - 1。decimal 的 SQL-92 同义词为 dec 和 dec(p, s)。numeric 在功能上等价于 decimal。p(精度…

java流的应用_Java中I/O流的应用

Java中I/O流的应用iLeGeNDpackagecom.hp.io;/** I/O流的应用 * 实现目标: * 首先创建一个文件 * 通过键盘向文件添加内容 * 然后把文件的内容打印到控制台 * */import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import ja…

PHP的反射类ReflectionClass、ReflectionMethod使用实例

PHP5 具有完整的反射API,添加对类、接口、函数、方法和扩展进行反向工程的能力。 反射是什么? 它是指在PHP运行状态中,扩展分析PHP程序,导出或提取出关于类、方法、属性、参数等的详细信息,包括注释。这种动态获取的信…

java 多线程跑数据_java——多线程的实现方式、三种办法解决线程赛跑、多线程数据同步(synchronized)、死锁...

多线程的实现方式:demo1、demo2demo1:继承Thread类,重写run()方法packagethread_test;public class ThreadDemo1 extendsThread {ThreadDemo1(){}ThreadDemo1(String szName){super(szName);}//重载run函数public voidrun() {for(int count …

word2007鼠标不好用

因为我装了 Powerdesigner 12.5,这个 COM 插件和 Word 2007 有冲突,所以导致了上面的问题,只要在 Word 移除这个 Addin 就可以了:左上角office图标——office选项——加载项——管理加载项——转到——去掉Powerdesigner Add-In前…

Axure5.1不能输入中文问题.

不能输入中文问题默认输入法改成“英语(美国)——美式键盘”。然后再进行切换就可以了。

java 静态线程_Java线程类静态本机void yield()方法(带示例)

线程类静态本机无效 yield()软件包java.lang.Thread.yield()中提供了此方法。yield()方法表示停止当前正在执行的线程,并为其他优先级相同的等待线程提供机会。如果没有等待线程,或者所有等待线程的优先级都较低,则同一线程将继续执行。这种方…

学习资料(不定更新)

w3cschool : http://www.w3school.com.cn/h.asp 菜鸟教程:http://www.runoob.com/ 51CTO: http://www.51cto.com/ angularjs: https://angularjs.org/ Python学习大本营: http://www.pythondoc.com/ http://webpy.org/ 比较好用的图表JS框架: http://www…

PowerDesigner物理数据模型

物理数据模型 name 显示名称code 生成代码中的名称comment 生成代码中备注生成代码中特例:外键名在Integrity——Constraint name主键名Constraint name

struts2-19-合法用户上传文件

一:登录页面 成功:--->upload.jsp 失败:返回错误信息(用户名或者密码错误) 二:上传文件 登录成功:上传成功 未登录:--->login.jsp错误信息(请登录) 三…

java 多线程生产者_java-Runnable加锁实现生产者和消费者的多线程问题

//库存函数,保存着库存的信息Storage.javapublic classStorage {//模拟库存public Integer num1;}//生产者函数 product.java/************************************************************Copyright (C), 1988-1999, Huawei Tech. Co., Ltd.FileName: Customer.j…

Axure共享问题

获取共享项目 文件——获取共享项目——\\192.168.0.212\axureshare\HZ下一步——选择本地保存路径 签入签出 A签出——修改——签入——B获新就能看到新的了A签出的时候B不能更改 当A签出时,B无法查看动态面板的每个状态此时可以把面板复制到自己的页面看 修改中可…

maven项目和普通项目转换

转载于:https://www.cnblogs.com/yver/p/6054131.html

.java文件_【转】java文件操作大全

一.获得控制台用户输入的信息public String getInputMessage() throws IOException...{System.out.println("请输入您的命令∶");byte buffer[]new byte[1024];int countSystem.in.read(buffer);char[] chnew char[count-2];//最后两位为结束符,删去不要f…

T-SQL 字符串前加 N 是什么意思

比如 select status Nstopped 那么其中的字符串 stopped 前面为什么要加 N 呢?而且我们发现有些地方加 N 与否都没有影响,有些地方又必须加 N。 N 在这里表示 Unicode,就是双字节字符。对于西文字符,用一个字节来存储过足够了&am…

Gradle用户指南(1)-Gradle安装

前置条件 Gradle 需要 Java JDK 或者 JRE,版本是 6 及以上。Gradle 将会装载自己的 Groovy 库,因此,Groovy 不需要被安装。任何存在的 Groovy 安装都会被 Gradle 忽略。 Gradle 使用你 path 中的 JDK,或者,您可以设置 java_home 环…

幻读Java_脏读、幻读、不可重复读和丢失更新

1.脏读 -- 一个事务读取到另外一个事务没有提交的数据事务T1:更新一条数据-->事务T2:读取事务T1更新的记录事务T1:调用commit进行提交此时事务T2读取到的数据是保存在数据库内存中的数据,称为脏数据,这个过程称为脏…

数据库生成文本文件

通过SQLServer配置管理器——功能的外围应用配置器——打开xp_cmdshell xp_cmdshell "cmd /c echo aaaaa>>a.txt"有特殊符号(如换行<>()%|[]等)须加特殊符号前加^ 调试&#xff1a;-------------aa.cmd---------------echo 但有时候加与不加都一样&#…

第十六章:Java内存模型——Java并发编程实战

一、什么是内存模型&#xff0c;为什么要使用它 如果缺少同步&#xff0c;那么将会有许多因素使得线程无法立即甚至永远看到一个线程的操作结果 编译器把变量保存在本地寄存器而不是内存中编译器中生成的指令顺序&#xff0c;可以与源代码中的顺序不同处理器采用乱序或并行的方…