关于jsp连接数据库的有关问题
关于jsp连接数据库的问题
我想做一个数据库交友系统,最初做了一个jsp登陆页面 连的是sql2008数据库
然后总是有各种各样的错误
我想达到的目的是 点击提交用户的用户名和密码时 可以和数据库里的相匹配
然后。。。
这是前端页面:
[code=html<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!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=ISO-8859-1">
<title>系统登录</title>
</head>
<body>
<style type="text/css">
<!--
.style1 {...}{
font-size: 18px;
font-weight: bold;
}
.style2 {...}{font-size: 24px}
.style5 {...}{font-size: 16px}
-->
</style>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body bgcolor="papayawhip" background="file:///F|/文档/网站/FIRST/2.jpg" width="300" height="300">
<p> </p>
<p> </p>
<table width="373" height="245" border="2" align="center" bordercolor="null" >
<tbody>
<tr>
<td align="center"><div class="style1 style2">系 统 登 录
</div></td>
</tr>
<form action="NewFile.jsp" method="post">
<tr>
<td height="28" align="center"><span class="style5">用户名</span> <input type="text" name="uid" maxlength="20" style="width:150"></td></tr><br>
<tr>
<td align="center"><span class="style5">密 码</span> <input type="password" name="upwd" maxlength="20" style="width:150"></td></tr><br>
<center>
<tr><td align="center"><div align="center">
<input type="submit" value="登录" >
<input type="reset" value="取消">
</div></td></tr>
</center>
</form>
<td height="23" align="center"></td>
</table>
</body>
</html>][/code]
这是链接的页面:
[code=java<%@page contentType="text/html;charset=utf-8"%>
<%@page import="java.sql.*"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>登陆</title>
<style type="text/css">
<!--
.STYLE8 {color: #990066}
.STYLE9 {font-weight: boldtamen font-size: xx-large;}
.STYLE10 {font-size: xx-large}
</style>
</head>
<body>
<body background="22.43a.jpg">
<%
String JDriver = "net.sourceforge.jtds.jdbc.Driver"; //jtds驱动代码
String connectDB = "jdbc:jtds:sqlserver://127.0.0.1:1433;datebaseName=student"; //URL连接 测试
try {
Class.forName(JDriver);
} catch (Exception e) {
out.println("加载数据库引擎失败");
System.exit(0);
}
out.println("数据库加载成功<br>");
String user = "sa";
String password = "1219lixintan";
out.println("准备连接....<br>");
Connection connection = DriverManager.getConnection(connectDB,user,password);
out.println("连接成功<br>");
Statement stmt = connection.createStatement();
String sql0 = "USE friendmaker";
stmt.execute(sql0);
String name=request.getParameter("name");
String password=request.getParameter("password");
String sql="select * from all where name='"+name+"' and password='"+password+"'";
ResultSet rs=stmt.executeQuery(sql);
while
(rs.next()) {
%>
<%
}
%>
<%
out.println("数据库操作成功,恭喜你");
%>
<%
rs.close();
stmt.close();
%>
</body>
</html>
][/code]
然后我的错误提示是
org.apache.jasper.JasperException: Unable to compile class for JSP:
An error occurred at line: 37 in the jsp file: /NewFile.jsp
Duplicate local variable password
34: String sql0 = "USE friendmaker";
35: stmt.execute(sql0);
36: String name=request.getParameter("name");
37: String password=request.getParameter("password");
38: String sql="select * from all where name='"+name+"' and password='"+password+"'";
39: ResultSet rs=stmt.executeQuery(sql);
40:
Stacktrace:
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:103)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:366)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:485)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:379)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:354)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:341)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:657)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.57 logs.
可能是我没有好好学习java 这个问题实在困扰的我头疼 望大神们抬抬手指给我指条明路!
如果可以的话 求一个小范例 感激不尽 学会定结贴!
------解决思路----------------------
1、目前错误的地方password定义重复了
2、对应的驱动jar包要有且正确导入
------解决思路----------------------
Duplicate local variable password 重复的本地变量password
String password = "1219lixintan"; 定义了数据库的密码 password
String password=request.getParameter("password"); 定义用户输入的密码 password
同一个代码块不能定义重复的变量,给第一个或第二个改个名字就好了
我想做一个数据库交友系统,最初做了一个jsp登陆页面 连的是sql2008数据库
然后总是有各种各样的错误
我想达到的目的是 点击提交用户的用户名和密码时 可以和数据库里的相匹配
然后。。。
这是前端页面:
[code=html<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!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=ISO-8859-1">
<title>系统登录</title>
</head>
<body>
<style type="text/css">
<!--
.style1 {...}{
font-size: 18px;
font-weight: bold;
}
.style2 {...}{font-size: 24px}
.style5 {...}{font-size: 16px}
-->
</style>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body bgcolor="papayawhip" background="file:///F|/文档/网站/FIRST/2.jpg" width="300" height="300">
<p> </p>
<p> </p>
<table width="373" height="245" border="2" align="center" bordercolor="null" >
<tbody>
<tr>
<td align="center"><div class="style1 style2">系 统 登 录
</div></td>
</tr>
<form action="NewFile.jsp" method="post">
<tr>
<td height="28" align="center"><span class="style5">用户名</span> <input type="text" name="uid" maxlength="20" style="width:150"></td></tr><br>
<tr>
<td align="center"><span class="style5">密 码</span> <input type="password" name="upwd" maxlength="20" style="width:150"></td></tr><br>
<center>
<tr><td align="center"><div align="center">
<input type="submit" value="登录" >
<input type="reset" value="取消">
</div></td></tr>
</center>
</form>
<td height="23" align="center"></td>
</table>
</body>
</html>][/code]
这是链接的页面:
[code=java<%@page contentType="text/html;charset=utf-8"%>
<%@page import="java.sql.*"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>登陆</title>
<style type="text/css">
<!--
.STYLE8 {color: #990066}
.STYLE9 {font-weight: boldtamen font-size: xx-large;}
.STYLE10 {font-size: xx-large}
</style>
</head>
<body>
<body background="22.43a.jpg">
<%
String JDriver = "net.sourceforge.jtds.jdbc.Driver"; //jtds驱动代码
String connectDB = "jdbc:jtds:sqlserver://127.0.0.1:1433;datebaseName=student"; //URL连接 测试
try {
Class.forName(JDriver);
} catch (Exception e) {
out.println("加载数据库引擎失败");
System.exit(0);
}
out.println("数据库加载成功<br>");
String user = "sa";
String password = "1219lixintan";
out.println("准备连接....<br>");
Connection connection = DriverManager.getConnection(connectDB,user,password);
out.println("连接成功<br>");
Statement stmt = connection.createStatement();
String sql0 = "USE friendmaker";
stmt.execute(sql0);
String name=request.getParameter("name");
String password=request.getParameter("password");
String sql="select * from all where name='"+name+"' and password='"+password+"'";
ResultSet rs=stmt.executeQuery(sql);
while
(rs.next()) {
%>
<%
}
%>
<%
out.println("数据库操作成功,恭喜你");
%>
<%
rs.close();
stmt.close();
%>
</body>
</html>
][/code]
然后我的错误提示是
org.apache.jasper.JasperException: Unable to compile class for JSP:
An error occurred at line: 37 in the jsp file: /NewFile.jsp
Duplicate local variable password
34: String sql0 = "USE friendmaker";
35: stmt.execute(sql0);
36: String name=request.getParameter("name");
37: String password=request.getParameter("password");
38: String sql="select * from all where name='"+name+"' and password='"+password+"'";
39: ResultSet rs=stmt.executeQuery(sql);
40:
Stacktrace:
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:103)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:366)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:485)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:379)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:354)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:341)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:657)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.57 logs.
可能是我没有好好学习java 这个问题实在困扰的我头疼 望大神们抬抬手指给我指条明路!
如果可以的话 求一个小范例 感激不尽 学会定结贴!
------解决思路----------------------
1、目前错误的地方password定义重复了
2、对应的驱动jar包要有且正确导入
------解决思路----------------------
Duplicate local variable password 重复的本地变量password
String password = "1219lixintan"; 定义了数据库的密码 password
String password=request.getParameter("password"); 定义用户输入的密码 password
同一个代码块不能定义重复的变量,给第一个或第二个改个名字就好了