我是Webapp开发的新手,我有这段代码login.jsp和registration.jsp,这些jsps应该可以让我登录并注册,但事实并非如此,当我尝试登录或注册时,都会收到此错误消息。“ javax.servlet.ServletException:java.sql.SQLException:未选择数据库”。附上这是我的代码,请让我知道该怎么做,纠正我在哪里错了。谢谢您的帮助。
CREATE TABLE `members` (
`id` int(10) unsigned NOT NULL auto_increment,
`email` varchar(45) NOT NULL,
`uname` varchar(45) NOT NULL,
`password` varchar(45) NOT NULL,
`passwordsignup_confirm` varchar(45) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
login.jsp
<%@ page import ="java.sql.*" %>
<%
String userid = request.getParameter("uname");
String email = request.getParameter("emailsignup");
String password = request.getParameter("password");
Class.forName("com.mysql.jdbc.Driver");
Connection con =
DriverManager.getConnection("jdbc:mysql://localhost:3306","root","shaddy");
Statement st = con.createStatement();
ResultSet rs;
rs = st.executeQuery("select * from members WHERE uname='" + userid + "','" + email + "' and password='" + password + "'");
if (rs.next()) {
session.setAttribute("userid", userid);
out.println("welcome " + userid);
out.println("<a href='logout.jsp'>Log out</a>");
response.sendRedirect("success.jsp");
} else {
out.println("Invalid password <a href='index.jsp'>try again</a>");
}
%>
Registration.jsp
<%@ page import ="java.sql.*" %>
<%
String username = request.getParameter("uname");
String email = request.getParameter("emailsignup");
String password = request.getParameter("password");
String passwordsignup_confirm = request.getParameter(" passwordsignup_confirm ");
String usernamesignup = request.getParameter("usernamesignup");
String passwordsignup = request.getParameter("passwordsignup");
Class.forName("com.mysql.jdbc.Driver");
Connection con =
DriverManager.getConnection("jdbc:mysql://localhost:3306","root","shaddy");
Statement st = con.createStatement();
//ResultSet rs;
int i = st.executeUpdate("insert into members(uname, email, password,) values ('" + username + "','" + email + "','" +password + "','" + passwordsignup_confirm + "'");
if (i > 0) {
session.setAttribute("userid", username);
response.sendRedirect("welcome.jsp");
out.print("Registration Successfull!"+"<a href='index.jsp'>Go to Login</a>");
} else {
response.sendRedirect("index.jsp");
}
%>
您在URL中缺少数据库名称,
DriverManager.getConnection("jdbc:mysql://localhost:3306","root","shaddy");
应该是这样的,
"jdbc:mysql://localhost:3306/test","root","shaddy"
test
您的数据库名称在哪里
更新 :
也是这个查询,
int i = st.executeUpdate("insert into members(uname, email, password,) values ('" + username + "','" + email + "','" +password + "','" + passwordsignup_confirm + "')");
在上面添加一个大括号。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句