JSP中连接上数据库不显示数据内容,控制台还抛出数据库密码错误。。明明密码没问题的。

数据库用户密码都对,请高手帮我看下哪里有错误。(附图是抛出的数据库密码错误的异常


<%@ page language="java" import="java.sql.*" pageEncoding="gb18030"%>
<%
String uname=request.getParameter("uname");
String upwd=request.getParameter("upwd");
String s1=request.getParameter("A");
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
String url="jdbc:oracle:thin:@localhost:1521:orcl";
String name="system";
String pwd="Sa123456";
Connection conn=DriverManager.getConnection(url,name,pwd);
System.out.println("连接成功");
Statement st=conn.createStatement();
String sql="select * from shop_user where u_name='"+uname+"'and u_password='"+upwd+"'";
ResultSet rs=st.executeQuery(sql);
if(rs.next()){
conn.close();
if(s1.equals("1")||"admin".equals(uname)&&"123".equals(upwd))
{
session.setAttribute("username",uname);
response.sendRedirect("admin/index.jsp");
}if(s1.equals("2")){
session.setAttribute("username",uname);
response.sendRedirect("index.jsp");
}}else{
System.out.println("连接失败");
response.sendRedirect("fail.jsp");
}
}catch(Exception e){
System.out.println("连接失败");
e.printStackTrace();
}
%>

第1个回答  2012-11-05
从数据库里查询的语句有问题吧,mysql是?代表变量,oracle的查询语句可能不对,建议先查询所有的吧。select * from 表名。 and 前面加空格,对,以前碰到过这个问题
第2个回答  2012-11-05
sqlplus / as sysdba

alter user system identified by manager;

alter user sys identified by change_on_install;

可能是你之前改过默认密码导致的;
还有另外一种就是oracle的system用户远程登录造成的,因为sysdba的数据保存在文件里的,不是库中。

你可以先试验下上面的方法。
第3个回答  2012-11-08
String sql="select * from shop_user where u_name='"+uname+"'and u_password='"+upwd+"'";
这句sql.有问题
放到System.out.println();里看看输出什么,把输出的语句直接放到数据库里查一下
第4个回答  2012-11-07
Eclipse 里是不是没有orcale的jdbc的jar包啊!
第5个回答  2012-11-05
sql语句中的and前面加空格