jsp登录界面连接mysql数据库并进行验证的方式

简单的登陆连接数据库进行JavaScript 验证)

方法与步骤:

1.建立一个与数据库相对应的实体类(pojoUser

2.建立一个与数据库相连的DAODataBaseDAO

3.建立一个从数据库管理数据库数据的类UserDAO

4.实体类是一个包,与数据库相关的是一个包

①.建立登陆页面

<html>

<head>
<title>登录界面</title>
</head>

<body>

<form action="checklogin.jsp" method="post" onsubmit="return validate()">

<table align="center" border="1">

<tr>

<td align="right">用户名:</td>

<td><input type="text" name="username" id="username" value=""/>

</td>

</tr>

<tr>

<td align="right">密码:</td>

<td><input type="password" name="password" id="password" value=""/></td>

</tr>

<tr>

<td colspan="2" align="center">

<input type="submit"  value="登录"/>

<a href="zhuce.jsp"><input type="button"  value="注册"/></a>

</td>

</tr>

</table>

</form>

</body>

</html>

②.建立检查用户和密码的页面

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<%@ page import="com.anbo.test.dao.*,com.anbo.test.pojo.*"%>

<%

String name = request.getParameter("username");

name = new String(name.getBytes("iso-8859-1"),"utf-8");

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

UserDAO ud = new UserDAO();

User u = ud.getUser(name,pwd);

if(u!=null){

response.sendRedirect("success.jsp");

}else{

out.println("<script>alert('用户名或者密码不正确,请登录或者注册');location.href='login.jsp';</script>");

}

 

%>

③.建立注册页面

<body>

<form action="checkzhuce.jsp" method="post" onsubmit="return validate()">

<table align="center" border="1">

<tr>

<td align="right">用户名:</td>

<td><input type="text" name="username" id="username" value="" />

</td>

</tr>

<tr>

<td align="right">密码:</td>

<td><input type="password" name="password" id="password" value=""/></td>

</tr>

<tr>

<td align="right">确认密码:</td>

<td><input type="password" name="newpwd" id="newpwd" value=""/></td>

</tr>

<tr>

<td colspan="2" align="center">

<input type="submit"  value="注册"/>

<input type="reset"  value="重置"/>

</td>

</tr>

</table>

</form>

</body>

④.建立检查注册页面,并把数据添加到数据库

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<%@ page import="com.anbo.test.dao.*,com.anbo.test.pojo.*"%>

<%

String name = request.getParameter("username");

name = new String(name.getBytes("iso-8859-1"),"utf-8");

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

String newpwd = request.getParameter("newpwd");

UserDAO ud = new UserDAO();

if(ud.addUser(name,pwd)){

out.println("<script>alert('注册成功!');location.href='success.jsp';</script>");

}else{

out.println("<script>alert('注册失败!');location.href='zhuce.jsp';</script>");

}

%>

⑤.登陆成功页面

成功登陆!

注:客户端验证(javaScript

1.检查注册

<script type="text/javascript">

function validatename(){

    var text=document.getElementById('username').value;

//if(text==null||text==''){

//不为空和输入的不是空格

      if(text==null||text.replace(/^\s+,""/).replace(/^\s+$/,"")==''){

alert('用户名不能为空!');

//重新获得焦点

document.getElementById('username').focus();

return false;

}

return true;

}

function validatepwd(){

var pwd=document.getElementById("password").value;

var newpwd=document.getElementById("newpwd").value;

if(pwd==""||pwd.replace(/^\s+,""/).replace(/^\s+$/,"")==''){

alert('密码不能为空!');

document.getElementById("password").focus();

return false;

}

if(newpwd==""||newpwd.replace(/^\s+,""/).replace(/^\s+$/,"")==''){

alert('密码不能为空!');

document.getElementById("newpwd").focus();

return false;

}

if(pwd!=newpwd){

alert('密码不相等!请重新录入');

return false;

}

return true;

}

function validate(){

//注意他的逻辑关系当输入的为数字是返回的是false

var flag=validatename();

if(flag==false){

return false;

}

var flag=validatepwd();

if(flag==false){

return false;

}

return true;

}

</script>

2.检查登陆用户名和密码不能为空

<script type="text/javascript">

function validatename(){

    var text=document.getElementById('username').value;

//if(text==null||text==''){

//不为空和输入的不是空格

      if(text==null||text.replace(/^\s+,""/).replace(/^\s+$/,"")==''){

alert('用户名不能为空!');

//重新获得焦点

document.getElementById('username').focus();

return false;

}

return true;

}

function validatepwd(){

 var pwd=document.getElementById("userpwd").value;

if(pwd==""||pwd.replace(/^\s+,""/).replace(/^\s+$/,"")==''){

alert('密码不能为空!');

document.getElementById("userpwd").focus();

return false;

}

return true;

}

function validate(){

//注意他的逻辑关系当输入的为数字是返回的是false

var flag=validatename();

if(flag==false){

return false;

}

var flag=validatepwd();

if(flag==false){

return false;

}

return true;

}

</script>

⑥.连接数据库的DAODataBaseDAO

package com.anbo.test.dao;

 

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

 

public class DataBaseDAO {

private String driver="com.mysql.jdbc.Driver";

private String url="jdbc:mysql://localhost:3306/myuser";

private String name = "root";

private String pwd="root";

Connection conn=null;

//建立与数据库的连接

public DataBaseDAO(){

try {

Class.forName(driver);

conn = DriverManager.getConnection(urlname,pwd);

catch (ClassNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

//关闭与数据库的连接

public void CloseConn(){

try {

if(conn!=null){

conn.close();

}

catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

//建立执行sql语句的对象并返回影响的行数

public int executeUpdate(String sql){

Statement stmt;

try {

stmt = this.conn.createStatement();

int rows = stmt.executeUpdate(sql);

return rows;

catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return 0;

}

//创建返回结果集的对象

public ResultSet executeQuery(String sql){

ResultSet rs;

Statement stmt;

try {

stmt = this.conn.createStatement();

rs = stmt.executeQuery(sql);

return rs;

catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return null;

}

//将数据插入到数据库

public int executeUpdate(String sql,Object[] p){

PreparedStatement pstmt;

try {

pstmt = this.conn.prepareStatement(sql);

int i=1;

for(Object o:p){

pstmt.setObject(i, o);

i++;

}

int rows = pstmt.executeUpdate();

return rows;

catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return 0;

}

}

⑦.创建管理数据库的UserDAO

package com.anbo.test.dao;

 

import java.sql.ResultSet;

import java.sql.SQLException;

 

import com.anbo.test.pojo.User;

 

public class UserDAO {

//根据输入的数据从库总查询值,可以没有这个方法

public boolean checkuser(String name,String pwd){

String sql="select * from login where uname='"+name+"'and upwd='"+pwd+"'";

DataBaseDAO db = new DataBaseDAO();

ResultSet rs;

rs = db.executeQuery(sql);

try {

while(rs.next()){

return true;

}

catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

finally{

db.CloseConn();

}

return false;

}

//判断用户是存在

public User getUser(String name,String pwd){

String sql="select *  from login where uname='"+name+"'and upwd='"+pwd+"'";

DataBaseDAO db = new DataBaseDAO();

ResultSet rs=null;

User user=null;

rs = db.executeQuery(sql);

try {

while(rs.next()){

int id =rs.getInt(1);

String uname = rs.getString(2);

String upwd = rs.getString(3);

user = new User(id,uname,upwd);

}

catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

finally{

db.CloseConn();

}

return user;

}

//添加用户信息

public boolean addUser(String name,String pwd){

String sql="insert into login(uname,upwd) values(?,?)";

DataBaseDAO db = new DataBaseDAO();

Object[] pram={name,pwd};

int rows = db.executeUpdate(sql,pram);

if(rows>0){

return true;

}else{

return false;

}

}

 

}

⑧.创建User实体类

package com.anbo.test.pojo;

 

public class User {

private int id;

private String username;

private String password;

public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}

public String getUsername() {

return username;

}

public void setUsername(String username) {

this.username = username;

}

public String getPassword() {

return password;

}

public void setPassword(String password) {

this.password = password;

}

public User(int id, String username, String password) {

super();

this.id = id;

this.username = username;

this.password = password;

}

public User() {

super();

}

}

 

  • 1
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值