jsp登陆验证mysql_关于jsp连接mysql数据库登陆验证代码的问题

本人初学jsp,以下是有问题的代码:

本人初学jsp,以下是有问题的代码:

过渡

final String DBDRIVER = "com.mysql.jdbc.Driver" ;

final String DBURL = "jdbc:mysql://localhost:3306/text2"; //text2数据库名

PreparedStatement pstmt = null ;

ResultSet rs = null ;

%>

request.setCharacterEncoding("gb2312");

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

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

String userName="root";

String userpasswd="123456789";

String dbName="text";

String tableName="text";

String

url="jdbc:mysql://localhost:3306/"+dbName+"?user="+userName+"&password="+userpasswd+"&useUnicode=true&characterEncoding=GB2312";

Class.forName("com.mysql.jdbc.Driver").newInstance();

Connection conn =DriverManager.getConnection(url) ;

String sql = "SELECT name FROM admin WHERE name=? AND password=?" ;

boolean flag = false ;

try

{

Class.forName(DBDRIVER) ;

conn = DriverManager.getConnection(DBURL,"root","123456789") ;

pstmt = conn.prepareStatement(sql) ;

pstmt.setString(1,username) ;

pstmt.setString(2,password) ;

rs = pstmt.executeQuery() ;

if(rs.next())

{

username = rs.getString(1) ;

flag = true ;

}

rs.close() ;

pstmt.close() ;

conn.close() ;

}

catch(Exception e)

{

System.out.println(e) ;

}

%>

if(flag)

{

String name_s=null;

session.putValue("name_s",username);

response.sendRedirect("success.jsp");

//成功,传递session,转向

}

else{

out.println("");

}

%>

此代码问题是在运行网页时,输入用户名和密码,与数据库中的数据完全正确,但无法登陆界面,显示“请输入正确的用户名或密码”,请问问题出在哪里啊?求高手解决!!!

展开

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.sql.*" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>普通话水平测试报名系统</title> </head> <body> <center> <h1>普通话水平测试报名系统</h1> <hr> <br> <br> <% //接收用户提交的参数 String username=request.getParameter("uname"); String userpassword=request.getParameter("upassword"); String userjb=request.getParameter("userjb"); //设置一个变量保存登录状态,ture表示登录成功,false表示登录失败 boolean flag=true; %> <% String driverclass="com.mysql.jdbc.Driver"; String url="jdbc:mysql://localhost:3306/atao"; String uname="root"; String upass="958672"; Connection conn=null; PreparedStatement stmt=null; ResultSet rs=null; Class.forName(driverclass); conn=DriverManager.getConnection(url,uname,upass); if(userjb.equals("1")) {stmt=conn.prepareStatement("select * from users where user_id=? and userpass=? and role=?"); stmt.setString(1,username); stmt.setString(2,userpassword); stmt.setString(3,userjb); rs=stmt.executeQuery(); if(rs.next()) { flag=false; } if(flag){ %> <script type="text/javascript" language="javascript"> alert("密码错误或无权限登录,请重新登录"); window.document.location.href="dl-index.jsp"; </script> <% } else{ request.setCharacterEncoding("UTF-8"); session.setAttribute("uname",rs.getString(1)); session.setAttribute("upassword",rs.getString(2)); session.setAttribute("userjb",rs.getString(3)); response.sendRedirect("sgly/gg-index.jsp"); rs.close(); stmt.close(); conn.close(); } } if(userjb.equals("2")) {stmt=conn.prepareStatement("select * from xxwyb where xxwy_id=? and password=? and role=?"); stmt.setString(1,username); stmt.setString(2,userpassword); stmt.setString(3,userjb); rs=stmt.executeQuery(); if(rs.next()) {session.setAttribute("id",rs.getString(1)); session.setAttribute("pd",rs.getString(7)); flag=false; } if(flag){ %> <script type="text/javascript" language="javascript"> alert("密码错误或无权限登录,请重新登录"); window.document.location.href="dl-index.jsp"; </script> <% } else{ request.setCharacterEncoding("UTF-8"); session.setAttribute("uname",rs.getString(1)); session.setAttribute("upassword",rs.getString(2)); session.setAttribute("userjb",rs.getString(3)); response.sendRedirect("sxxwy/xx-ym.jsp"); rs.close(); stmt.close(); conn.close(); } } if(userjb.equals("0")){ %> <script type="text/javascript" language="javascript"> alert("您还没有选择用户类型"); window.document.location.href="dl-index.jsp"; </script> <% } %> </center> </body> </html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值