Я новичок в разработке webapp, у меня есть этот код login.jsp и registration.jsp, эти jsps должны позволять мне регистрировать in и register, но это не так, я получаю это сообщение об ошибке, когда когда-либо пытаюсь войти или зарегистрироваться. "javax.servlet.ServletException: java.sql.SQLException: не выбрана база данных". прикрепленный к этому - мой код, пожалуйста, дайте мне знать, что делать, исправьте меня, где я ошибаюсь. Спасибо за помощь.Как я могу решить эту ошибку, 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");
}
%>
Сан-Криш, спасибо за помощь! Я добавил имя базы данных, которое разрешено сейчас, но проблема возникает. – beto
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования близких значений) ('null', 'null', 'null', 'null' 'в строке 1 – beto
, учитывая возможность опроса и ответа, если она решит вашу проблему –